“Dynamically, boss. Very dynamically.”
In my last post, I revealed the origins of the project’s pitch and why, in today’s industry, you shouldn’t develop games that way. Now, I’ll briefly explain (you know I’m lying—this will be another wall of text) how we ended up with a game that’s still pretty buggy but actually fun… at least the first level, which we played to death.
I had only one core idea for this game: no keys, and a gimmick where you kick doors down with your boot. That’s it.
In my naivety, I also wanted fully destructible environments, including level walls. In the end, we heavily scaled this back for performance and level design reasons.
After the first rushed demo, it became clear that we needed restrictions on wall destruction to guide the player. That’s when the idea emerged to make Chains of Fury a Metroidvania boomer shooter. This concept survived the longest… until it (mostly) died two years before release.
We sucked at level design. Hard. It wasn’t until Mateusz “Chmura” Kaczoruk took over and fully switched from Unity to Blender that we started moving in the right direction. Our new publisher confirmed this, giving feedback that they finally didn’t get lost in the levels.
Originally, we planned six large Metroidvania‐style biomes. A cool concept, but way too ambitious for a small, inexperienced team. The problem? This required really good level designers—maybe even several. And we had none. I reached out to friends at Flying Wild Hog and Techland, but they were busy shipping their own big games and couldn’t spare much time for consultations. Patryk Polewiak helped a lot with feedback, but level design remained a major bottleneck for a long time.
Once level design started shaping up, performance became the next hurdle. Initially, these issues were linked—big open levels meant tons of objects, and we also wanted heavy destruction. Unity struggled with this. Maybe we could’ve hacked a smart solution, but in the end, we made a critical decision: linear levels, with optional Metroidvania‐style alternate paths for replayability.
That’s what stuck. The problem? Due to time constraints, those alternate paths are empty—especially in later levels. I plan to fix this in future patches, but the truth is, we just didn’t have time to fully implement it.
Speaking of level design and performance, enemy encounters and AI also went through multiple iterations. Originally, with open levels, we had large groups of patrolling monsters. It wasn’t fun—and it murdered performance. Linear levels solved this by only activating enemies required for the current section, boosting FPS. But it still wasn’t that fun.
Then, about a year before release, our publisher showed us Mullet Mad Jack’s demo—and it was a revelation.
That game’s all about sprinting forward without hesitation, shoving enemies into environmental kills. The player is forced to keep moving or die. We didn’t go that extreme, but we took inspiration by adding Fury Mode as positive reinforcement.