
So I had a week to make my own version of the timeless classic Asteroids in Unity. Due to a family thing abroad (sister’s graduation) I would only have four days, so I had to go for simple yet effective, with a clear USP.
3D
I’m much more comfortable working in 3D and I knew right away I wanted my unique aspect to be a “chipping” mechanic, where each smaller asteroid that comprised the larger one would fly off on contact rather than spawning a number of small ones on contact with the large.
So I simply made a few low-poly asteroid shapes in 3DS and cut them into reasonably sized chunks. Below you can see how many make up one of these asteroids.

As the game would still only be played at one plane, I’d have to ensure that the bullets hit the pieces of asteroid regardless where above the origin they were released. For this reason, instead of checking for a sphere, the bullets check a 10m high capsule. That should be enough to catch all of them.
Gameplay
I also wanted to update a few of the old gameplay elements with new conventions. The first of these were instant movement and aiming independently of movement direction. Very much inspired by the Geometry Wars perfection of this genre I wanted the movement to be super responsive and the shooting to be in the “twin stick” style.
Almost everything else remains true to the original: when letting go of movement, the ship drifts for a while; a new life is awarded for every 10,000 points gained and the screen wraps (upon reaching the edge you appear on the opposite edge).

I also wanted to add in an extra challenge and, as I only had one day left at this point and didn’t have time to put in enemy AI, I made the huge asteroids. They’re a little absurd, but pretty satisfying to whittle away at.

Visuals
I didn’t have much time for VFX so I again had to go simplistic but effective. The most important was giving the small asteroid chunks a fiery trail as some of them would get lost on the dark background. Also a trail for the PC’s bullets made them feel a little faster and made them easier to pick out.
Then showing impact, be it on the asteroids or on the ship. For that I used some stylised smoke and explosion spritesheets I’ve collected over the years. Once these were in the game really came alive and felt much more rewarding, amazing the effect these small details can have.
Finally, so that you weren’t just playing as a red cube, I made a little ship with an independently rotating turret (always pointing at the mouse position). Also, upon movement input a little blue jet of energy is expelled from the ship.
There you have it
And that’s it. I think it’s a neat little game and shows what you can do in even a very short time. There are of course things I didn’t get to put in; a few of these (in the order I would implement them) are:
- Abilities or powerups (e.g. shields, teleportation (hyperspace), time-reverse)
- Weapon types (e.g. shotgun, explosive)
- Enemy AI (ships or turrets on the asteroids)
- Game state saving (e.g. high scores, ship builds)
- Collection system (e.g. collect ores for upgrade system)
- Upgrade system (upgrade weapon system or abilities [e.g. increase fire rate or length of shield])
To grab the Unity project head over here