Asteroids
A simple Asteroids clone I made just to see how it would feel to work on a project with a small scope and known boundaries. I still managed to have some feature creep, but I got it done in a fairly short amount of time.
The game is based on the classic Asteroids, but mostly on this:
https://classicgaming.cc/classics/asteroids/index.php
The classic game mode replicates the original as closely as I bothered to make it. The custom game mode lets you tweak a few settings. There's some additional settings available for tweaking in the project that I didn't bother making available in-game.
To submit your high score you have to be playing the classic game mode.
Sounds effects are taken from the above link. All credits go to them. The only exception is the shield hit sound effect which I made myself.
The entire project is available for download by clicking the link on the right, no strings attached, do whatever you want with it.
I made a work in progress thread for this project on the official Unity forums if you're interested in seeing that. It is probably the tightest most structured project I've done in Unity, which was cool. Sadly none of the old builds are available, but it may be of some interest anyway. Here's a link to the thread:
https://forum.unity.com/threads/asteroids-clone.282022
Project information
Current version: 1.0.3
Built with: Unity version 5.6.7
The Unity project is hosted on Github:
https://github.com/oyvind-stromsvik/asteroids
You can get Unity 5.6.7 for both Windows and Mac from the Unity download archive:
https://unity3d.com/get-unity/download/archive
Add new comment
- Upgraded the project to Unity 5.6.7 and moved everything to Github.
- Upgraded the project to Unity 5.4.4.
- Made the highscore code work with the standalone builds and re-added the highscore display that I removed when the Web Player went away.
- Added Windows and Mac standalone builds.
- Removed my end point urls and secret key from the project because leaving those in was a slight security issue.
- Added a README.txt to the project.
- Upgraded the project to Unity 5.3.
- Misc bug fixes and polish.
- Made the project folder available for download.
- Changed "Volume" to "Game volume".
- Changed "Preset" to "Game mode".
- Added descriptions to what the different game modes are.
- Added "Game over" title text and a slight delay before the score prompt appears.
- Added a small delay before the next wave starts.
- Added extra lives at score multiples of 10000.
- Changed it so asteroids don't spawn on top of the player.
- Added a few seconds of invulnerability after death.
- Allow UFO's to spawn on the right side of the screen and fly left.
- Spawn less UFO's.
- Tweaked the way UFO's reorient themselves after colliding in shield mode.
- Made it so that you can only submit your score if you play the Classic game mode.
- Fixed a bug where asteroids would rotate in classic mode.
- The music beat now stops when transitioning to a new wave.
- You now have to enter at least 1 letter to be able to submit your score and you can only click the button once.
- Fixed a bug where the shield and/or flame of your ship would be visible when you died or teleported.
- Removed the next-gen mode. I've decided to cut features and instead include them in another project.
- Highscores are now in the game
- Added game presets to the menu. You can now choose between "classic", "next-gen" or "custom". Next-gen is lackluster at the moment, but I have some ideas. :p
- Added the pointy flame to the end of your ship.
- Added stars in the background.
- Tweaked the way the shield mode works. You now have 20 shield and lost 5 when taking a hit. You regain 1 shield every 5 seconds if you don't get hit.
- Added a new game option. You can now choose to play with a rechargeable shield instead of the normal 3 lives. Enemy UFO's will also have shields with this option selected, but their shields do not recharge.
- Fixed asteroid collisions when that option is enabled.
- Added the small UFO which actually aims at you.
- Given the UFO's some form of AI. The small one is smarter than the big one.
- Fixed the known bugs.
- Added an option to turn on asteroid collision. It's not perfect yet, but it's fun
- Added UFO's. Currently one UFO spawns every 10 seconds on the left side of the screen and travels across the screen randomly firing in all directions.
- Asteroids now have random shapes.
- Added the "Jaws" background music.
- Known bugs
- Some options seem to "stick" after the game restarts if you lose all your lives so you may not get the correct bullet cap and asteroid collision setting it seems.
- I think the UFO's reset your bullet cap if you have it enabled.
- Added a menu with a few options. Many more options to come.
- Fixed the transitioning from left to right and top to bottom. Asteroids, bullets and the player should now smoothly exit and enter the screen from all angles.
- Added the default 4 bullets max mode from the original. I've chosen to keep autofire though. Having to spam the spacebar to fire is not very user friendly. May make it a choice later to preserve the original click to fire design.
- Added simple particle effects.
- Removed Vectrosity from the project. It required to many changes to work properly
- Made it so the line renderers draw the lines once normally and once in reverse order. This covers up a lot of the twisting and makes the lines look much better than they did before. Not as good as Vectrosity, but close.
- Since Vectrosity caused all the known bugs they are all fixed now.
- Started using Vectrosity instead of Line renderers. Looks so much nicer
- Made the game black & white
- Added lives
- Added the hyperspace button (shift) which teleports you to a random spot on the screen
- A new level will start each time you clear out all the asteroids
- Known bugs
- If you lose all your lives the game restarts, but Vectrosity crashes catastrophically when that happens
- There's some weird flickering as if it's trying to render using both Vectrosity and Line renderers at the same time
- When you hyperspace the ship graphics stay behind when they should disappear
- Added some sound effects
- You can now blow up the Asteroids
- Added a score counter
- Initial release
There are no known issues or planned features at this time. If you've encountered a bug or have suggestions for additional features feel free to leave a comment and let me know.
Mark
Thanks for giving away the project. This is a really fun game and its cool to see how its made. Will you continue to work on it?
Øyvind Strømsvik
@Mark: Hey, Mark. Glad you like it. I doubt I'll continue with this project. I only did this project to get me started with Unity game development again. I had been away for a long time and I find it very hard trying to get back into the some of my old, big, never-ending projects. Sometimes it's just easier to find a small project or a tutorial to kickstart the process. :) One of my old, big, never-ending projects is a Grid Wars / Geometry Wars clone. I'll rather work on that than continue on this.
john
how do you do the high scores on the website?
Øyvind Strømsvik
@john: John, you can download the entire project and see for yourself, here:
http://twiik.net/sites/default/files/unity/project/asteroids-1.0.2.zip
I am also thinking of doing a tutorial on the subject. About the server side coding and database setup required. I can't say anything on whether or not this will happen or when it will be done though.