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 plush bunny whose job is to prevent nightmares from climbing up on the bed. The main twist of the game is that instead of placing turrets from a menu, 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.
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, but they create an increasing challenge.
Since I never designed a tower defense game before, I used the best method to start out with: I took guesses and came up with approximate values for the health points and damage of the enemy units. They didn’t work the first time around (naturally), but at least I had something to iterate upon. So I experimented with some extreme numbers until I found a good enough balance for the game.
Creating the friendly units was much easier since I already knew the kind of damage types I want them to have. After the first version, it was mostly small tweaks in the editor and they were good to go. I did, however, overlook the economy system, which makes it possible to overexploit the toy soldier if players find the right spot to place them early in the game. Having a limit over their number in a certain radius would have probably solved the issue, but time wasn’t on our side.
I started out with a few guidelines I wanted to follow when designing the map:
- There must be several starting points where enemies come from.
- Roads must be close enough to each other so one unit can cover two roads at once (and can surprise the player).
- Each route should take about the same time to get through.
Although these rules helped a lot in focusing my process, I noticed something odd: the second wave had tougher (and more) enemies but felt easier than the first one. After tweaking enemy stats with no luck, I realized that the issue was the middle road. Unlike the others, it’s always in the player’s view, so it’s much easier to defend. After I shortened it, the problem was mostly solved.