This project represents a hypercasual game prototype developed within a limited timeframe of approximately 48 hours (spread over several days) as a case study for a mobile game studio. Despite my initial hesitation towards these assignments, I viewed this opportunity as a chance to delve into a new genre and demonstrate my programming skills.
The purpose of this project was to demonstrate my coding style and development approach within the context of mobile game development. While the final game did not meet the studio's expectations, the experience provided valuable insights into the mobile game market.
Throughout development, the emphasis was on implementing clean and efficient code to highlight my programming capabilities. My focus was less on creating a polished game and more on demonstrating proficiency in game development techniques.
- Basic Runner Gameplay: This prototype features a straightforward runner-style game where the player navigates through gates.
- Mathematical Operation Mechanics: Each gate encountered applies a mathematical operation (e.g., multiplication) to the player's power, enhancing the game's strategic element.
- Coin Collection and Shop System: Players can collect coins during gameplay and use them in shops to purchase and equip skills, demonstrating basic progression mechanics.
- Data Persistency: The game implements saving and loading functionality to maintain player progress across sessions.
- Dependency Injection (Inversion of Control): The project utilizes Zenject for dependency injection, showcasing architectural patterns for modular and scalable code.
- Reactive Event Handling: ReactiveX for C# is utilized for some of the event handling, showcasing reactive programming principles to manage game events.
- Lazy Loading: Initial scene is loaded lazily to reduce initial loading time.
The project was initially allocated a timeframe of 72 hours for completion. However, due to my concurrent commitments with a day job, I was able to dedicate approximately 48 hours to the development of this prototype. This constraint underscores my ability to efficiently deliver a functional game within limited time, balancing professional responsibilities with project demands.
Certain third-party assets used during development have been excluded from this repository due to licensing restrictions. As a result, the project may not function correctly without these assets. Please note that this repository is intended solely for demonstration purposes.
While this prototype captures a snapshot of my skills at the time, I have identified areas for growth and learning from this experience.
Feedback and suggestions for improvement are welcomed. If you have any ideas on how to enhance this project or encounter any issues, feel free to open an issue or submit a pull request.