Black Star is an action game that immerses players in the role of an intergalactic spacecraft captain. Players must use their piloting skills to navigate deadly obstacles while collecting valuable galactic gold and power-ups. The mission is clear: avoid obstacles to reach the destination with as much gold as possible before running out of fuel.
At the start of the game, the player is asked to input their name for scorekeeping purposes.
The player starts from the Launching Pad and must reach the Landing Pad with as much gold as possible without dying.
From left to right - Number of lives and fuel indicator, Launching Pad, fuel power-up, gold item, game level, player's score, and Landing Pad.
Players will die if they collide with obstacles or their fuel tank runs out.
The game progresses when the player reaches the landing pad on each level.
Once all three levels are finished, the player's score is compared to the previous highest score, and a message is displayed with the result.
Project Details
The game includes three levels, each escalating in difficulty. Players start by entering their names and are given three lives along with a full fuel tank. The levels are displayed at the centre of the screen, with the remaining lives and fuel status shown in the top-left corner and the player's score in the top-right corner. Launching and landing pads serve as the origin and destination points for the spacecraft. Additionally, coin and fuel tokens appear randomly throughout the levels, allowing players to increase their score and replenish their fuel supply. The player with the highest score at the end of the game is recorded as the top player, encouraging others to surpass their achievements.
Development
This project was developed for PC, mobile, and WebGL platforms using the Unity3D engine and Adobe Photoshop for texturing. The majority of assets were sourced from the Unity Asset Store and third-party providers.
Team and Collaboration
I independently developed this application, relying on tutorials and extensive self-learning. The project's completion highlights my dedication to mastering new concepts and technologies.
Key Responsibilities
Mechanics: Designed and implemented interactive elements and user interfaces using C# in Unity3D.
Input System: Developed and integrated input mechanics to manage user movement effectively.
Scene Management: Created the game flow in an application state and ensured data persistence across scenes and user sessions.
Visual Effects: Designed custom shaders using Unity's Shader Graph tool.
Version Control: Established and maintained best practices for version control using Git.
Optimisation: Improved code efficiency by adhering to coding best practices and resolving performance issues through debugging.
Challenges
Ensuring the game performed consistently across PC, mobile, and WebGL platforms required extensive testing and adjustments for screen sizes, input methods, and performance capabilities. Optimising the game involved identifying and resolving memory leaks and ensuring efficient code execution. Finally, implementing a reliable data persistence system across multiple scenes and user sessions was also challenging, particularly in maintaining the integrity of the player's progress and scores.
This project provided an incredible opportunity to showcase my proficiency in scene management, persistent data handling, and object-oriented programming principles acquired during the Unity Junior Programmer Pathway. Black Star demonstrated my ability to create seamless scene transitions, maintain player data across sessions, and implement modular, maintainable code. The game is playable on itch.io, and the repository is publicly available on GitHub, offering further insight into my programming skills and development process.