Astravoid was designed to bring back your childhood nostalgia of the old classic arcade game Asteroids. We wanted to give the same vintage vibe of the class game while introducing some more modern effects and components.
What it does
Astravoid indulges you in a space exploration experience where you are battling alien space ships, asteroids from outer space, and more! We were able to execute all the parts of what makes the classic game Asteroid so fun while adding a modern twist to it, which made the end result a wholesome and inclusive experience that provides an older generation of players with the same thrilling feeling, while still delivering an exciting new experience to those who haven't tried Asteroids before.
You are greeted with a celestial title screen where you can choose to start the game by clicking "Play" or adjusting your mouse controls by clicking "Controls." You can play the game with or without your mouse, as you can use keyboard arrows to point the ship in the direction you want to move in, or you can point using your mouse instead. You can navigate through the screen by holding the w keyboard key or up arrow key to move forward and the left shift key to dash for faster movement, as well as the ability to shoot out bullets to enemies and asteroids through instantiation. Also, tab is to pause in-game.
The game starts off relatively easy and gets harder as you progress, and you start the game with 3 lives and have to avoid obstacles and enemies to not lose any lives. You can shoot out bullets with the left mouse click or space bar to destroy what comes in your path. Be careful not to collide with the asteroids that are all around you, and avoid the alien's deadly laser beams!
How we built it
We used Unity's 2D Game Engine for our game and coded with C# programming language as well as various Unity Asset Store components. We designed some of our very own art using Krita, such as the cool logo art, the alien spaceship, and the monster design. We used 3D asteroids for better graphics and gave them enough thrust and torque in order to imitate floating freely in space. We utilized Unity's sprite render to give a beautiful starry space environment skybox and carefully picked our sprites and graphics to match the game aesthetic. We gave the player's spaceship a smooth navigation effect through Unity's physics properties of Rigidbodies.
Our game pays close attention to details of effects to deliver its dynamic experiences, such as the slight screen shake upon collision, the animation and movement of the stars in the background, the pixel font for the UI, the button clicking sound effects, and the explosion effects upon an entity's death.
Challenges we ran into
One challenge we came across was the location and manner of the spawning of asteroids and enemies. We had to randomize the location of the asteroids while still making them spawn outside of the camera limits. The timing of the spawning was important too, so we made sure to release the asteroids, alien ships, and monsters in a timely manner to not overwhelm the player and crowd the screen.
Another challenge we ran into is replicating the screen wrapping from the original game. We wanted the game objects to wrap around the screen so that the objects would always stay within the camera limits. This was difficult to think through at first, but after some testing, we were able to accomplish this.
Accomplishments that we're proud of
We are proud to have built this game remix of such a good class game like Asteroid, and we felt that we had done well in honouring Asteroid's exhilarating experience. As making this type of game was new to most of us, we are very proud to have worked through this new experience together and produce this polished end product.
Taking a very well-known game and remaking it comes with a great burden as it is hard to live up to the same nostalgic and exciting feeling, but we were not afraid to take on this challenge! We are very proud to have made Astravoid go above and beyond with its rich experience thanks to its aesthetic graphics and melodious music and sound effects.
We are especially proud of the collision effects and sound effect systems, as they took our game to the next level and made it more fun for the player. We used a sci-fi space-themed soundtrack for the background and matched it with robotic sound effects for things like button clicking and game over sounds in order to match the arcade feel. We also loved adding the collision effects and the explosions from game objects' death.
What we learned
We were able to deepen our knowledge of Unity thanks to this project, as we experimented with a lot with things like Unity's physics properties. We learned how to create sound effects in Unity, as well as how to enhance the clarity and attractiveness of our UI. The process of testing and debugging the game was also an important part of our learning experience that leads us to develop our debugging skills.
What's next for Astravoid
The next step for Astravoid is including a more diverse set of enemies and add player customization. We would also hope to provide the player with different background graphics options to choose from to play in their favourite scenery and customize the background music from a music playlist.