I’ve been tackling a lot of rough edges that came up with the live playtesting.

The main menu for The Patchwork Ship
The main menu for The Patchwork Ship with updated fonts, versioning, and fortune cookie.

As I incrementally built up the game, I iterated through multiple fonts; some for aesthetics, some for functionality. What resulted was that I had a ton of fonts installed, but not a lot of consistency. I started with an issue with extended characters not showing, and that revealed a much bigger problem. I ended up swapping almost all fonts throughout the entire game with a low number of highly reused fonts. That also means all interfaces have access to the primary set of font faces; regular, italic, bold, and bold + italic.

I overdid font consolidation a bit, because I swapped out the font used for the game logo, and I think I need to retain it or choose something else. It’s good to have a different font for the logo than what is used for interfaces. I’ll probably revert the logo change for now, pending work with a designer.

As I was cleaning up fonts, I added more consistency with themes. For example, there are currently four terminal themes where the primary variation was color, but I was having to hand edit them and there were inconsistencies. I now generate those variations, so if I ever want to add something other than amber, red, white, and green, it’ll be trivial.

Architecturally, I’ve started moving some functionality to plugins; some of it is for reusability potentially across projects, and others were for encapsulating functionality so I could build without it.

One of the action items was missing debug information, such as the build and seed, which is useful if a bug or defect occurs and I’m looking at just a screenshot or video. I wrote a plugin that, on export, writes the version information to a file that is read and displayed. As I’m writing this, I realized that I’m generating executable code when I should have generated JSON with the metadata and read that. Whoops.

After upgrading GodotSteam, I moved the configuration into its own plugin as well. While Steam and Steam Input support are primary goals, I’m going to be making an Itch build for playtesting and building momentum. My goal is to generate all the artifacts through CI without any manual configuration.

Throughout development, I’ve gone through several stages of controller support. One of the requirements for Steam Deck Verification is first class controller support and contextual icons. I started with Controller Icons, then removed it in favor of GodotSteam. However, Steam Input won’t work with Itch builds, so Controller Icons is back, but implemented cleaner than before. I wrote a custom button class that supports glyphs with some logical defaults and that’s been saving me a lot of time.

As part of the controller support, I added next and skip buttons to dialogs and cut scenes; the listener for the event was already there, but there was no UI element that indicated it was possible.

The map for the first stage of The Patchwork Ship
The map for the first stage of The Patchwork Ship, with the star Antares and better contextual guidance.

The map probably got the most obvious work. The star Antares is now visible, giving context for your journey. Map generation is cleaner than it was before, with better fitness around avoiding repetition. The reticule system was reworked to only go over possible nodes, which throb to get attention.

I can’t wait to playtest these cleanups, but I can and must, because there’s a lot more to do. I want to avoid redundant feedback. While I do want to be in the upcoming Steam Next Fest and I have an August deadline for applying, I only get one chance at a first impression. I’m going to instead aim for fixing what I know about and getting it on Itch. Then, when I’m satisfied with the iteration and stability on Itch, I’ll look to scaling up to Steam.


Have you wishlisted The Patchwork Ship on Steam yet?