It had become quite clear the new horizontal status sheets at the top of the screen basically made player status virtually invisible, so we took another swing at them (using something pretty close to older mockups with portraits):
This in turn necessitated re-arranging the hotbars as well, which was fortunate anyway since classes were getting more abilities than could comfortably fit in the old single hotbar:
While I think this is way better than the virtually-invisible-top-of-screen version, here in 2020 I still personally struggle to notice the information contained within. But we’re kind of just… living with it, for now. A knock-on effect of this change is that we couldn’t find a great place to put the turn order in this layout. Emboldened by “just remove it” having been some of my best calls in the past, I decided just to throw it away entirely by making turn order decided by lane order (bottom lanes actting first, then next lanes, etc). This change was pretty much immediately a huge improvement to the game (pairing well with the ability to swap lanes without taking a turn), and also getting rid of UI clutter. This layout would also go on to enable a new hotbar layout later in the year.
This month saw another two scenarios completely planned out: Insomnia and Ruins. Insomnia got done at a shockingly fast rate of only 4 days accordingly to my records (though probably involved a lot of prior stewing), while Ruins took the rest of the month to get done. It’s pretty clear that I waited too long to write this blog because I honestly don’t remember much about the creation process of these anymore.
I can say that Insomnia is probably one of the few scenarios that feels like it has an actual middle- most the others skew towards intro, gameplay stuff with minor build up, climax. In this one the mystery actually deepens a little bit for the middle phase of the quest.
Ruins meanwhile acts as the dumping ground for the originally intended ending of dealing with a world-spanning human threat rather than the Chaos Eater. The original version had the antagonist character with pure intentions, while in this one she’s getting islands eaten for her own selfish gain. In a lot of ways this might still be a better ending scenario than actually killing the Eater, as it turns player expectations on their head, subtly references past scenarios, and has the antagonist actively mock the players she’s been watching this whole time.
This month saw the completion of planning for the Trapped and Kill Eater, essentially ending the planning phase (though leaving the intro and lobby stuff mostly unplanned). I also filled in how to do progression (beating scenarios gives new classes), and decided the scenario order which was a surprisingly difficult task since I didn’t do that great of a job of balancing overarching story progression (in terms of players understanding the world) and scenario play styles. Even now I’m still kind of “should I re-arrange these?”.
The actual design process of these scenarios is also hazy to me at this point. That said, here in 2020 Trapped has probably had the best tester response of any scenario? After designing like 14 of these things I finally figured out the formula, I guess. If I have one regret it’s that I wish I could have designed 30 scenarios and then just picked the 10 best ones to actually put in the game. Just for the sake of getting practice?
Jumped straight into implementing all of the map portions of every scenario (except Kill Eater). This part of the process is actually pretty boring work of just taking the plans and putting them in the game. Lots of inserting text from the script, data entry for rooms, scripting the puzzles/behaviour, etc. Having to add various minor new features to the engine (dynamically adding rooms, randomizing rooms, neutral monsters, real time timers in battle, etc) actually gave this process the right amount of variety to not become totally tedious. In general it was really satisfying because the only thing required to make progress faster was just putting more hours in. And that shows, because it only took 3 months to finish- rather faster than my expectations.
June 2019-August 2019
I kicked off by taking one last look at the battle system and wrote some documents detailing any major changes to do before this last push, and guidelines for class design. Some good changes fell out of this:
- Ultimate System: Rather than a damage bonus for winning Rock Paper Scissors, characters charge their Ultimate ability (usually related to their role- so healers might get a heal all while damage dealers do more damage). This makes the RPS system feel much better for non-damage dealers, and stabilizes monster damage.
- Armor becomes a universal damage reduction rather than a damage bonus when losing RPS / reduction when winning RPS. Certain Tanks/Healers gain armor reduction abilities, while many monsters get 100% Armor- basically making damage dealers depend on the other classes and adding a wrinkle to party composition.
- Revised lane system to allow for vacant lanes where characters are untargetable and can target any lane. This makes monster behavior more consistently readable rather than adding uncomfortable randomness where you’re not sure who a monster is going to hit in a 2v1 (it also adds some strategy of hiding weak players and freeing lanes so damage dealers can focus fire).
- Monsters with multiple points to target can share HP, so boss battles don’t devolve entirely into knocking out the weakest part to get a lane advantage.
These ended up being some really good changes (looking back it’s crazy to think this was only 6 months ago, because they feel like they always belonged).
So I was feeling pretty good at this point: I had over 6 months to simply design/implement classes/battles, and I would finally be on the precipice of content complete. Having already made plenty of classes/battles for previous iterations, I felt pretty confident that this would be a smooth process. It wasn’t.
I started off by just designing all of the classes at once. The new RPS system required re-designs of all the existing classes, but I wasn’t planning on throwing away the existing classes- just tweaking them for the new format. By mid-August I had less than half the classes done on paper, and realized that this might be the dumbest idea for a process I have ever had.
I decided to start designing and implementing classes/battles in parallel instead. I started off by revising a few existing scenarios with new battles, and it became very clear I was correct since several of the classes weren’t really playing out as intended in practice. The whole process started to finally move forward.
Just a blur of design, implement, test, repeat for battles/classes. Slow. Very slow. At this point maybe half the scenarios/challenges are finished, but the testing is rough. Lots of classes being underpicked by testers, making their balance questionable. Lots of testers being stuck on battles/scenarios and it being unclear whether something isn’t correctly hinted at, the UI isn’t making how mechanics work clear enough, there’s too much time between tests so players are forgetting things, or the testers are just dumb and not paying attention. These tests have probably been some of the most stressful/frustrating because piecing together the puzzle of the tester’s internal logic feels impossible.
This is also amplified by the first wave testers not being as RPG apt as the second wave of testers, so I fully expect the game to get absolutely shredded after lowering the difficulty to match the first group of testers. It stresses me out a lot since the battles make up the majority of the game. Getting this right is the most important thing.
Along the way we squeezed in some important improvements such as displaying status effects as a separate window from the main ability, cutscene skipping, and Sew’s new display for character stats:
It was honestly kind of shocking how big a difference this makes in terms of readability. The old display made it feel like there were hundreds of stats in the game, while the new one makes it feel like the actually small number of them:
One major new mechanic got added as well: the Rage system. If players don’t kill a monster within a certain number of turns (varying on the monster), then it starts to get a rage buff every turn that doubles its attack power. I’d been toying with such a system ever since allowing any combination of roles in a party, but I finally went through with it after a bunch of tweaks to the Tank role. The main thing that made me feel okay about it was that it’s a soft timer that gives players a few turns to deal with it rather than instantly ending the battle. It certainly makes balancing the game less stressful knowing that it’s much harder to create a “win in 50 turns by never dying” party now.
The grind of pumping out battles had finally taken its toll and I basically felt incapable of keeping it going. So I went ahead and took a week off, and spent it working on a different game. And it was wonderful? I spent the whole time mostly just learning a new engine ,and the entire experience basically rekindled actually enjoying making games again. I had done little break games for awhile, but around 2016 I stopped entirely for the sake of “getting it done faster”. In retrospect I think this was a huge mistake. Sometimes you need to work on a different problem.
I ended up spending the rest of the month converting how our UI is defined to something similar to HTML rather than directly in code. When originally making the UI system I considered this, but dismissed it as too much work. What made me change my mind was the fact that Sew has mostly just been doing new UI mockups all year rather than any other art, but I just don’t have the time to implement them in a timely manner. Exposing them in a way he can change directly will streamline things a lot more. Fresh off the break I got the system done this month, but actually converting existing UI is an ongoing project.
Still fresh off the break, I cranked out two more scenarios worth of battles and a few new classes in record time. But the rough edges of the game that I had been ignoring were really starting to get to me. Moving between rooms took forever, battle animations took forever, Sew had a new hotbar idea months ago that I wanted to try, etc. So I finally decided to take the time to just make the game feel better for the first time in ages.
Here’s the new vertical hotbar style. By organizing abilities by RPS type, it makes it easier to control when you already know what type you want to use. The vertical nature also makes it more noticeable when you get a new ability. Tweaks like making passive abilities have stars instead of normal backgrounds makes things easier as well. The one downside is there’s no great way to assign hotkeys to abilities anymore, so to compensate I added hotkeys for targeting (not ideal, but better than nothing).
Additionally, we sped up battles by having characters merely walk forward a few steps instead of walking all the way to the target and then walking all the way back (which also made casting abilities more noticeable since they step forwards now too). Along the same lines, I sped up the room transition animation to always be around 1 second rather than waiting for the player sprite to walk all the way to the exit. The game feels much better as a whole now, and should make testing more pleasant. As always, we make the best improvements by just removing things.
A random spark of inspiration also led to me rewriting the ending of the game. I feel way better about it now- both because the new one takes less work, and is also a way better conclusion.
The first half of 2019 was amazing, and the second half has been kind of miserable and way behind schedule (though I kind of expected as much). Wasting 2.5 months designing classes entirely on paper was a big, stupid mistake. I literally have a functioning game right here that makes it semi-easy to add new classes/monsters to it. WHY DIDN’T I JUST USE IT?! I’m still not sure what I was thinking.
There are still 3 scenarios of battles to do, 5 challenges, and over half the classes. While I have pretty good sketches for the remaining battles, getting the remaining classes done is haunting me. It’s mostly a matter of admitting to myself that there isn’t a need for too many new archetypes, and I should just be making variant classes now. This is a good thing, but it’s hard for my brain to wrap around it. I skew towards wanting to make new, weird things. So working within an existing framework is strange.
The other thing that haunts me is that once battles/classes are done, there’s still some additional work to do with making the tutorial and lobby content. It isn’t that much more work, but it makes it hard to enjoy getting to the end of battles. It’s like knowing you have to spend part of your summer at school. Can’t look forward to it.
Either way it’s basically dead certain the game will hit content complete this year (provided I stop myself from making any cataclysmic changes). I don’t even know how to process that fact. Mostly just worried about the remaining work, and uncertain of how long it will take to get the art/music done after this.