Late Edition

With one week left dedicated to level design, I’ll be wrapping up the last couple of loose ends I haven’t dealt with yet. This includes bosses, possibly a short epilogue level as mentioned in Tuesday’s video, a better implementation of narrative NPC rooms (better environments at the very least, even if the narrative elements are saved for later), and any more prefabs I feel are missing.

My goal is to include every boss and miniboss from Gunmetal Arcadia Zero in Gunmetal Arcadia, plus some additional ones. I’ve already shown a little bit of my work on the faction bosses, and there’s another “final final boss” or “true final boss” that I haven’t shown at all yet. Beyond those, I have the six bosses and minibosses from Zero to randomly distribute across the four-level sessions in this game. I’m building these in such a way that it would be potentially easy to add more in the future. Although I don’t currently have any plans for post-launch work, I want to leave the possibility open, and increasing the breadth of available content feels like it would be the most effective course of action in that case.

The epilogue level, if implemented as I’m imagining in my head, will only be one or two rooms long, and it will essentially just serve as a way to make one final choice that will directly affect the next session. This will also be the payoff for a hook I placed at the end of Gunmetal Arcadia Zero with no explanation at the time. (No spoilers if you haven’t played that one yet.) This might also be where the faction bosses end up landing, as a sort of unexpected twist right before the end.

The narrative NPC rooms are an extremely late addition to this game, and I’m still figuring out exactly what information these will convey. I’m imagining they could serve as a sort of status update on pending legacy events, in order to give the player a chance to pursue a specific goal to influence a future session. None of that exists at this time, however, and there are probably a number of technical hurdles standing in the way, so I don’t want to commit to anything specific yet.

My time may be divided among a couple other things next week (and the one after that, and so on), and I don’t yet know what shape the next video and blog will take, but what I do know is that by next Tuesday, I’ll be done with level design by necessity and I’ll be moving on to items. November is largely a big question mark right now, but I have at least a handful of specific tasks in mind to get me started. (First and foremost will be reworking the faction sigils to better represent some longstanding goals of this game.) And maybe I’ll try to find a way to cram the 80-hour weeks I need to be working into the 30-hour weeks I have.


rlga_level1 rlga_level2 rlga_level3 rlga_level4

I’m halfway through October, which means I should be halfway done with building levels. The city and hive prefab sets need a lot more attention, and the forest isn’t completely done yet, either. I can probably get those into a state I’m happy with by the end of this week, which will leave the last week of this month for level-related tasks like figuring out which bosses and minibosses will appear in each level, specifying which enemies may appear where, and so on.

I’m not yet sure when and where narrative NPC design will fall. It’s not going to be a huge part of the game, but I want the opportunity for narrative NPCs to appear at the start, middle, and end of every level, in order to provide some context and lore. These characters may also provide feedback and insight into ongoing legacy events, which would mean this feature could be closely tied to the legacy system, which I’ll be tackling in December. That might end up being the most appropriate place for it.

I introduced the Wayfarer from the Win the Game series as a playable character late last week, which couldn’t be further from level design work, but it was something that had been a goal of mine for a while, and its absence was starting to become worrisome. I’d imagine the next few months will probably be full of these sorts of random “get it done before it’s too late” sort of tasks, for better or for worse. The updates from Tuesday’s dev stream to the cost of healing at inns and loot drops from stone chests are good examples of these sorts of things, too. They don’t fit cleanly into the “levels-items-legacy” path I’ve laid out for the last three months of 2016, but they’re important, and the sooner I get a first implementation done, the longer I’ll have to test and tune them.

Bespoke Coding


My plan for last week was to plow through the entire city prefab set, but as I started working on that one, I realized it would be easier to start by stubbing out each level, and that led to solving problems of decorating the forest level. As I discussed in Tuesday’s video, there’s a few more pieces left to add here, procedurally placing trees and stumps and silhouettes of distant trees, but it’s starting to look and feel how I’ve been imagining in my head, so that’s exciting.

This has required a fair amount of one-off implementations in code (“bespoke coding,” if I want to make it sound fancy and not terrible), which is something I usually try to avoid in favor of generalizing systems and allowing data authored in the editor or external markup sheets to drive these systems. That’s a trait I picked up working on the Borderlands series, and it’s generally served me well in my solo projects too. But in this case, time is not on my side; I have a finite number of known use cases, and I’ll take whatever option lets me wrap this work up quickly. It would cost me more (time and therefore money) to try to generalize these patterns than it would to make some small changes to large amounts of copy/paste code. So in this particular scenario, good programming practice takes a backseat to just getting it done.

Anyway, I’ll be tackling those remaining issues of decoration this week, plus stubbing out the fourth and probably final level, the Unmade hive. This one will presumably require some of its own unique decoration work, as each of the others has, and once that’s done, then I can begin putting together prefabs for all four levels.

In-Dev Build #14

Changes since previous version:

  • Added Vanguard and Seeker faction bosses
    • Currently allowed to appear in any level
  • Added City and Wilderness levels
    • Currently only contain the minimum required prefabs
  • Added stone treasure chests
    • Currently only contain normal coin and gem drops
  • Added item icon support
    • Currently only used for faction sigils

Mac OS X: GunArc.dmg
Linux: GunArc.tar.gz

The Path of the Beam

The first thing on the schedule this week is to clean my office. Since RTX back in July, I’ve had all the boxes of materials I use at events stacked up several feet deep behind my chair to ths point that I could barely move in here. It seemed easier than playing Sokoban with my limited closet space once to put everything away, once more to get everything back out for Retropalooza, and one final time to put them all away for the year. Now that I’m done with this season of events, I’m putting all that stuff away, and throwing some of it away, as in the case of years-old Super Win flyers that I’ll never use again. My office is still more crowded than I’d like (such is the nature of trying to tackle every aspect of development from a single bedroom), but at least I can reach my bookshelves again.


The plan for October is levels. Over the next four weeks, I’ll be working on new prefab sets based on a few of the tilesets seen in Gunmetal Arcadia Zero, including the city, wilderness, and hive. This will likely involve some additional code support, as these themes may involve some new rules that the catacombs set has not.

The city is up first. This is where each session will start, and necessarily where any training and tutorialization will have to happen. I’m not yet sure how that will work in this game, whether it will be an optional leg of content that can be skipped or replayed as desired (as in Spelunky), or whether the game will look for opportunities to introduce new mechanics dynamically when a fresh save file is started (as in, uh…some popular game that did that). But those are the problems I’ll be solving over the next couple of weeks.