- Camera and Model classes shamelessly stolen from ‘Dozer.
- All models done.
- Models displaying on screen correctly.
- Resolution set.
- Font located.
- Got font working.
- Got font to display at the same time as ship.
- Created a Gamepad manager and hooked it up to the model.
- Created a base physics tracker and hooked it up to the model.
- Created a Ship class which contains the physics tracker, model, and padmanager. Now, my game’s update function looks like this:
- Added basic collision detection to the model.
- Fixed the physics tracker so that it tracked scale as well as position, velocity, acceleration etc…
- Created a Particle class to track bullets.
- Created a Particle System class to track particles.
- Created a Particle Manager Abstract class. Next: Bullet Manager.
- Got the Bullet Manager, and the Particle Systems working! Woohoo! This, ladies and gents, is the first step towards custom weapons in the mech game.
- Starfield! My particle manager is truly versatile!
- Particle Manager now handles three distinct particles: Bullets, shrapnel, and stars. Woohoo. Time to stop playing with that and add some bad guys.
We can fly, shoot, and pause. Now we need something to shoot! Aaaaand…. go!
- Made a copy of the player’s ship class. Named ‘Minion’ in the fond hope that I might do a boss, somehow.
- Switched out the ship’s gun locations.
- After much wrangling, got a minion on the screen shooting two bolts out of his gun. Under player control, for now.
- Incidentally, even though I had built in the setup where the program finds the nose of the gun in the model data and uses it as the shooting point, the shots were still coming out of the nose of both models, even though I told the minion to use his engines instead of the nose. Rooting around in the code for why that was also allowed me to fix a bug that would have made the collision detection malfunction. Right! Time to make the bullets hit!
- Got the bullets to hit. This is the first time I put the collision detection system I made yesterday afternoon and fixed twenty minutes ago to the test. And it works like a dream. The bullets only hit when they solidly hit the ship.
- And now… SPLOSIONS!
- Next on the list is giving the enemy his own ability to move, which means making a State Machine, the heart of Game AI. But first: SHOWER!
- Toilet crapped out on us. [sarcasm]Haha, get it?[/sarcasm]
- Built a base state class for the state manager. Now for an evade class.
- Score counter created.
- Enemy respawn created.
- Evade, Wander, and Search&Destroy behaviors created.
- Swarm created.
- Enemies given ability to maneuver around each other. Kind of.
- Bloom added.
- Minions come in waves of six.
- Initially, a minion dies upon being hit. Every three waves, the number of hits a minion can take goes up one.
- Every wave, the minions grow slightly more aggressive.
- Every wave, the minions grow slightly faster.
- Each time you hit a minion, you get a point. Each time you kill a minion, you get two more points. Each time you finish a wave, you get four more points, plus points equal to the number of waves thus far.
- For each bolt that hits you, you lose a point.
- You have a life rating that decreases whenever you are shot.
- Your life regenerates at a rate of one point every ten seconds.
- If you have taken damage, you emit red sparks in proportion to the damage you’ve taken.
- You can die. You have three lives.
- When a new wave spawns, the enemies are temporarily invincible, but will not fire until they are vulnerable. When you spawn, you are temporarily invincible but cannot fire until you become vulnerable.
- Your enemies don’t waste shots if you are dead or invincible.
- Characters are different colors when invincible.
- The background starts out black and becomes faintly bluer each time you kill a wave.
- The number of stars increases a small amount every time you kill a wave. The effect is not noticeable during play, but will become noticeable when players are able to start a new game and go “Holy crap! There’s fewer stars!”
7/16 – 20
- Accuracy bonus based on shots fired/shots landed.
- A Time Bonus that counts down as you play.
- Enemies AI improved to something resembling actual non-random behavior.
- Movement for everyone tweaked.
- Dynamic life display created.
- Bugs regarding life display mercilessly exterminated.
- Caffeine consumed.
- Enemies regenerate and emit sparks when damage, to encourage the player to take risks and chase down wounded foes.
- Reset Function created so that new games can be played.
- Control globalized (updated by the game, not the player’s ship), so that you can pause and stuff when the hero is dead.
- AI taught to spread its fire out a little more, so you’ve got places to dodge. Average programmer score now 550.
- Pruned blog to put all Seed posts in one place.
- Made a menu class.
- Made a title menu.
- Made a pause menu.
- Tweaked the AI to be exponentially more jumpy the more alone a minion is, and to make sure that at least one guy is trying to kill you, thereby ensuring that the last minion doesn’t spend twenty minutes hiding in a corner while your bonus slips away as you try to line up shots.
- Added a text centering and drawing class, to simplify things.
- Added instructions.
- Added Credits.
- Created a countdown timer so that game modes switch at appropriate moments.
- Created Hiscore changer
- Created input methods for changing hiscore initials.
The game is functionally finished! All that needs to be added are sound effects, (maybe) music, the reward pictures for the Prophesy segment, the altered control manager for the XBox, and the saving and loading of high scores and picture unlocks for the XBox. The last two can wait for the App Hub account.