Zoo Life
Project: Zoo Life
​
Engine: Unreal engine 4
Platform: Windows PC
Role: Designer, Artist, Scripter
Description: Zoo Life is a grid based isometric park builder game developed for my final year project at university. The focus of the project was on creating a game from scratch through blueprint, including mechanic development, art work, systems, UI, etc.
Produced through algorithms and searches, AI, mechanic and system development. The aim was to produce a prototype/ framework that could then be developed further in the future.
​
Responsibilities
​​
-
Grid generation & algorithms
-
Art asset production
-
UI & UX implementation
-
Animal AI design and implementation
-
Guest AI design and implementation
-
Building mechanics
-
Finance system
-
Management system
Role Breakdown
​
Scripting: The scripting side of this project was the primary focus. This was a technically heavy project with a large focus on having systems that work together to create the end game/farmework produced. This project allowed for me to develop my scripting to the point of having a finished product. The main areas focused on for this includes:
-
Algorithms and searches performed through a grid
-
AI behavior trees and interaction development with priority based needs
-
Dynamic AI navigation update system
-
Systems development
-
Inheritance and complex use of managers
-
Complex UI development (UMG) through modular widgets
​
Focusing on these scripting elements allowed for me to develop these core aspects of the game:
-
Grid tile generation
-
Building/ destruction system & mechanics
-
Fence/enclosure management
-
Animal/Guest AI interaction and understanding of the world space
-
Animal and guest needs system
-
Pathway & terrain systems
-
Building upgrade system
-
Bowl refill system
-
Finance system
-
Management system
-
Shop system including: Animals, Buildings (creature & guest), pathways, fences and terrain.
​
This development has really honed my development skills, improving:
-
Deep understanding of blueprint and games development
-
A good understanding of system development
-
A solid grasp on AI development
-
Importance of iteration when designing/developing systems
-
Problem solving skills, especially around unexpected issues
​
To see how I solved one of the many problems I faced click here to see a "Logic Breakdown" .
​
Artwork: For this project I originally intended to implement asset packs and create the game to be somewhat realistic looking. However after consideration I decided to go down a stylized route where I created my own voxel based assets. I decided to do this as it would allow for me to understand the entire pipeline of the game and allow for me to truly call everything within the game to be my own. As this would be a large task to undertake I used the tool KenShape to help really speed up the process. Creating all the art assets myself gave a really hard lesson on scope for the project and in helping understand the entire pipeline from start to finish of the game. Rather than just focusing on the development side it allowed for me to care about how the game appeared, causing other elements like particle effects to be implemented.
​
This developed my skills in:
-
Creating my own 3D art assets for a project
-
Creating and implementing my own particle effects within Niagra
-
Creating 2D UI to work modularly with code
-
Understanding scope for all aspects of the project
-
Understanding the complete pipeline from tech demo to playable game build.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
Design: Before starting the main development period I took the time to produce a R&D report document to allow for the project to be planned out as well as have a core understanding as to how the project would start to take shape.
After this process, the main design elements during development of this project were performed through iteration of mechanics practically. I note down core elements and processes/diagrams within my notebook and then continue to develop from here. Due to the size of the project and the project only being worked on by myself I refrained from producing an entire games/technical design document digitally, instead focusing on my notebook apart from a few key diagrams/research elements. However, this is something I would change in future, as having a digital copy is much more convenient. From here I would then test and iterate as well as get others to test out what I have produced for valuable user feedback.
​
The PDF below shows some of the design elements going into this project: