/Boomerang-Warrior

Prototype mobile game

Primary LanguageC#MIT LicenseMIT

Boomerang Warrior

Watch the gameplay of the Boomerang Survivor: https://www.youtube.com/watch?v=CjvDloQMvgk

Overview

Demonstration of advanced programming paradigms and design patterns, crafted to provide a seamless and enjoyable gaming experience. Built with Unity and integrated with tools like EasySave and NavmeshAI, the game stands out for its efficient coding and innovative features.

giftBaşlangıç

Development Process

  • The development of "Boomerang Warrior" was an exercise in efficiency and adherence to advanced programming principles. Utilizing Unity 2021.3.18f1, the game was crafted within a remarkable timeframe of 30 hours, showcasing not only rapid development skills but also a deep understanding of effective game design.

  • Key to this streamlined process was the strict adherence to SOLID principles, ensuring a robust and maintainable codebase. These principles, combined with a strategic use of design patterns such as Singleton, Observer, State-Machine, Object Pooling, Command and Facade, allowed for a modular approach to coding and game mechanics.

  • Tools like EasySave and NavmeshAI were integrated seamlessly, enhancing data management and character navigation. This not only improved the game's performance but also enriched the overall player experience.

boomerangAtma

Technical Highlights

Design Patterns and Architecture

  • Object-Oriented Programming (OOP): Ensured a modular and scalable codebase.
  • SOLID Principles: Provided a foundation for a robust and maintainable code structure.
  • DRY-KISS: Kept the codebase as simple and as non-repetitive as possible.
  • Clean Code Practices: Ensured readability and maintainability of the code.

Design Pattern

  • Singleton Pattern: For managing global game states.
  • Observer Pattern: To efficiently handle events and notifications within the game.
  • State-Machine Pattern: For managing character and enemy animation states and behaviors.
  • Object Pooling Pattern: To optimize performance, especially in rendering and managing game objects.
  • Command Pattern: For handling level initializations.
  • Facade Pattern: To simplify complex subsystem interactions, making them more manageable.

endgame

Unity Version

2021.3.18f1