Overview
This project is a 2D Infinite Platformer Game with features such as player control, auto-run settings, minimap, zoology of different enemies, 2D Platform Random Spawning and UI Localization. This project took approx. 1 week to complete.
Learning Outcomes
This game project enabled me to learn several features of Rapid Gameplay Prototyping such as:
- Core Gameplay Prototyping
- Converting Game Design Document (GDD) to Unity
- Add/Debug User Controls
- Prototyping Non-Player Characters (NPC)
- UI Coordinate Systems
- Choosing the Correct Coordinate System
- Aspect Ratios per Target Platform
- Optimizing the Graphic Raycaster
- UI Scripting
- Scripting the Dynamic UI
- Adding Scene Data to the UI
- Profiling the UI
- Localization of the UI
- Conflicts and Solutions During Prototype
- Identifying and Debugging Conflicts
Core Gameplay Prototyping
Core Gameplay Prototyping involves learning about the requirements mentioned in the GDD and converting it to code through a game engine. The GDD helped me to follow and create this 2D game. I added user control parameters through the C# script which let me also debug the game while testing. The below robot character is a Unity 5 asset which was used for this game.
Providing user controls are essential for any game and hence, for a platformer game, a simple WASD, up/down/left/right and SPACE keys are the "key" (see what I did there..ha..ha..ha) elements. Here is a preview of the type of controls given to a player through scripting.
One of the interesting feature created for this game was the auto-run which I initially struggled with however, providing me with more knowledge. It involves the 2D character script to detect platforms, looking ahead in distance, checking obstacle ray distance, enabling/disabling autorun state and selecting which enemies can be jumped upon to reach the next platform.
Finally, the enemy zoology were the type of enemies that the player comes across all controlled using the EnemyManager script. The enemies were grouped into Ground and Air enemies where Bober and Flapper were air enemies and Bouncy and Ground were ground enemies.
UI Scripting
This section of the game includes minimap, adding scene data to the game such as platforms and implementing HUD Localization. This would let the user change language settings which would change the language of the HUD to their preference.
Gallery