About Gatto
Games make for great simulations. Many contributions in research have been made with game simulations, from explaining ant species using Age of Empires to testing the limits of machine learning in Unreal Engine. We were inspired by how games can be used to simulate real world events in research, and we also wanted to train teamwork skills amongst each other using Unity and Github, so HackUMass was the perfect opportunity for us to make our contribution.
Gameplay
Movement controls for the camera are WASD for horizontal movement, Q and E for vertical movement, and arrow keys for rotating the camera. The escape key is for pausing and returning to main menu. The game starts with 6 cats and 50 fish. Each cat catches a random number of fish every year, with the fish replenishing itself by a portion afterwards. At the end of every year, if a cat has caught enough fish to meets its personal quota, it invites a friend to also fish for the next year. However, if it does not catch enough fish, its patience (number of years it will stay for) decreases by 2, and it further decreases by 2 if there are more cats than fish. The player has buttons to add cats/fish as well as a button for creating a flood, increase the number of fish and driving away a portion of the cats (with the number of cats expected to rebound the next year).
Development
We created the game using mainly Blender and Unity. We divided the game into multiple separate parts (GUI, game mechanics, camera movement, 3D models, and scene transitions), allowing us to work in pairs on separate tasks at the same time.
Challenges
We faced heavy challenges at the beginning of the project, especially with the gitignore file not working for configuring Unity with Github. Since most of us were beginners with collaboration on GitHub (as well as being behind on time from the gitignore issue), we also had to immediately begin learning and working with branches and merging, leading to several time-consuming merge conflicts. However, after we grew used to the workflow, we were able to consistently avoid merge conflicts through communication and working on separate parts of the project. This was especially important because this means only one person/group can work with the Unity inspector and scene at once.
Conclusion
We are especially proud to have created a finished game in just a day. In the span of several hours, we transitioned from scratching our heads over merge conflicts to queueing up updates to the game one after another. HackUMass was a great learning experience for us and we hope to further develop our teamwork and GitHub skills in the future.
Log in or sign up for Devpost to join the conversation.