Hello again!

Five weeks ago, I paused this blog and the accompanying video series on account of not being able to openly discuss the work I was doing. I’ve wrapped up those tasks, and after spending a little while on a demo build of Gunmetal Arcadia Zero for events, I’m back to full-time development on the roguelike Gunmetal Arcadia. (In fact, if memory serves, this is the first time since last April that I’m not splitting my time among multiple projects, so that’s cool.) I’ve covered a decent amount of ground in the last few weeks, so let’s get going.

That console thing

The console port work I’ve been awkwardly not talking about was investigative in nature. My intent was not to have a shippable game at this time, but to prove that it would be feasible to port my engine to a home console at some point in the future. As of the time I wrapped development on this task, I had a functional version of Gunmetal Arcadia Zero running on the console, with rendering, audio, input and more all working correctly. This implementation has a number of known memory leaks, particularly in the new rendering code, but nothing that couldn’t be solved in a day or two. That’s not to say this build was anywhere near cert-compliant, and I would estimate another month or two of work to bring it from this first playable state to a shipping build, but it’s definitely within the realm of possibility, and I consider this investigation a success.

Recent work

I’ve been making some incremental improvements to the procedural level generation scheme I documented back in May. The levels it builds are now somewhat more interesting and plausible as gameplay spaces and offer more room for tweaking and tuning as I continue making progress. Fundamentally the concept is the same: construct a path through a region of a predetermined size and then choose prefabs that meet the appropriate conditions; the difference is in how I construct that path. I now differentiate between one-way and two-way vertical traversals, an important concept in a 2D platformer, as it turns out. It’s also more tolerant of empty spaces, resulting in fewer narrow, twisty paths. I expect it will still require a great deal more work before shipping, but it’s getting better all the time.

Besides constructing the physical space of levels, I’ve been doing some work on specifying the intent of individual rooms within a level, which in turn will notify other systems of how they are to operate. For instance, rooms can be flagged as generic combat spaces, treasure rooms, shops, and so forth. This affects the types of entities that can be spawned in those rooms, so for instance, enemies can spawn in combat spaces but not in shops.

I’ve also been stubbing out a framework to support one of the tentpole features of Gunmetal Arcadia, the notion that each session affects the next in clear ways. This has involved tearing apart the saved game code from Zero, which is fine; Zero exists in a separate source control branch so its code is safe, and the saved game code I wrote for it was never intended to be general-purpose enough to encompass my needs for the roguelike game as well.

Oh yeah, I finally started writing some new music for the first time since finalizing the Zero soundtrack in early March. It’s not much yet, but with some better instrumentation, this could be something.

A new schedule

I’ll have a new video up on Wednesday as per my typical schedule, but starting next week, I’m shaking things up a bit. Videos will go up on Tuesday, with the written blog following on Thursday. This should fit my schedule a little better and hopefully eliminate some of the awkwardness of filming the video before the blog and having to guess at what I’ll be covering in each.

Speaking of schedule, it’s probably worth mentioning that my pace has necessarily slowed a bit. I can’t really work evenings and weekends anymore, so I’m on a rigid 40-hour work week now.

That being said, I still feel like I can believably hit a Q1 2017 launch window. I had originally hoped to have both of the Gunmetal Arcadia games out by the end of 2016, but launching in the holiday season against the AAA heavy hitters feels optimistic at best and willfully irresponsible at worst. Pushing it back to early 2017 makes more sense and still falls within my budget.

Something new

If you follow me on Twitter, you may have seen me talking about “the next game after Gunmetal Arcadia.” This project, codenamed “Banon” and tentatively titled Oaks, is the “other idea” I mentioned a couple months back. I’ve poked around at some concepts for rendering tech for that game over the last few weeks, but I don’t intend to start doing any serious development on that one until Gunmetal Arcadia is done. My time is too limited at the moment to split among multiple projects. But it’s an exciting concept, and I’m taking lots of notes and assembling reference materials, and some of that will undoubtedly spill over onto Twitter.

I don’t have any more events this summer, at least until October and Retropalooza, so hopefully the next few months will be a return to the sort of productive schedule I’ve maintained in the past, or at least a reasonable facsimile thereof in the more limited time I have.