- Platforms: Android
- Genre: Hyper Casual
- Development Team Roles: Gameplay Programmer, Game Designer, 3D Modeler, Concept Art & UI/UX Designer, 3D Model Painter.
- Engine: Unity & C#
- Version Control: GitHub
- Source Code: GitHub
Wild Wind, a hyper-casual mobile game inspired from the game Missiles! in which the player controls an airplane and has to dodge incoming missiles. The game has 5 different types of airplanes with various speeds and handling.
UML Class Diagram of Wild Wind
Wild Wind was the first game I made with a focus on software architecture and design patterns. Although the game itself was easy to implement, a lot of time was spend learning new concepts. As a result, UML class diagrams were created to understand the system better, and to make better software design choices. Link to UML class diagram on Lucid Charts.
Scriptable Object’s
This part of the system shows the use of Unity’s Scriptable Object to create an asset that holds the type of class. This asset is then used in conjunction with strategy design pattern, which in our case is our Mover class.
Editor Scripting & Timeline
Custom timeline tracks were made using editor scripting to provide a way of designing the levels and spawning of missiles.
Tasks and Asynchronous Functions
This is the most challenging part of the code. I was looking for a way to swap two variables with each other for a designated time, then swap them back to their original values. One way would be to do this using unity’s Coroutine system. However, this had a problem. If the object running the code got destroyed, the Coroutine would no longer run since they are bound to the existence of Game Objects. To solve this issue, C# Tasks were used which would run until they were finished, regardless of the existence of the original object.