Skip to content

Repository files navigation

Space Invaders - 3D Game Prototype.

InspectMe Logo 🛠️ Boost your Unity workflows with InspectMe! Our tool simplifies debugging with an intuitive tree view. Check it out! 👉 InspectMe Lite - InspectMe Pro

Goals:

The main goal of this project is to recreate Space Invaders with gameplay variation and multiple technical objectives. Each enemy has a specific color. When an enemy of a particular color is destroyed, all connected enemies of the same color are also destroyed.

Game Image

Leaderboards:

Leaderboards display the top 10 users, sorted by score. The game supports local leaderboard storage but can be easily adapted for server-based storage. All leaderboard operations are asynchronous and responsive. Users must obtain a valid Auth Token from the Auth service before accessing leaderboards.

Services Contracts:

API contract details.

Game Flow:

The player begins at the main menu, then plays a session. The player can submit their score to the leaderboard if it exceeds any existing scores. The game returns to the main menu after the end of each session.

Discussion Points:

  • Architecture: The game uses a custom architecture designed to minimize reliance on MonoBehaviour.
  • Game states: The game uses a state machine for transitions.
  • Code flow: A single MonoBehaviour manages game flow.
  • Game Systems: These create and manage game entities.
  • Game Views: These represent in-game actors.
  • Game Settings & Parameters: All settings and system configurations are stored in scriptableObject assets.
  • Services Contract: A local leaderboard system with RestClient utility for handling database requests.
  • Game Systems: A variety of helper systems to manage game mechanics.

InspectMe Logo 🛠️ Boost your Unity workflows with InspectMe! Our tool simplifies debugging with an intuitive tree view. Check it out! 👉 InspectMe Lite - InspectMe Pro

About

3D Space invaders game prototype

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages