- PodFighter -
- author: Ben Amos of Shuriken Games -
- current version: 0.9.6 beta -
- date of release: Jan 18, 2006 -
- This game powered by Torque 2D. (www.garagegames.com) -


           /*************\
<--------> | Pod Fighter | <-------->
           \*************/


*** The Story ***

You are the test pilot for a prototype galactic fighter.  You were out for a testing run along the asteroid ring surrounding Galactia 4 when you suddenly came under attack by enemy forces.  All communication with headquarters has been lost.

Your position has been found by the enemy, and they have called in for reinforcements.  To get back to neutral space, you'll have to deal with wave after wave of enemy forces.  And judging by your proximity alert, there's going to be an asteroid shower soon ...

Give 'em hell.


*** Running The Game ***

To start the game, just double click the "PodFighter" batch file.  Easy!


*** Flight Controls ***

Your podfighter ship flies like most common fighters of the age.  You can use either the arrow keys to maneuver your ship, or the more commonly used 'wsad' configuration - 'W' being up, 'S' being down, 'A' being left and 'D' being right.


*** Weapon Controls ***

Your podfighter also comes with a state of the art mouse operated cannon.  Just point and click with the left mouse button at any hostile target on screen, and your cannon will fire deadly photons at the enemy with precision.  Click and hold for automatic fire, or click repeatedly for multiple shots.

If you acquire any bombs during the game, they can be deployed with the right mouse button.  They're hard to get and spectacularly powerful, so use only in an emergency.

The space bar may also be used to fire, and the 'b' key to deploy bombs.  Optionally, the mouse aiming feature can be disabled for a more 'classic' feel.


*** Gears ***

At the top of the Heads-Up Display (HUD) is the charge meter.  Collecting charge particles left behind by enemy ships that you destroy fills the charge meter.  When it is full, it will start to flash.  At this time, you can upshift to a higher gear and greatly improve your ship's performance.

Using your mousewheel, you can shift to a higher or lower gear.  You may also use the period ('.') key to upshift and the comma (',') key to downshift.  Higher gears make your ship more maneuverable, fire shots faster and farther, and regenerates your shields faster.  Higher gears also drain your ship's charge meter at faster rates.

While in gear 1, your ship will operate at minimum performance - your shields will not regenerate, and no charge will be depleted.


*** Pod Cannons ***

Pods are powerups that you can collect as the game progresses.  Each one gives you another cannon that floats near your ship and mimics your shots exactly - except for missiles.  Only your ship can launch missiles.  They are deployed automatically, but take care!  If they take too much damage, you will lose them.

If you have any pods deployed, pressing keys 1-8 will assign different formations to your pods.

1 - Diamond formation
2 - Box formation
3 - Rotary formation
4 - Vortex formation
5 - Shield formation
6 - Flying 'V' formation
7 - Line formation
8 - Trailing formation


*** Other Controls ***

Pressing 'P' at any time will pause the game.

Pressing 'esc' will abort your current game and take you to the high scores screen.


*** Powerups ***

A variety of powerups can be collected during the game to aid you.  Here they are:

Charge Particles - Charges up your ship's charge meter to reach higher gears
Shield - Recharges your shields a little
Repair - Restores ship health
Speed - Makes your ship fly faster
Pod - Launches a pod that flies near your ship, mimicking your shots
Spread - Fires an extra photon in a spread pattern
Power - Increases damage dealt by photons
Missile - Guided missiles are launched at regular intervals when firing
Rapid Fire - Doubles rate of fire
Bomb - Gives you a bomb.  Bombs can be deployed at any time by clicking the right mouse button.
Overshield - Supercharges your shields.  Shields slowly bleed back to normal over time.
Armor - Halves damage dealt to your ship
Shield Regen - Gradually recharges your shields
Nanos - Gradually repairs your ship
Extra Ship - Gives you an extra life
Invincible - Ship becomes indestructable for a short period of time


*** Credits ***

While the majority of the work was done by myself, I'm not insane.  I had a little help.  The first and foremost credit goes to the guys at GarageGames.com, the makers of TorqueScript and creators of the Torque Gaming Engine used at the heart of this game.  I'd also like to thank Enterbrain, formerly a subsidiary of ASCII.  I stole ... *cough* borrowed a few sound effects from the RTP that comes with RPG Maker 2000, and for a while I was using a few graphics as well.  The graphics have been removed, but the sound effects remain.  Thanks also go to the makers of iDraw3.  Also CursorArts, makers of ImageForge.  And a tremendous thank you goes out to the guys in the #garagegames channel on mIRC for giving dumb answers to dumb questions when I needed them the most.  Thanks to David "Biggz" Bigerstaff and Philip Mansfield for offering to host the game on their site - Biggz especially for putting up with me as we were trying to get things to work on his computer.  And to Matthew "King Tut" Langley, whose many tutorials on the garagegames developer forums were a well-made guidebook to the unfamiliar territory of TorqueScript and T2D development.  And to all those who've playtested this game and given me suggestions - most notably Jeffrey and Tony.  Thank you all!


*** History ***

~ Version 0.1 ~

Controls
"w" / "up" = fly up
"s" / "down" = fly down
"a" / "left" = fly left
"d" / "right" = fly right
"left click" = fire cannon
"mousewheel" = shift gears
"q" = quit

Powerups
R = Rapid Fire
S = Spread
P = Power Shot

~ Version 0.4 ~

Pressing the 'p' key pauses the game now.

More powerups!
I = Invincibility
A = Armor
Health+ = Nanos (gradually regenerates ship's structural integrity)
Shield+ = Shield Regen
Overshield = sets shields to triple maximum (does not appear to work fully)
Pods = Extra cannon that hovers near your ship

Pods can be controlled through the use of formations.  You can command your pods to assume one of eight formations by pressing keys 1-8 on your keyboard.
1 = cross
2 = box
3 = circular
4 = vortex
5 = shield
6 = the 'V'
7 = line
8 = tail

Placed a limit on how many sprites can be on screen at once to lighten the load on the CPU.

Now when the player's ship gets hit (without shields), the screen shakes a bit.

Also, enemy ships have appeared, capable of firing shots at your vessel!  Dodge carefully!

~ Version 0.5 ~

Created enhanced flight AI for the enemy ships.  Mix and match between 10 potential flight patterns, each at varying priorities, to create dozens of possible ship behaviors.  Still uses basic firing and targetting AI, though.

Fixed the overshield bug - they were registering as mere shield boosters in script, an easy fix.  Overshield powerup works now.

Streamlined the display of the player's shields, and fixed overshield display problems.

Duration of invincibility decreased to 20 seconds.

Fixed formation #7, the line formation, to have its cannons pointing up, not down.

Assigned a maximum velocity to the asteroids.  They eventually got going so fast you didn't have time to shoot them before they were off-screen.

~ Version 0.6 ~

Locked the mouse to the window - no more annoying chance of switching to another program at a critical moment.

Added new sounds and visual effects for a more informative and appealing playing environment.  Jet flames, shockwaves for dissipating photon shots, ships slowly turn a reddish tint when damaged, and the player's ship turns pretty colors when invincible!

Lowered the spread shot max to 3, and the power shot max to 2.  Gotta give the enemies a chance, right?

Raised the base autofire rate to 200 ms per fire, in hopes of cutting down the player's projectile count when weapons are fully powered up.

New flight AI's introduced - the 4 base directions, fly at obstacles, and fly near asteroids.

Enemy ships now come with their own specific values for radar, speed, and power of their shots.

~ Version 0.7 ~

The player's ship now fires homing missiles.  Woot!

Added the new and powerful tractor beam to the enemy ship's arsenal, as well as missiles and the ability to spawn more ships.  The tractor beam can be used to grab hold of nearby asteroids and use them for cover, or actually reverse the polarity and fling the giant space boulder's in the player's direction with startling aim!

Made several fixes to the flight AI used to fly near asteroids ... the function now returns a vector that will eventually put the enemy ship behind the asteroid from the player to use the asteroid as cover.  This AI is also used to detect asteroids for use of the tractor beam.

Broadened the use of pause to now halt the processing of ALL recursively scheduled functions, such as AI and ship healing, as well as player input functions.  Not all of these functions were halted before.  Invincibility duration still counts down when scene is paused, however ... further knowledge of the Torque scheduler is required before I can remedy that issue.

~ Version 0.75 ~

Missiles now explode on impact, inflicting much greater damage than they did previously.  Any objects in the blast radius will be damaged.

Enemies that shoot missiles now fire on a timed schedule.

The player's ship pods now also fire missiles.

Further adjustments were made to the spawning cap ... raised the maximum sprite capacity on screen to 1000 objects.  This seems to have fixed certain errors with missiles and shots spawning, but wow does the screen get cluttered later in the game.

Added a new priority level 10.  This was implemented primarily to keep the enemy ships from sneaking off screen and hiding.  Very annoying.

Lowered player's health/shields ratings in attempts to level the playing field a bit.

Raised the cap on an asteroid's max velocity, so even the big ones can be hurled by the tractor ships.

~ Version 0.8 ~

Added Shuriken logo splash screen, and GarageGames logo splash screen.  After these two appear, you are taken to the title screen.  From the title screen, you can select New Game to begin playing, or quit to exit the game.

After you select new game, you have 3 ships to lose.  That's it, three.  After that, you get booted back to the title screen.

Sketched out some custom bitmaps for the various powerups.  Now it's MUCH easier to see which powerup you'll be getting.

Powerups now bounce around screen and are harder to catch.

Updated HUD, at last!  Much prettier, with actual icons to represent the powerups that have been collected thus far.

~ Version 0.8.2 ~

The game now keeps track of the top 10 high scores, displayed on a High Scores screen.  So the flow between screens is now as follows:

Shuriken logo -> GarageGames logo -> Title Screen -> High Scores -> Title Screen -> ...

Or, after selecting new game from the Title Screen:

Game Screen -> Title Screen -> High Scores -> Title Screen -> ...

~ Version 0.8.3 ~

Cleaned up the collision code.

Rewired the damage sound effects.

Shields now display with an alpha blend of 50% when at full strength for a more 'realistic' look.

Fixed explosion damage calculation - now the closer you are to the center of the blast, the more damage you take, instead of the other way around.

Tweaked AI flight vector calculations.  In particular, changed the AI flight priority values to an exponential progression, and added a tolerance value for flight vectors given.  If a flight vector is too short, it is simply ignored.

Enemy AI flight patterns are now more closely based on the enemy ship's weapon type.

~ Version 0.9 ~

Difficulty now gradually scales upwards with time.  LOTS of variables are involved in these calculations.  The longer the game progresses, the crazier it gets.  Now it truly has a game-like feel.

Fixed asteroid collisions that were causing the speakers to crackle unpleasantly.

Pods no longer fire missiles.  Instead, the player collects missile powerups that allow the ship to fire multiple missiles.

Extra ships are earned at consecutively higher scores.  Extra ship powerups can also be gained from shooting enemies and asteroids.

No more invincible pods.  They get hit, they explode.

Raised rate of fire and speed of enemy photons.  Now even the basic weaponry is a force to be reckoned with later in the game.

The game now waits to respawn the player's next ship until all enemy ships and missiles have cleared the screen.  A new flight AI, moveOffScreen, was implemented to direct ships off screen after the player dies.

~ Version 0.9.2 ~

Bombs!  Bomb powerups can now be snagged from enemy ships and asteroids.  When dropped, there is a short time delay, and then a massive explosion clears a large portion of the screen of enemies.  Very powerful.  If you get a bomb, you can drop it at any time by clicking the right mouse button.

More intuitive GUI interface, with buttons that light up!

Button added on High Scores screen that allows you to reset the high scores.

Two new powerup images: speed and bombs.

A few bug fixes: Cleaned up the tractor beam code - again.  Ship radar is now clipped to look at what's on screen only.  Enemy ship AI is now based on the enemy ship's weapon type.

Cursor changes to a cross hair when in game.  Much better for aiming, as well as look and feel.

~ Version 0.9.3 ~

Fixed the crosshairs.  Now the photons orient toward the center of the crosshairs, rather than the corner.  It's much easier to see now as well, not blending in to the background.

Added more force to the thrusters on the player's missiles.  They seek and destroy much better now.

Lifted the maximums for player's spread, power, speed, missiles, and pods.  Let's get crazy!

Capped the number of enemy ships on screen at once to 10.

Repair powerups and nanos can now heal pods if the player's ship is fully healed.

ShieldRegen and Nanos powerups can now go beyond values of 1, for faster ship regeneration.

Enemy ships now have health and shielding that gradually increases as game goes on ... as was intended.

Moved the HUD to the bottom of the screen, and gave it a pictorial spaceship style backdrop.  MUCH better.

Put a cap on the number of player photons on screen to 100.

All missiles explode when player dies to help clear screen faster.

~ Version 0.9.4 ~

Enemy ships now come in eight different flavors, gradually introduced as the game progresses.  They also spawn in preset waves that are randomly determined and grow increasingly difficult as the game progresses.  Boss ships are here as well!

Enemy ship's shields regenerate.

Fixed trail formation bug - pods follow properly.

Ship heals more gradually now, every tenth of a second instead of every second.

~ Version 0.9.5 ~

Higher gears must be charged up before they can be access.  Ships release small charge powerups.  Collecting these increases the ship's charge.  Once sufficient charge is reached, you may shift up to a higher gear, which greatly improves ship performance.  Charge can be seen with the charge progress display bar on the HUD.

Finally got the enemy ships to get all the way on screen and then stay there, with no glitches or odd behavior!  Yay!

Switched over to new images and sounds, making a few improvements in those areas.

Missiles are more maneuverable now.

Higher scores must be reached to earn extra ships now.  Asteroids, bosses, and powerups get you less points than they used to.

Medium size ships shoot two photons at once.  Bosses shoot four at once.

Asteroids that are tractored will now gradually migrate toward the center of the screen.

Game difficulty does not set back to 0 after player's death - it is merely halved.

HP of pods deployed has been doubled.

Maximum power upgrade set to 5.  Maximum missiles set to 5.

~ Version 0.9.6 ~

All weaponry can now be operated with or without the mouse.  The space bar fires the cannon, 'b' drops bombs, and the ',' and '.' keys (comma and period) shift to higher or lower gears.  Mouse aiming can be turned on or off at the main screen.  (When off, the cannon always points up.)

Game begins in fullscreen mode, straight out of the zip.

Repair powerup fixed - now it really does repair damaged pods.  Really.

Maximum length of any name placed in the high scores is now 14 characters.

Look and Feel: The repair powerup has a new image.  Charge particles are larger.  Removed the numeric gear charge display from the HUD.  Shields have been brightened up just a bit, and damaged ships pass from yellow to red to show damage.  Bombs that are dropped have a new look ... not that they're alive long enough to notice, really.

Tweaks: Speed powerups provide less of a movement boost, but the ship's base speed is higher.  Minor tweaks have been made to how much of a bonus higher gears provide.  Tweaks have also been made to how fast enemy ships gain in strength.  The pods follow distance was shortened just a hair.  Guardian ships have more shields.  The game difficulty progresses more slowly, and resets further upon player death.  Game difficulty for a new game begins at level 1.

This game is now compliant with ALL aspects of the Torque2D EULA.