As prophesied, I’m now starting a new game that’s an action game. My initial inspiration was actually Doodle Jump, with the part where you move upwards in a level and avoid obstacles along the way. I programmed that part at first, where the camera scrolls up as you go upwards, but realized it was annoying. I had to have obstacles spawn in before you reached them, and also had to delete obstacles that were below the screen, and it was hard to make it feel right. Then I realized a much simpler way to do it: instead of moving the camera at all, just have it so when you reach the edge of the screen, the player is warped to the start, delete all obstacles, and spawn new ones (and I can have a screen fade in fade out).
I think the hardest part of this game will be trying to make it different from Relentless Waves. After all, both games are basically about avoiding random obstacles for as long as you can, and I don’t want to make the same game twice. I think the main differences will be, no enemies you have to fight, the obstacles don’t fire bullets, and instead the obstacles will be more about making it tricky to navigate throughout the level. I have no idea if I’ll actually come up with enough ideas to make this work. If all else fails, they can just end up being new enemies for Relentless Waves (which isn’t even that bad of an outcome).
Even though I’ve started a new game, I worked on some other things too. A while ago I talked about doing another game design presentation, this time on consecutive vs simultaneous turn games. I’ve started on that, although there are some things I’m still figuring out. First is that unlike the Temporum one, I can’t really focus the presentation on one game, because the whole topic is comparing 2 very different types of games. But also, what can I talk about? Right now I explain the main pros (faster, no turn order advantage) and cons (collision issue) with simultaneous turn games, but is there anything else? I can talk about some solutions to the collision issue, but would I only be explaining solutions from my own games?
On tuesday, I made some fairly major gameplay changes to Randomly Generated RPG. The first is that I dropped speed and luck entirely. I don’t think they impact the game enough, and were less useful and intuitive than power and defense. Dropping speed meant I had to change how turns work, but there’s a very easy fix. First players take all their turns in order, then enemies take all their turns in order. The other thing is changing the ability pie for Knight and Wizard. It used to be, Knight changes power and defense, Wizard changes speed and luck, Angel can do anything. Now it’s become, Knight only changes defense (for players and enemies), Wizard only changes power, and Angel can do both. Most of the abilities that had to be changed just switched to changing power or defense instead. There was maybe one ability that I had to replace completely, due to the new ability pie / being too similar to other existing abilities.
Then I decided that angry giving +2 power was probably too strong. Especially for the Wizard, when angry they can deal tons of damage to all enemies at once. I changed it to +1 power and +1 defense as the bonus, and I’m confident it’ll be more balanced (both for players and enemies). I held off on doing all these changes for a while (especially dropping speed and luck), worrying that it would take a ton of work to change everything else (the changes in February took over a week), but these changes took under 2 hours to implement. Turns out removing code is much faster than adding code.
I also found a better way to handle translations. The tricky thing is, there are 2 kinds of lines that need to be translated: ones that are just text (like “play”), and ones that need substitution (“[number] health”). The ones that are just text are ideally all in one enum, but the substitutions ideally are each their own function. The solution is that I can have editor scripts write code for me. The editor script can read the English txt file, and figure out which translated lines can be in an enum, and which ones should be in a function. Then the editor script can generate the code for me. It makes things much easier.
The question then is, how much of these new innovations should be included in updates to previous games? Like I already went through every bit of text in Randomly Generated RPG; am I really going to do all of that again? It’s still a battle between “I’m no longer actively working on this game and I rarely add new features” and “this is a game I’m proud of and I want to keep it up to date”. For sure for much older games (like Mutating Forest), they will just stay outdated forever, but for the actually good games (like Relentless Waves) it’s more a question. Currently I’m going with, no don’t change the old code, it’s doing its job (until it no longer does its job, then ok I’ll change the code).