Skip to content

SergeiBak/Asteroids

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Asteroids

Table of Contents

Overview

This project is a recreation of Asteroids, a 1979 space-themed multidirectional shooter arcade game. A fun fact is that Asteroids was one of the first major hits of the golden age of arcade games; the game sold over 70,000 arcade cabinets and proved both popular with players and influential with developers. This solo project was developed in Unity using C# as part of my minigames series where I utilize various resources to remake simple games in order to further my learning as well as to have fun!

In Asteroids, the player controls a spaceship that can thrust forward, as well as turn left and right and fire at any approaching asteroids. The goal of the game is to survive as long as possible in the asteroid field by blasting or dodging any asteroids that come at you. Every 10000 points will award a bonus ship/life, good luck!

Test The Project!

In order to play this version of Asteroids, follow the link to a in-browser WebGL build (No download required!).

Code

A brief description of all of the classes is as follows:

  • The Asteroid class handles the movement & spawning of the asteroids.
  • The AsteroidSpawner class continuously spawns asteroids.
  • The AudioManager class handles all of the audio for the game.
  • The Boundary class allows the player to teleport to the other side of the screen when running into a boundary.
  • The Bullet class handles the movement & collision of the projectiles fired by the player.
  • The GameManager class handles the state of the game, as well as tracking score & lives, and updating UI.
  • The Player class handles player movement, shooting, and dying.

Technologies

  • Unity
  • Visual Studio
  • GitHub
  • GitHub Desktop

Resources

Donations

This game, like many of the others I have worked on, is completely free and made for fun and learning! If you would like to support what I do, you can donate at my metamask wallet address: 0x32d04487a141277Bb100F4b6AdAfbFED38810F40. Thank you very much!