Last month I said (I think? I forget what I write, if I’m being honest) that we’d dedicate June to playtesting and balancing. This is so we can properly design the combat for the last two remaining chapters by taking advantage of everything we’ve built so far, and around the maximum possible amount of upgrades obtainable by players by the time they get there.
Well, that’s exactly what we did. It took longer than we thought, but it was pretty much four weeks of locking in, changing numbers and fixing a billion bugs.
The verdict? Well, the game is fully playable up until the end of chapter 5. And I’ve said many times before how this or that level is playable or polished, etc. but there’s a big difference here: I’m talking about starting a new game, and going through it like a normal player would instead of using debug tools and shortcuts. A LOT was broken and prevented me from progressing, but we fixed things as we went and the game is very stable as of now.
I obviously have to see other people that don’t know the game very well play 45pb and gauge their reactions, but so far? It was better balanced than I initially thought. The trickiest part is making money, since it’s possible to get soft locked by seemingly impossible fights.
Example: Let’s say there’s three enemies that will (unintentionally) hit you no matter what you do. You could try to tank it and dodge as much as possible, but eventually you’ll perish. You could upgrade your armor, or buy a new implant or skill that makes that particular fight easier, but you lose money when you die. Players will then try to find other fights to make that money back, but what if there isn’t any other encounter to do so? That’s the sort of scenario I saw at least once, and I know the game like the palm of my hand, so it’s safe to assume there’s similar bottlenecks elsewhere.
By the way, I already know how to adjust this; I’m just describing the sorta thing we’re actively trying to find so the game can be completed with a reasonably upgraded Reila by the end of it.
I did see it’s possible to do a no-upgrade run; it’s just incredibly difficult to pull it off.
Difficult AND tedious. Dealing damage with a base gun on latter enemies that have more defense and HP is cock ball torture. You will literally deal 1-5 damage on dudes with 500+ HP.
But hey, I’ve seen people plat games that do even worse things.
The 8 million storage keys incident
During chapter 5 I kept noticing how the game was getting increasingly slow. Loading screens kept getting longer, and triggering battles would tank the frame rate into the teens. Fucked up stuff.
We got worried. Is there a memory leak? Could be, but it doesn’t make sense. The game doesn’t degrade over time, no. If the game was slow when you exit chapter 5, then it will be slow when you load it back again. And up until then we had been playing for a solid five to six hours with no slowdown issues or long loading times. So what exactly is going on?
The engine’s console describes every step of the game’s programming. It registers what happens during battles, when you change scenes, and all of that. That’s how I noticed the game checks for the inventory when you enter a fight or while loading a saved game; The two common scenarios where the game would start chugging like crazy.
The programmer took a look, and there they were: Eight million “storage keys” from the previous dungeon, bloating the save file to a deathly degree (it even crashed the engine several times).
The game struggled HARD to load them all, and to top it all off, they kept duplicating every frame and we had no clue about when it began to do so.
Maybe something happened when going from chapter 4 to 5? That must be it.
Then it kept happening with a completely different item!
I’m not gonna bore you with details of how it was fixed. I’m also not the programmer of the project and I wouldn’t be able to recall the process done. But the end result was a deep refactoring of the data management side. And at the end of it we accidentally laid the ground for a New Game + mode. I’m not sure we’ll pull the trigger on that, but it’s not that crazy a possibility anymore.
Despite it all, the game ended up in a very healthy place. We saw how much of the actual game we neglected due to working almost exclusively in “developer mode”, which we’ll definitely take note of for the next project. I was also able to work on texturing new enemies, implement remaining puzzles and fights for chapter 5 (plus some environment polish), extra groundwork for chapter 6, as well as brainstorming a little for the game’s ending.
(The ending is already written (has been for a long time), we just needed to hammer down some of the more minute details so certain scenes don’t feel out of place or out of character.)
The fight ahead
This month of July I’m going back to the usual grind, and do my best to finish the encounters for the last two stages and whatever else I see that could be important.
The roadmap ahead kinda looks like this right now:
- Finish remaining enemies (create models, rigs, textures and code behaviors)
- Finish implementation of fights and puzzles for the last two chapters (this would make the whole game playable from start to end. Alpha build?)
- Finish remaining boss fights (create models, rigs, textures, code their behaviors and design the fights)
- Environment and asset polish (includes baking final lighting for all maps, getting rid of placeholder models, etc.)
- Sound polish (finalize music mixing, environment sounds, sound effects, etc.)
- Implement and polish remaining cinematic sequences and narrative sections
- Heavy QA, balancing.
- Hit beta state. This will kickstart a different roadmap towards the game’s release.
Now, this list is extremely optimistic and reductive, since development can hit any kind of obstacles and things are far more complex than drawing a circle and then the rest of the owl. But from a bird’s view, this is what we need to do to finish 45PB. It’s a lot! But many of these items can be done in a month depending on the complexity. In my experience, boss fights will be the hardest to get right.
We have a loose idea of how long this is gonna take, and so far we’re on schedule for a change. Things are going well, and I guess we’ll see what July has in store for us.
