Zoodem
Project information
- Category:University project
- Project date:2024
My roles in Zoodem
Zoodem is a life simulator with 3 fully fledged AIs.
I was in charge of coding the animal AI, attacks, mixing, and shop. I also had to implement several multiplayer features and the info menu for the totem parts. Lastly, I was very involved with the game design, until I had to focus on programming.
THE GAME DESIGN
The totems
I took part in the early design of the game, until I had to shift my focus to coding. We wanted to make an auto-battler from the start. In order to add depth and replayability to the game we decided to make the troops combinable, since the number of combinations grows exponentially.
We settled for 3 body-parts, since it’s both a reasonable amount of pieces, and a good way to divide a body. The idea was to make each part fill a role. On the one hand, this avoids redundancies and ensures every combination has something interesting. For example:
- Every head has an attack. This prevents combinations without actions.
- The flight trait is exclusive to the body.
- The body normally has the highest health stats, which helps with balancing when mixing parts.
- The rears’ abilities don’t deal damage.
One more thing we had to consider when designing the game was it had to be accessible to PC and mobile devices, since it was a requirement of the university project.
THE PROGRAMMING
AI
We designed 4 different AIs for the animals, and implemented 3 of them. All of them are controlled by a Utility system that decides which action to take, depending on internal (e.g., health, energy) and external (e.g., time of the day) perceptions. The complex actions (feeding, reproduction and nesting) are composed of behavioural trees.OTHER
On top of the AIs, I had to build the underlying systems that made the game possible. For example, animal entities with movement, attacks, stats that could be attacked too. A time system with seasons, temperature, and days, for mating/reproduction, sleep and other purposes.
Finally, to make the simulation quite easier to understand, I made a simple UI with all the general information, that allows to change the game speed. Each animal will also show their current action and status (for example: hungry, hunting) with small icons on top of their health/energy/hunger bars.
THE ART
I designed the icons for the animal statuses and times of the day.