Shipping Things Properly

Today was entirely infrastructure: no gameplay code touched, no rendering bugs fixed, but it felt like a necessary kind of progress. The project now has a real release pipeline. Push a tag, and GitHub Actions builds Linux, Windows, and a combined PortMaster zip for both aarch64 and armhf, all in parallel, and assembles a GitHub Release automatically. That is the kind of thing that is easy to put off indefinitely while you convince yourself it can wait until later. It cannot wait until later. ...

March 16, 2026 · 2 min · Craig Chandler

A Proper Main Menu Again

Today is less about raw speed and more about making the handheld build look like a proper game again. I have cleaned up the data rebuilds and Linux packaging, refactored the main menu script, cut out the unused options path, and the whole front now works cleanly. More importantly, the main menu is now functional instead of crashing when I drive it with the control keys, which makes this feel a lot less like a renderer demo with ambitions and a lot more like an actual build.

March 15, 2026 · 1 min · Craig Chandler

Finally Usable On Device

I am still working through a covid fog, so concentration is poor and progress is arriving in short useful bursts instead of clean, sensible sessions. Still, late last night I finally got the PortMaster build to usable speeds on the Anbernic after all the GLES2 and render-queue work, and that changes the mood of the whole thing a bit: it no longer feels like a theoretical handheld port, it feels like something real enough to keep pushing.

March 14, 2026 · 1 min · Craig Chandler

Covid Hits

Covid has hit today, which is irritating timing. I can still poke at things here and there, but concentration is already going soft around the edges, so I am expecting the next few days to be more about hanging on to the thread of the work than doing anything especially elegant.

March 9, 2026 · 1 min · Craig Chandler

Deciding To Target GLES2

Today feels like the point where I stop treating GLES2 as an experiment and start treating it as the PortMaster target. The reasoning is fairly plain: there is already a real direct GLES2 path here rather than just SDL’s backend doing the work for me, the device build wants that renderer to be the default path, and if I am going to get proper handheld performance it probably comes from pushing batching and draw ownership deeper into the renderer instead of staying close to the old immediate-style SDL flow.

March 8, 2026 · 1 min · Craig Chandler

Housekeeping, Safer Strings, And Starting A Diary

Today split itself between cleanup and storytelling: one branch did a broad safe-strings pass to make old text-handling code less fragile, while another added site generation files and the beginnings of a public project diary. That felt fitting, because from day two onward this repo had become both a WizBall rescue mission and a hands-on lesson in managing coding agents, with Codex and Claude via GitHub Copilot doing most of the typing while I learned how to brief them, review them, and stop them from confidently wandering off into nonsense.

March 6, 2026 · 1 min · Craig Chandler

PortMaster Gets Real

This was the day PortMaster support stopped feeling theoretical: a substantial compatibility refactor landed, packaging moved into a proper portmaster/ area, docs and performance notes were reorganised, old bundled libraries were thrown out, and the renderer/platform work bent further toward the realities of handheld Linux hardware. By this point Codex and Claude via GitHub Copilot were doing most of the implementation heavy lifting, and the real project for me was learning how to manage coding agents well enough to keep the speed benefits without letting plausible nonsense sneak into the codebase.

March 5, 2026 · 1 min · Craig Chandler

Thinking About The Handheld Future

Today the project started looking properly toward PortMaster, with more old window-management pieces cut away, PortMaster-focused docs and Docker setup added, a launcher script put in place, and the renderer pushed further toward portability rather than desktop-only assumptions. It was also the kind of structured engineering work that suited the new workflow well, with Codex and Claude via GitHub Copilot doing most of the implementation legwork while I focused on steering, checking, and making sure the end result matched the real goal rather than some beautifully wrong robot interpretation.

March 4, 2026 · 1 min · Craig Chandler

Showing Allegro The Door

This was one of the big days: a lot of the remaining Allegro-era runtime code was ripped out or replaced, input moved further onto SDL with proper scancode mapping and joystick support, sound and renderer code lost more legacy baggage, and the project felt much more committed to its SDL2 future. Codex and Claude via GitHub Copilot did most of the heavy lifting on the broad refactors, while I learned the increasingly useful skill of telling when the robots were being genuinely helpful and when they were just very energetically wrong.

March 3, 2026 · 1 min · Craig Chandler

Less Code, More Progress

Today was a reminder that sometimes progress looks like deleting code without setting the building on fire: unused texture and blending functions were cut, display scaling was simplified, and the SDL2 renderer path got less tangled up with leftovers from the Allegro/OpenGL era. This was also good coding-agent territory, because Codex and Claude via GitHub Copilot are quite happy to take first passes at pruning and simplification, provided you keep a close eye on them and make sure they have not removed some bizarre old ritual that was secretly keeping the whole game stable.

March 2, 2026 · 1 min · Craig Chandler