3D Asteroids

Problem: Classic game modernization | Role: Solo Game Dev | Stack: Unity, C# | Outcome: 3D space shooter with AI enemies

Video Games

UnityC#3D Modeling

As part of my exploration into game development, I developed a 3D third-person shooter inspired by the classic arcade game "Asteroids" using Unity. The game is set within our solar system, with the player navigating a spaceship to defend Earth and other planets from an onslaught of meteors. The first level begins with the player in orbit around Earth, tasked with saving the planet from an approaching meteor shower. Upon successful defense, the player advances to subsequent levels, exploring other celestial bodies like Mars.

In addition to asteroids, I introduced dynamic enemy spaceships. These AI-driven adversaries initially patrol the orbit of planets, targeting the player upon detection. This creates a more challenging and engaging gameplay experience.

To manage the complexity of enemy behavior, I implemented a Finite State Machine (FSM) for AI decision-making. FSMs are a proven method in game development, offering simplicity and efficiency while allowing for robust control over state transitions. In this system, the enemy AI can only occupy one state at a time, such as patrolling or attacking, and transitions are triggered by specific in-game events, such as spotting the player or taking damage.

By leveraging the power of Unity and employing FSM-driven AI, I was able to create a seamless, immersive gameplay experience that balances strategic challenges with real-time action.