Grab Bag 27

This week marks another special guest appearance from Super Win the Game. I know, I know, I want to go back to writing about Gunmetal Arcadia, but I’m full time on Super Win for now, so that’s what I’m covering. But hey, at least there’s a shiny new header image! I got the random urge to paint a scene from Gunmetal over the weekend, and that’s what I came up with.


Last week, I mentioned that I had prototyped attachment of player ghost data to leaderboard entries. This week, I wrapped up that work and implemented a leaderboard UI. Your fastest time will be recorded for each speedrun course. When playing offline or in non-Steam builds, you can view your own personal best times and race against your own ghost. When connected to Steam, you can view all players’ time and race against any other player’s ghost. All the usual¬† Steam leaderboard modes (global rankings, personal ranking, and friends’ rankings) are supported.


I’m making slow but steady progress on the courses. Level design was one of the most tedious parts of making Super Win the first time around, and I’m definitely starting to feel that slog again, but I’m excited about the new challenges I’ve built. I sort of expected to feel like I had already done everything I could do with the content available, but I’m finding some interesting new ways to piece things together.

I’m continuining to support the analgyph 3D mode going forward, so I fixed up the minimap to play nice with this feature. Depending on whether I foresee doing any more major updates for Super Win in the future, it may be worth refactoring this feature to clean up a lot of copy/paste code that exists across the codebase.


Last month, I updated Super Win to include a language option in the menu. The game only supports English by default, but additional languages can be added by players, and a Russian translation is currently available in the link above. I realized shortly after publishing this update that some strings which had already been retrieved in one language were not updating immediately after changing the language. In most cases, continuing to play as normal would fix the problem, and at worst, exiting and restarting the game would always fix it, but I wanted a real solution and not a workaround. To that end, I’ve written a language-sensitive interface that classes may implement if they need to respond to the game language being changed. So far, I’m only using this in one place, for updating key prompts that had already been cached, but in the event that more of these bugs pop up, I’ll have a better way of handling them in the future.

As I’ve been writing music for Gunmetal Arcadia, I’ve rejected a few pieces for sounding too much like they belong in Super Win. I want Gunmetal to have its own unique sound, and even though I’m reusing the same synthesizer tools I wrote last year, I’m trying to lean more on minor key melodies and weird, chaotic compositions. Not everything I’ve written has fit that bill, and a few tunes have been cut. But as I was thinking about new content I could add to this Super Win update, a couple of these felt like they’d be a perfect fit.

This short loop plays inside the Hall of Speedruns, located in the Town of Lakewood. This is where you can access the speedrun courses and view the leaderboards.

This is probably going to be the background music for the “Old Arcadia” course, or possibly one other that I haven’t started building yet. Or both. We’ll see. It’ll go somewhere.


This Wednesday marks the third birthday of the original You Have to Win the Game and one year since it landed on Steam. I poked around in the source code a day or two ago to remind myself what state it was in. Last June, as part of the neverending struggle to support a wider set of Linux installs, I attempted to merge in some then-recent engine changes and build a 32-bit executable. It failed, I rolled back the version on Steam, and ever since then, the code in my repository has been out of sync with any published version and not really in a good place to rebuild the game if I had to. So I finally took the opportunity to roll back some of the more problematic changes and at least get back to a state where I can build the game as it appears on Steam today. I don’t know whether that will go anywhere. A few months ago, I considered adding a Super Win upsell screen when starting or exiting the game, in essence to frame it as sort of a demo for Super Win, and I suppose this puts me in a better place to do that, but I’m still on the fence there. On the one hand, it’s kind of tacky. On the other hand,¬†YHtWtG is about two orders of magnitude more successful than Super Win but doesn’t generate any revenue, so it feels like a wasted opportunity.

I’ll be out of town next week as David and I are taking a trip to Nebraska to gather ideas for a future title and visit our college on the ten-year anniversary of our graduation, but I’ll be sure to have something ready by next Monday, even if it’s just Polaroids from the road.