Space Invaders
This project is a recreation of the classic arcade game Space Invaders, developed using C# and object-oriented programming principles. The architecture leverages several essential design patterns, including Composite for managing hierarchical game objects, Observer to handle collision events and state changes dynamically, State for managing distinct game scenes (Play, Select, and Game Over), Command for encapsulating actions such as sprite animations, movement, and scene transitions, and Singleton for centralized management of game entities and resources. The gameplay mechanics involve animated aliens, randomized UFO movements, projectile management, scoring systems and progressive difficulty adjustments, all structured cleanly for maintainability and scalability.
• Implemented core gameplay mechanics including player movement, projectile systems, enemy formation patterns, and collision detection for authentic arcade experience.
• Designed progressive difficulty scaling with increasing enemy speed and spawn rates to replicate classic arcade gameplay loop.
• Created scoring system with UI elements for player feedback and game state management.
Github Link: https://github.com/kaan-dai/Space-Invaders