Project Duration:

10 weeks

Team Size:

4 - 13 (team grew over time)

My Role:

Gameplay Programmer





Student Project


Babooms is a team multiplayer game about sabotage, recon and cooperation. The players take up the role of crazy baboon scientists trying to assemble a monster from body parts hidden around the map. But there is a catch! The enemy team is trying to achieve the same goal. Use different types of traps to hinder or confuse your enemies or to collect intel. Can you outsmart your enemies and reach the goal before they do?

This was the first group project that I worked on and it was also my introduction to Unreal Engine. Considering how little experience we all had at the timet, it was quite an achievement to develop a working online multiplayer game. This caught our teachers’ attention too and we won the Best Game Programming Award among all projects in our year.

Main Contributions

Map Builder

The first bigger task that I worked on was the  Map Builder. The game uses isometric view and players can only see one room at all times. Hence the map was composed of a grid of separated rooms between which players teleport using doors. Obviously, building big maps by hand was a big hassle because it involved correctly connecting all doors – making a map as small as 5×5 would require connecting 80 doors by hand.

The Map Builder sped up building maps in multiple ways. Firstly, it automatically spawns all rooms based on specified map dimensions. Secondly, it connects all doors and allows doors to be removed or added again with a click of a button. Thirdly, making all types of rooms as separate blueprints enabled them to be swapped in and out easily.


Map Builder


I was also responsible for UI implementation. The UI design that we decided to go with is using 3D UI elements placed around the isometric room.

One of the most interesting UI tasks that I worked on was a minimap. It uses data from Map Builder to dynamically generate and render the map outlines.


Implementing skeletal animations was also my responsibility on this project. I created state machines to drive the animation transitions and hooked them up with the game events.

The Unreal’s animation system made this task relatively easy and only having two animated characters reduced the scope even further.