Blog

LD50: It was inevitable » posted Sun Apr 10 01:46:02 PM EDT 2022

Hello once again, my dear blog. The last few months have been very busy between school, work, and projects, it's felt like a couple years by itself. After a considerably longer break than I had hoped to take, I'm now back at school, and have another successful semester down. The eternal lockdown tedium is lifted at last, replaced by a strange alternate reality that feels vaguely similar to life before the coronas. The classes were very time intensive, so naturally the first thing to slip was work on my engine, alas. After finishing the semester, I decided to revisit an older project that I'd been working on, a Go AI based on monte carlo tree search (MCTS), rather than getting back into gamedev stuff right away.

So, that's what's been up. Recently I've just finished an entry for Ludum Dare 50, based on the cumulative work that's been done on my game so far. My entry for this jam was "The Fight Scene" (source here) , essentially a short tech demo showing off some of the improvements I've made. The game is developed on the growing "template" project that is the game I've been working on. So, definitely check it out if you're interested in seeing the current state of things. Ignore the animations and light maps, I'm a terrible artist, and needed to keep it small for the web. :P Notable feature additions: per-character animation state, animations split across multiple files (for reusability), particles that emulate physics, some lighting fixes, etc. Not featured in the game is a raymarched fog shader.

With LD50 over, I plan to do some major overhauls of my engine, including new, solid UI stuff, scripting (probably won't be done by the next jam), adding a more flexible rendering pipeline, and so on. I also want to start doing more frequent posts to get some buzz on the social medias, so I'll probably start doing smaller, bite-sized demos and maybe some tutorials rather than ad-hoc bi-yearly digests.

The Grend Digested » posted Thu Jun 3 06:14:22 PM EDT 2021

Many ages ago, in a time long forgotten, I had posted a post which foretold the coming of another, greater blog post. One that would shake the foundations of this blog and usher in a new age of Good Content. This promise brought great hope to the disperate colonies desperate for Good Content, but as the eons went by, rumors began to spread... Perhaps there was indeed no Good Content to be found? Had there ever been Good Content to begin? Worry crept over the lands, afraid that no such content would ever be created...

Until now. Worry not, my friends, for that post is here. :O

So, unlike my last post, I haven't done anything that I had intended to do at the conclusion of the last post. I've gotten a bit sidetracked, but I think the new direction I'm going in is better anyway.

What's new:

[truncated, read more]

The Grend quarterly report » posted Sat Jan 9 05:40:31 PM EST 2021

Hello again, dear blog. New year, new me, new engine stuff, new games, new president. Lots of new stuff, yessir. I'm pleased to announce that every major milestone in the previous post was reached. Yup, that's right, we now have:

And other small fixes here and there. The engine is really starting to take shape, looking like something you might plausibly use in a modern game if you squint hard enough. Anyway, enough bullet points, here's some quick screenshots of where things are.

[truncated, read more]

Ludum Dare 47: How'd it go? » posted Fri 9 Oct 2020 21:36:00 PM EDT

I participated in the Ludum Dare game jam for the first time last weekend, putting my engine to the test, and came out with a not-too-shabby game. It was a ton of fun, I've lurked around Ludum Dare for a while, playing games from it occasionally, but it's a very different (much more interesting) experience when you're participating. Many coffees were drunk, many a cool person were met, a good break from the eternal lockdown tedium... Overall just a good time.

So what did I end up making, you ask? The theme for this jam was "Stuck in a Loop." I decided on a space-age FPS set in a "loop" ship, since I already had a first-person camera controller implemented and everything. The Ludum Dare page for it is here, and the webgl build of the game is live here, if you're inclined to try it out. Objectively speaking, it's not very good; things are broken all over the place, assets are all sorts of jank, but: it does represent a real, playable game with animations, sound, and UI, and so it's a big step for my little engine. Where it's at now is basically the minimum viable engine.

[truncated, read more]

Game Engine Progress: Lurking in the Shadows » posted Mon 22 Jun 2020 12:57:44 PM EDT

More engine development stuff! This month has been a bit slow in terms of new features, as I've been busy trying to figure out what the h*ck to do for the fall semester. Alas... The most notable addition is dynamic shadow and reflection maps, done using a texture atlas cache sort of thing similar to Doom 2016. Otherwise, I've spent time doing desperately needed housekeeping and bug fixes, and some small quality of life improvements.

Without further ado, here's some pictures:

[truncated, read more]

Game Engine Progress: Month 4 » posted Wed 20 May 2020 07:34:09 PM EDT

So quite a lot has happened since my previous post. A 100-year plague has ravaged the earth, the markets have collapsed world-wide, and a new Doom has been released. In the midst of the ongoing apocalypse I happened to make some substantial improvements to my engine:

(Spoiler: it doesn't run on my atom n270 anymore :/)

[truncated, read more]

Game Engine Progress: Week 1 » posted Wed 29 Jan 2020 03:18:33 PM EST

After excitedly spamming a few (very understanding (mostly indifferent)) channels with my progress on writing a 3D game engine from scratch, I decided that this would be a good time to move my blog to a more proper place. So, here's a digest of the progress I've made after about a week of working on the engine, complete with neat videos. The engine is written in C++, using openGL as the graphics backend and SDL2 for input and window management.

Note: There's about 30MB of videos here.

[truncated, read more]