Riding the high from finishing a game I hadn’t worked on in a long time last week, I tried to repeat the success this week and didn’t quite get all the way there. I got very close, though! I hate making predictions like this, but I think it’s pretty safe to say that I should have a new game out by next weekend.
OneTurnTactics
This game isn’t quite as old as the last one; I started this back in April for the Week Sauce jam. The theme was “chain reaction”, and after some thinking I hit on a certain aspect of games like Into the Breach – that place where you’re certain you can set up the chain of events needed to finish the level out in one turn, and even though you could just finish the level normally, you just keep trying to figure out how to do it in one go anyway.
So why not make a game where you only get one turn, and call it OneTurnTactics?
The game ended up being technically more complex than I really intended, which was totally on me running with an idea without fully planning it out. I think I’m probably still going to squeak in roughly within the seven day timeline of Week Sauce, so I’m okay with that. At this point, I’ve got all of the technical and art work done, and I’ve created levels for a tutorial to gradually introduce every unit. All that’s left is to create a small pack of levels for the “campaign” of the game.
The basic gameplay is based on a grid “board”, with enemy units and various kinds of tiles (impassible things like trees and rocks, or spike pits that damage anyone who moves into them) on it. There’s an action queue on the left of the screen with gaps in it that the player can fill in with units of their own – each level has a defined “hand” of units, and the player can place them anywhere on the board, as long as there’s still an open slot in the action queue for it. Then, the player hits GO and every unit acts in order. After every unit acts, the level is over – if all of the enemy units have been defeated, they player wins, and otherwise they have to start over and try again.
The game has two different modes, the standard play mode and a sandbox mode. The sandbox mode wasn’t really part of the original plan, but I realized that it was going to be a huge pain to try to set up levels usefully by just writing out the data structures by hand in code – even just while testing out the units as I implemented things – so I decided I’d just build a mode that let me put down whatever units I wanted and let them run.
That led to me wanting to be able to easily reload different testing setups, so I wrote some serialization code to save out the current state of the board out into a string. It’s a fairly simple binary representation of the level, encoded into base64. I threw in a way to export the string for a level, and to load a string into the sandbox. This means that I had an easy way to just save the testing layouts into a text file and reload them as needed.
From there it was simple enough to just make a “campaign” of levels that was just a list of those base64 strings. It also means that, theoretically, players could make their own levels and share them if they wanted. No sense in taking out the tools I’ve built for myself, since they’re already in the game. Also, as I wrote the tutorials, I realized that I didn’t actually want to put the tutorial levels at the beginning of the “real campaign”, so I quickly hacked in a way to let the player pick from a list of campaigns when they start the game.
Like I said, since I just need to finish a few levels (since this is a jam game I’m not worried about making a particularly long campaign), and I’m done!
And Then…
I’m not entirely sure what I’ll be focusing on next. I’ve been thinking a lot about I’d like to work on, and when I look at the stuff I’ve actually released, I really feel like I want to focus on a project with more story – the games I most want to build are largely story-driven, but I’ve been a little too focused on practicing the technical aspects of building games.
There is a reason for this, of course. I’ve struggled with finishing things for most of my life (I definitely fit the classic “starts a million projects, never finishes any” stereotype) and one thing I figured out a few years ago is that if I work on a game that I “don’t care about”, it’s a lot easier to finish. Obviously I care about them at least a little, or I wouldn’t even bother at all, but I keep my expectations very low to avoid perfectionism from creeping in and stalling me out forever on progressing. They “have” to feel a little bit throw-away, especially the story.
That’s been useful for practicing getting games done and released, but it’s not very useful for actually making the games that I want to make, that I want to care about. It occured to me, while thinking about “what’s next”, that I can clearly make a game, and that I probably need to figure out how to make a game with a story that I can care about, at least a little bit, but still actually finish it.
So while I could just throw myself right back to working on Black Mountain, I’m leaning toward putting some time into practicing building games with a story before tackling something I already care about (as much as I hate continuing to just sort of put off Black Mountain). To that end, I’ve been trying to come up with some sort of short story type of thing I could build. I’ve also always been terrible at coming up with a short story idea that is both short AND interesting to me, so it’ll be character growth all around for me.
I don’t know if I want to target another seven-ish day Week Sauce entry for this, or want to aim for something a bit bigger (more Escape From Evil Island size). I’ve been putting off making any concrete decisions on it until I finish OneTurnTactics, so I’ve got a little bit of time to figure it out, still. I do have a few other small things I could do if I still need some more time, but part of this exercise is also not spending forever trying to come up with an idea, as well. I’ll write about it here once I do have a plan.