Home  |   Java  |   The Chosen (RTS)  |   Research  |   About  
Java Apps:        

Fresh Programming - Asteroids by Dougie Fresh
Asteroids
     Fly your spaceship through an asteroid field which is periodically traversed by flying saucers. The object of the game is to shoot and destroy asteroids and saucers while not colliding with either, or being hit by the saucers' counter-fire. (Work in progress)
Version 5 - Created: 2007/11/06 Last Updated: 2007/11/06
     After countless hours and numerous long nights all spent on this asteroid game, I was feeling a little disheartened about the obvious flicker in the version 4. To clear my head, decided to take a break and focus on some other little stuff. While playing around with a few simpler systems, I stumbled upon a new graphics engine that I knew would look awesome on my asteroids. This version is the embodiment of that graphics engine. This version, other than a few small tweaks, is the exact same as version 4 except of course for the graphics engine. Hopefully this engine will hold up to the rigors of my coding and become my new best friend.
Version 4 - Created: 2007/09/21 Last Updated: 2007/10/03
      This is the first official version with sound, although they still need a little tweaking. By the time this version was ready to be released, i had made several changes to the game play. I figured out a way to give the player a "safe zone" when asteroids are being generated, either in a new game or after clearing a level. I also added a very simple timer to give the player some celebration time before the new level begins. Sadly this very simple time has some drawbacks and will eventually be made into a complete stand-alone timer object so that the processor can take a break as well. In addition to the end level timer i also added the entire Invulnerability engine that flashed the ship and makes it unbreakable for a given length of time. Now when the ship is destroyed, it will be brought back with a temporary invulnerable status, to give the player a chance to fight back, and recover from the mishap. The life, and score part of the game have not yet been implemented, but will definitely be included in the next version. With the addition of the reincarnation, but not the counting of lives, I wanted players have the opportunity to play forever but not get their hopes up with irregular scores.
Version 3 - Created: 2007/09/20 Last Updated: 2007/09/21
      I wanted this version to show the basic game before any scoring, user interface or even any smooth transitions were applied. Hopefully, when I'm finished, the game will play very similarly but will have a very different look and feel. This version is very similar to version 2 with one major exception. This version contains a primitive 1 level collision detection engine that makes the game play feel much more complete.
Version 2 - Created: 2007/09/17 Last Updated: 2007/09/20
      Before I completely committed myself to this project I wanted to make sure that I could smoothly implant animations for the destruction of the asteroids and the ship. I was unsure if normal users running off an applet could handle the complex multiple processes necessary to create the animations. Using the polygon of the randomly generated asteroid I was able to extract exact coordinates of each point, create lines from those points, find midpoints of those lines and rotate the outer lines around the midpoint evenly while fading to black. The end result is pretty cool and I thought it release it early just to show off and test it on other computers.
Version 1 - Created: 2007/07/31 Last Updated: 2007/09/20
      Not the official first version, but the first version I was proud enough to share. This was the first stage of this project and this was a very good stopping point. It took some significant coding to get to this point, but I think it was well worth it. I decided to, instead of rushing though it, to slow down and add little modifiers to just about everything. Using an admin control window I can control everything form asteroid, or ship sizes to acceleration and gravity forces. I may one day reveal some of these secrets to those curious enough to try them out, but for now it would be was too much trouble try and explain the purpose of every single variable and have to change it.
      This first release was mainly to just demonstrate the controls, the painting of the ship, generation and painting of the random asteroids with rotation, and how the fired projectiles would work. It also helped me to gauge how much work I needed to do to optimize the code to accommodate those with slower CPUs. Overall this main version one was where most of the very hard calculations and man hours occurred. In the end it came out to be a very successful portion of the entirety of the game and served as a cool test environment for adding new elements or just tweaking existing ones.
Copyright © 2017 Dougie Fresh