Archive:

Subscribe:Atom Feed

First Blood

Posted: 06 March, 2026

The Egg can officially be smashed. It's a milestone day. There're a couple of new things in this video, so lets rattle through them:

Paths

At $Dayjob, a while back, I added support for arbitrary Animation Curves, that we could attach to scalars & vectors, to ease colours, positions, alpha and scale. And I knocked up a little editor, based on Unity and Unreal's curve editors. It's super useful, so I quickly ported a lighter weight version of the same thing to C. And then extended it, to allow for arbitrary length paths.

One of the great things about getting old is you get to leave no code behind. This very much the same idea and implementation as that old Neutrino stuff, under the hood.

The path evaluation is simple, leaving objects that want to move along them to decide if they want to move at constant speed, or over a fixed duration.

Sprite Group Traps

The editor allows me to place an arbitrary number of sprites, group them, and assign a gameplay tag and path to them. Triggers emit gameplay tags and sprite groups consume them. For now, by deciding to move along a path. Either once, continuously looping, or ping-ponging.

Ultimately I'm going to insert a middle man, Foxy twiddlers between these, so more complicated, chained events can occur. I have the code for these lying around, it just needs a little tidy-up.

Particle System

This is my particle system. There are many like it, but this one is mine. My particle system is my best friend. etc.

The particle library was something I knocked up over Xmas. The only addition made to it, this week, was adding the option for particles to collide. As you can see, it needs some fettling. The bounce is set too low, and there's no friction, so particles are pooling and sliding all over the ground. Both should be fairly simple to fix. The great thing about working at this resolution: there're only 80k pixels on the screen so I could (probably) blow everything up without breaking into a sweat.

The particle system uses the EH500 pixel buffers, which have a four colour limit, so you're not seeing anything fade out smoothly. This was an intentional limit, but I'm going to setup the buffer with a palette of four whites, of increasing transparency, then tweak the particle system to pick a colour slot based on each particle's TTL. Should improve the look a bit.

QoL

You can see from the video, there's no quality of life stuff in the build atm. I need to lock the controller out for a few 100ms after level load, there're no transitions, and no debounce on restart. I'll tidy all that up at some point.

Eggnob Level editor

This warrants a much longer, in-depth post, because it's been a fun experiment. A bespoke editor was definitely the way to go. It does what I need for each feature, and only what I need. That's beyond liberating, in a way that I wasn't expecting. And doing all this while resisting the urge to add features to the EH500 has been the most fun I've had developing games in a very long time.

Previous Post: Pixel Love
Lumo 2 Dev Journal

Musings, random thoughts, work in progress screenshots, and occasional swears at Unreal Engine's lack of documentation -- this is a rare insight into what happens when a supposedly professional game developer plans very little up-front, and instead follows where the jokes lead them.

Journal Index

Friends:

If you like any of my work, please consider checking out some of the fantastic games made by the following super talented people: