*Checks the date*
Oh shit, has it been almost a month since my last update? Yikes.
Sorry, friends! There’s been a lot going on in the last few weeks. Some potentially exciting developments on the Rogue Moon side which I’ll talk about if/when they happen, along with some more mundane admin stuff I had to sort out, and, of course, the normal development efforts I’m putting into coding new game mechanics.
On the personal side, my baby boy came down with a fever twice in two weeks (not cool, universe!). Poor little guy. A sick baby is heartbreaking, you wish you could shield them from the misery, but you just have to ride it out with them and comfort them however you can.
Unfortunately, as any parent will know, if your kid doesn’t sleep, you don’t sleep. So productivity takes a bit of a hit, to say the least.
That’s the problem with being a solo operation. You’re juggling all these tasks, trying to keep all these balls in the air, and if you hit a speedbump, well, you’re bound to drop some. In this case, I dropped the ball on consistent blog updates.
(That’s quite the mixed metaphor. Why would you hit a speedbump while juggling? Are you juggling on one of those little clown unicycles? Surely there are traffic bylaws around juggling down streets intended for motor traffic…are the cops chasing you on your unicycle escapade, and that’s why you couldn’t slow down for the speedbump? I need to stop thinking about this…)
Ah, well. Shit happens. And, when you’re talking about babies, shit happens. 😉
I’ll finish the last entry in my retrospective post series shortly. For now, let me just update you fine folks on my Cults progress.
Right now, I’m mainly updating the core combat mechanics. System Crash, as players will know, works on a lane system for Agents placed into combat. The design was inspired by an old game, Spectromancer.
Now, I quite enjoyed playing Spectromancer, at the time. But that wasn’t why I went with the lane system.
I chose it because I thought it would be the easiest/quickest to implement. I had limited time and money to build SC, so I made a number of decisions (like the locked square aspect ratio or the interface not featuring drag and drop) based on what seemed easiest to get working.
And yes, I know, that’s not what one expects to hear from indie devs. The indie mythologizing paints us as Dreamer-Auteur-Perfectionists, pursuing our muse even if we have to spend decades, eat noodles for every meal, mortgage our houses and live in our cars. We are supposedly untouched by the grubby financial concerns of the AAA space.
Being a passionate hobbyist is fine, if that’s what you want. Me, I want a career as an indie game developer. I’ve wanted that since I was 14. And the only way to turn your passion into a career (barring an incredibly lucky fluke) is to do cost-benefit analyses. What game can I afford to make, not just what game do I want to make. What’s the opportunity cost of adding this feature? Those are important questions.
So, I went with lanes because it was easiest at the time. But I prefer card game systems where you can freely choose who to attack with what, like Hearthstone or Magic. The tactical space is broader. When I started designing Cults, updating the combat system was one of the first features I added to the list, to widen the scope of play.
And since it impacts so much of the design of the cards, I needed to get it done early. If there are any problems, I’d need to adjust course quickly, rather than throw out a bunch of work later.
To get it working required adjusting the GUI, game logic and flow, and, of course, the AI. Going with lanes makes the AI simpler to code, it doesn’t need to decide who to attack in what order. Once you’d played an Agent, the decision of who to attack and when is out of your hands.
I’ll talk about the AI of System Crash and Cults more in another blog post. But, for now, it’s enough to say that it’s mostly working ok. There are improvements still to make, but it can play reasonably sensibly with the new attack mechanics.
And, just as importantly, I fixed the infinite turn bug that I managed to introduce with these changes. That was a fun one. The AI would plays its turn, then immediately refresh and get another , and another, and so on…
I don’t think players would enjoy that “feature”, eh? 😉
Took a few days to chase that one down. Turns out, I was calling code that that fired off an attack coroutine twice. Which meant that later code stepped on itself, completing the current player’s turn twice. Which meant that it would end the AI’s turn, start the player’s, and then immediately exit the player’s turn back to the AI. But via a code path that looked entirely legit and proper.
They’re finicky to debug, coroutines, particularly since they don’t play nice with breakpoints and code inspection; I was forced to resort to spitting out console log messages all over the codebase, like some sort of prehistoric neanderthal programmer.
But it’s working now. Here’s a quick video to show it in action.
As I say in the video, it’s all still System Crash’s art assets. That’s going to be the case for a little while.
I actually bought art assets too early in the process of SC, it made it difficult when I had to rearrange the story I had because it wasn’t working. I couldn’t afford to pay for more character art or scene backgrounds, so I had to work around what I had. For Cults I’m going to hold off until later, until I’m certain those elements are nailed down.
There is a ways to go before it starts feeling “Lovecraftian”, for sure, but the basic foundation is getting there. You can also see in the video that you’re still limited to 4 minions in play, but that’s going to change with the next task I’m working on.
Because I definitely want Cults to support decks that focus on swarming opponents with cheap, nasty little monsters. 😉
Alright, that’s this post done. I won’t leave you all hanging for another month before the next one, hopefully. But why not come join me on Discord, where you can gently, but firmly, prod me if I forget?