Main Role:
Game designer
Team Distribution:
1 Game Designer
1 Programmer
1 Artist
1 Audio Designer
Project Duration:
48 hours
Tools Used:
Unity 6
Blender
Overview
Bobo the Nightslayer is a real-time tower defense game made during Nordic Game Jam 2025, where I mainly participated as the game designer. The game is set in a child’s bedroom, and players control a bunny plushy whose job is to prevent nightmares from climbing up on the bed.
Instead of using the cursor to select turrets from a UI, players actively move the character around the room to collect buttons (used as currency) and place toy turrets. The legs of the bed serve as the core towers that must be protected.
When designing the enemy units, I began by setting up baseline values for health and damage. I took inspiration from other tower defense games for enemy types and broad stat estimates. These estimates gave me a starting point to iterate from during testing.
Designing the friendly units was more straightforward since I already had the enemies they had to counter. I experimented with extreme values for both enemy and friendly units, and gradually tuned the numbers until the first few waves felt balanced.
One problem that emerged late in development was the economy balance. In certain situations, players can overuse the toy soldier if they place many of them in strong positions early in the game. I see now that having a limit over their number in a certain radius would likely solve this, but due to the short timeframe of the jam we prioritized other areas of the game.
I designed an adaptive wave-based enemy system to create increasing difficulty. It allows for automatic difficulty adjustments based on how well the player performs. If they clear a wave quickly, they have to face an extra wave right away. If they take too long, the current wave repeats until they can beat it under the set time.
I also experimented with small stat changes to scale difficulty as players become stronger. Basic enemies get slightly faster, and the multiplying ones start spawning extra parts. These changes are small enough to go unnoticed by the player, but they create an increasing challenge.
I set a few level design guidelines to ensure the map supports the gameplay.
- Multiple enemy entry points: since the player controls a character in real time, enemies needed to spawn from several locations. This prevents players from camping in one corner and farming coins without any challenge.
- Enemy routes must be close to each other: roads are placed near one another so a single unit can cover two paths. This adds strategic depth by having players place units thoughfully.
- Equal travel time: each route takes roughly the same time for enemies to get through. This allows waves to spawn in a randomized order while keeping the adaptive difficulty fair. If one route were shorter, tougher waves could become uncontrollably difficult.
While these rules helped me with the design, playtesting revealed an issue: the second wave had stronger enemies but according to players, it felt easier than the first. The problem was the middle road. Because it was always in the player’s view, it was much easier to defend. Shortening this route largely solved the imbalance.