Save And Continue No Longer Feels Painful

The save-and-continue work has had a very welcome second phase: it is now fast enough to feel reasonable on the low-powered handheld target rather than like an awkward proof of concept. That matters more than it probably would on a desktop build, because a feature designed around short play sessions immediately loses its charm if stopping to save feels like a long interruption. I am deliberately not going into all the engineering detail here, but the broad story is simple enough. The problem was not really the size of the save file on its own, it was the amount of unnecessary work wrapped around it. Tidying up that hot path made a much bigger difference than trying to shave a few bytes off the file itself. The end result is that save and load now feel brisk enough that the whole idea of dipping in, suspending a run, and coming back later makes sense on device. ...

March 20, 2026 · 1 min · Craig Chandler

Making It Easier To Dip Back In

One thing that keeps coming back into focus is that the handheld version really wants a proper save-and-continue feature. Not because save systems are glamorous, and not because I am trying to turn this into some giant modern progression layer, but because the whole point of having WizBall on a small device is that I can pick it up for five or ten minutes and make some progress. Right now the shape of the game still assumes a longer, more deliberate sitting. The hardware is asking for something more interruptible. ...

March 19, 2026 · 1 min · Craig Chandler

First Release Into The World

Today was the first time this stopped being purely an internal project and became something I could actually hand to other people. I cut the first proper release, let the pipeline do its work, and then submitted the PortMaster package for testing. That is a very different feeling from getting a local build running on my own device. Local success still leaves plenty of room for invisible assumptions; handing it over for PortMaster testing is the point where those assumptions get interrogated by reality. ...

March 17, 2026 · 1 min · Craig Chandler

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