Micro-keeper

OVERVIEW

It had been 6 years since I’ve designed and developed any sort of game and I missed it. I built Micro-Keeper, a game where you play as a zookeeper building micro-habitats for desert and forest animals. This project was built in Unity with free Unity Store assets as a way for me to re-familiarize myself with the software.

Skills (re)learned

  • C# scripting, abstraction, inheritance, polymorphism, and encapsulation

  • Unity GUI

  • Unity Animator Controllers and Animation

  • Git Version Control

  • Optimization with Unity Profiler

 

Project Management

At the start of this project, I wanted to focus on scripting the game mechanics and less on the user interface, the audio, and the 3D assets. Because of that, I used assets from the Unity Asset Store for the 3D items/animals, particle effects, music, and sound effects.

My first step was writing a very basic game design document to plan out the features I wanted to include in the game. I planned to have only 5 core features in the game. Most of my time was spent writing the C# scripts and debugging in the Unity Editor.

View Project GitHub

Challenges

  • Balancing and fixing the game over scenarios: I used math operations to calculate the habitat quality which passes to be the fill amount for the GUI slider. The difficulty came in making the scripting flexible enough to accommodate the different needs for all of the animal types across the different environments.

  • Updating AI Navigation: When a new item gets added to the scene, the animal is supposed to walk to the new item. I used Unity’s NavMeshAgents to control the movement of the animals which presented a challenge when updating the NavMeshSurfaces in real-time once an item was placed.

  • Animator Controllers: This was my first time using Unity’s animator controllers. It took me awhile to understand how to set all of the correct parameters and build useful transitions for all of the animal models.