Solar Fortress Chronicles:
Hours 14 – 15
– I am rapid prototyping a retro game in my spare time
and keeping a diary of what I do each hour of the project.
14 and 15 were all I have been able to muster on Solar Fortress
(pronounced Star Castle) in the last few days.
This development session
started with 1/2 hour of code needed to add
the collision detection from part
3 (hours 10-13) into the inner
yellow and green
rings (and their associated ring segments).
After completing the basic
inner ring collision detection, I booted
up my pixel graphics editor and spend some time designing the center
boss enemy old-skool style. I first created a 40×40 png with a
transparent background and then set about editing it pixel by pixel at
800x zoom. Once I was satisfied with the look, I translated all of the
pixel line segments into moveTo and lineTo statements in AS3 to plot
the boss out on a vector canvas. I drew this into a BitmapData instance
and added it to a Bitmap inside my Boss class (extends Sprite). I moved
the bitmap to -20x, -20y (for center axis rotation) and placed it on
the screen in the middle of the rings.
Here is the Boss as a png. It is green because as I transposed the
pixel line segments to vector code, I re-colored the red to green to
indicate what was complete. The boss is red in the game.
I didn’t have time to code in
any AI or hit detection for the Boss
yet, but that will come tomorrow (if time permits).
So, the schedule for the next
few hours looks a little like this:
Hours 16-17: Boss collisions.
Boss AI to follow player and fire line
of sight through ring openings.
Hours 18 19: Add in chasers that patrol and make life
for the player – plus coins to collect to extra ships
House 20-21: Finalize all hit detection and ship movement, bounce
Hours 22-25: Create game loop, leveling, game over, start, end screens
Hours 26- 30: Zarjaz and sounds
Hours 30-35: Everything else I may have forgotten
Hours 36-40: Mochi, Kongregate, Mind Jolt APIs: ads, high scores,
Here is the latest build
(arrows to move, space to fire).