site banner

Tinker Tuesday for July 7th, 2026

This thread is for anyone working on personal projects to share their progress, and hold themselves somewhat accountable to a group of peers.

Post your project, your progress from last week, and what you hope to accomplish this week.

If you want to be pinged with a reminder asking about your project, let me know, and I'll harass you each week until you cancel the service.

1
Jump in the discussion.

No email address required.

Didn't get a lot of work done this week. I mostly fell into the optimization rabbit hole after I noticed that the bespoke background texture copy system, that I set up to enable infinite scrolling, does get a bit choppy in terms of performance.

Splitting the background into more textures of a smaller size should speed it up enough, and another option I put in the backlog is to lower the color depth by packing the texture into 16 bits instead of 32 (less data, less time necessary to copy it between the GPU and CPU, which was the bottleneck). I don't want to spend too much time on that as the original Alien Phobia games had a screen-sized arena, with no scrolling, and that's what I'm reproducing as a first step.

I did learn something interesting though. It turns out when you read back data from the GPU you have to wait for all scheduled work to finish, so if you do so after you dispatch the compute shaders, instead of before, you incur a penalty. In the end I could shave off an entire millisecond of each physics frame just by changing where the GPU reads are called from.

How have you been doing @Southkraut?

Thanks for asking.

I tried modelling 3D characters in the Unreal Engine, but found the tooling very cumbersome to use. I'm sure there's a way, but I did not stumble across it yet. Maybe a tutorial would help. Keep in mind that I'm a newbie at manual modelling; I've only ever constructed meshes procedurally through code, vertex by vertex by edge by triangle. So I switched back to Blender for now, which I found more approachable. I'll probably regret it when the time comes to import the models and animations into UE, but so be it for now.

Wanted to try out the new UE5.8 features, Mesh Terrain and MetaHuman. Mesh Terrain is fully 3D terrain, as opposed to a mere heightmap, which seemed like a straight improvement to me - but sadly, the tooling it purely manual, there's no API for procedural generation, so it's straight outside of my use case. MetaHuman was advertised to me as trivializing the animation of humanoid character meshes, doing all the rigging, skinning and animating, so I figured - great, no need to learn those skills, God bless technology. But as it turns out, MetaHuman is just horrendously overbuilt for my modest plans, and I would probably spend more time trying to shut off parts of it (like the 600 facial bones, or the meticulously simulated hair) for ease of use and for performance. As it turns out, it's for cinematic animation, not baby's first low-poly.

Wrote a chunky bit of design documentation on a simpler game, as opposed to the simulations I normally try to build. I'm fairly eager to try it, I like the idea. But "simpler" is a bit of an overstatement, large parts of the document are still "Just make the rest of the game here.". Still, I think it's a decent design overall, since it has iterative development from a very simple minimum-viable-prototype onwards built in.

Then, because I felt like I hadn't done anything sufficiently derpy yet, I went on to pen an atrociously oversimplified pseudocode algorithm for collision resolution tuned towards simulating weapon impacts, leaning onto an earlier attempt I had made for my Unity project that never quite got finished. Like so much.

And then I wrote down a little more lore, thought to myself - "Wait, didn't I write the same thing twenty years ago?", and started wondering where I might find those old documents. It's fun to read my own old writing, sometimes. Old me often surprises new me. Haven't found them yet, but they might still lurk in some old zip files.

I want to get the first 3D model done ASAP so I can get to coding, but it's a busy week at work. Maybe the weekend.