Worklog for Glenny-boy

Drop Fighter

Return to Worklogs

Project Status(Posted 2004-05-26)
Well, development has slowed down on Drop Fighter, but not in a serious way. Just had a lot going on. On the plus side, the end is in sight. All the big systems are in and I've started some serious optimisation. I'm a little nervous with how this'll perform on mid-range systems at the moment.

My to-do list has gone from 12 items to 3, and I'm actually at the point now of making levels. This doesn't mean the engine is finished by any means, I expect to be tweaking and adding stuff as I see the need. However, I've achieved pretty much everything I set out to in the beginning.

I'm hoping to hit beta within the next two months, fingers crossed.

On with the readme:

Versions
--------
v0.89 -- 19/05/04 -- The big giant patch.
=================
Additions and changes:
-Ships can now cause a blast wave when they explode.
-Campaign editor written. Campaign files not yet integrated with game.
-Time limit in missions implemented.
-Map mode added, with zoom, scroll, centre and briefing functions.
-Text attributes added to missions format, including mission title and
briefing.
-Blastwaves are now variable-speed.
-Fancy addition to blastwave effect- a harmless fast-moving "pre-wave".
-Optimisations to blastwave.
-New menu for choosing secondary weapon. Much simpler, using only the secondary fire buttons. This means the player can choose their weapon without having to put down whatever control device they use.
-Player ship's shield now recharges while docking/docked.
-Space missions now have a moving starfield.
-Missiles can now be launched from turrets. This includes ship-mounted turrets.
-Missiles now have a faint trace on the HUD. Makes them visible from a distance.
-New secondary weapon: ECM wave. A harmless wave that emanates from your fighter and eliminates all missiles in range.
-Profiles have been added for individual player options and savegames.
-Motion blur option added.
-Optimisations to particle effects.
-Scripts for missions, so far allowing messages to be sent to the player from other ships.
-Control keys can be redefined.
-Missiles can now target buildings.
-Removed ATG Missile and made ATA Missile into just plain ol'"Missiles". These can target air or ground targets.
-Turrets will now target structures and other turrets. This is great for when capital ships pass low over enemy bases.
-Missions are now selectable, along with campaigns.
-Fighters will now actively attempt to avoid the ground.
-Level script files can now include 'conditions'. There are three conditions to check for with six possible responses. Doesn't sound like a lot, but using these, the level design has been blown open to allow for much more varied missions.
-Optimisation: Turret targetting and tracking calculations now only take 35-40% of the time that they used to.
-Optimisation: fixes to collision handling have allowed the cap to be tightened on the number of between-frame collision test carried out. This is on a trial basis for the moment.

Bugfixes:
-Blastwaves no longer continue to exist when the level changes or the game ends.
-Mouse pointer is now centered when game starts and map menu is opened.
-Game should no longer crash when a ship or building targetted by AI is destroyed by something else. This is commonly a missile-related problem.
-Shadows are no longer offset from their correct position when game is running in 640x480. Still, I'd like a better shadow system, I still think they look poor.
-Game no longer crashes when dust particles are present on space missions.
-Target leading had a huge bug, where sometimes turrets would miscalculate a target's distance to be much further away than it was, making some turrets freeze up and stop firing. This has been fixed, although target leading may need further tweaks.
-Ships that need to be intercepted as a mission goal (which converts to "protected" when in range) will cause a mission failure if they are destroyed and are friendly.
-Ships no longer crash downwards in space. Instead they just explode.
-Ship-to-ship collisions are now correctly handled.

v0.88 -- 30/03/04
=================
Additions and changes:
-Added harmless wreckage from explosions. Looks pretty cool.
-Fighters will now stick a little closer to their targets when giving chase.
-Added gridlocking to editor. This enables modular construction.
-Optimised collision checking. It now only occurs within a slightly larger radius around the object than it's most distant point.
-Ships can now face different directions in the editor.
-Items can now be deleted in the editor.
-Ships can now be loaded at a rally point in the editor.
-Fixed memory leak that left tens or hundreds of files open at a time, depending on the level.
-Many, many, many fixes to make the engine reference ground/sea impacts only on missions that actually have those elements.
-Tweaks to target leading on turrets: note to self-- are they begin thrown off by being attached to a moving object?
-'Intercept' is now a valid goal. Ships with 'Intercept' as their mission requirement will revert to 'Protect' or 'Destroy' when approached, depending on their allegience.



Project Status(Posted 2004-03-22)
Here's the latest pile of updates for Drop Fighter. I've been mainly focussing on much-needed AI updates, and I'm glad to say that it's now a hell of a lot more challenging. Also, here's a screenshot:



v0.87a -- 18/03/04 -- The Turrets Patch
==================
Bugfixes:
-Turrets are now correctly destroyed when their parent ship is destroyed.
-Turrets were still occasionally pointing down into themselves. Now, they're simply not allowed to look below horizontal. That'll teach them.
-Turrets now /really/ won't shoot crashing enemies, even when that's all there is to shoot.
-Okay, I think I've got this licked, but I guess we'll have to see: turrets will not fire if their view is blocked. This includes their target being occluded by buildings and spaceships. Their projectile may occasionally still scrape the side of something that should be out of the way, but I've made sure this is rare.
-Small bug in turret target leading fixed: they would not target-lead in some circumstances.
-Turrets no longer judder when facing a target.
-Upside-down turrets now track as well as right-way-up turrets.

v0.87 -- 17/03/04 -- The AI Patch
=================
Additions and changes:
-AI: Turret tracking is now greatly improved. Turrets will now target-lead.
-AI: Missile AI is now much better at shooting air targets.
-AI: Fighters now target-lead.
-Weapons: Trialling bullets travelling at 200% speed.
-Weapons: New weapon type: laser. Currently used for some enemy turrets.
-Graphics: Upgraded effect for blast waves.
-Graphics: New, smarter icons for secondary weapons.
-Gameplay: Buildings can now generate blast waves.
-Gameplay: Airbrake added. Not sure how this'll affect gameplay. We'll see.
-AI: Fighters now use airbrake.
-AI: Improved fighter AI. Can hold target better.
-Gameplay: Turrets can now be attached to ships. Not too sure how well they're gonna work in different situations, but they're there, and they're shootin'.

Bugfixes:
-AI: Turrets now wait until they are within 90 degrees of the enemy before elevating their barrel. This prevents the issue of turrets getting confused and rotating downwards when an enemy comes into range.
-It is now no longer possible to dock by flying at parts of the Command Cruiser's hull that are adjacent to the docking bay.
-Ships can only dock in capships of the same side.
-Fighters will now correctly identify targets other than the player.
-Score loss for taking out friendlies is now applied.
-Turrets will now correctly identify targets other than the player.
-If a shot strikes a building close to the ground, priority is now given to shot vs building checks rather than shot vs ground. This allows the shot to deal damage rather than appear to pass through the object.
-Turrets no longer target ships that are in the process of crashing to the ground.

v0.86 -- 14/03/04 -- The Weaponry Patch
=================
Additions and changes:
-Weapon damage and other stats are no longer hard-coded.
-Ship-type weapons like missiles can now inherit data from the weapons database. This is done automatically when a weapon is spawned.
-Modifier data added for weapons vs. materials.
-Area of effect variables added.
-Limited ammo for secondaries added.
-Command cruiser now reloads player ammo.
-When docked, weapon select menu appears on-screen. Currently mouse-operated.
-HUD now reflects weapon choices and remaining ammo.
-New score and shield indicators. Look much tidier.
-Ship-to-ship collisions are now slightly less lethal than they used to be.
-Ship-type weapons deal correct damage to buildings, instead of just impact damage.
-Blastwaves are now implemented.
-High Yield Bomb is now useable as a secondary weapon.
-Tightened up missile thrust threshold for being on-target.
-AI adjustment: fighters can now tone down their movements when they are on target, allowing them to make very minor course corrections. Large improvements to accuracy, although still poor in a high-speed fight.

Bugfixes:
-Ships now explode when involved in fatal building collisions, rather than just vanishing.
-Updated docking checks to make sure that no ship-type weapon is allowed to dock.

v0.85 -- 11/03/04 -- The Missiles Patch
=================
Additions and changes:
-AI: Missile AI is substantially improved (at last!). Still needs some work, but they strike nearly every time.
-Gameplay: Missiles now explode after a period of time.
-Graphics: New font. Looks loads better.
-Graphics: HUD updated to use 3d rendering and new font.
-AI: Missiles can now cunningly cut their thrust if they are not on course, reducing their turning circle. On screen, missiles still appear to constantly be thrusting.
-Gameplay: Gun sight added to HUD forward view.

Bugfixes:
-Fixed bug causing incorrect reactions to ship-to-ship collisions.
-Missiles now deal damage depending on their payload strength rather than the raw collision damage.
-Fixed bug that, err, caused missiles to try to avoid any ships in close proximity. That's what I get for using modified fighter AI.



Project Status(Posted 2004-03-07)
Drop Fighter is an arcade combat game. The player flies the newest "Drop Fighter" on a mission to save Earth.

Details and screenshots to follow in a week or two. Meanwhile, here's the latest from the readme file below. Pretty dry stuff, really. The game has actually been in production since November 2003, but was at that stage a testbed for me to experiment with.


Versions
--------
v0.84 -- 04/03/04
=================
Additions and changes:
-Graphics: Added more elaborate hit effect to shot vs building collisions.
-Graphics: Dust particles no longer travel beneath the ground.
-Collisions: Shots vs buildings collisions are now more accurate.

Bugfixes
-Fixed crashing bug to do with handles for muzzle flare effects.
-It's now longer possible to enter a GAME OVER situation during a MISSION COMPLETE or MISSION FAILURE situation.

v0.83 -- 02/03/04
=================
Additions and changes:
-AI tweak: Added extra checks to ensure fighter will swerve away earlier from the target it is attacking. This is to counter the tendency of fighters to charge at someone they are attacking.
-Graphics: trying out a new, slick-looking fighter. "Good guys" tech will, hopefully, from now on reflect this newer, high-tech look. "Bad guy" tech will look more muscular and chunky.
-Handling: Experimenting with reducing the "slide" while turning at speed. So far, works quite well. Gives the player more control and freedom of movement.
-Graphics: Minor improvements to the internal camera used when docking.
-Misc: Player launches faster from Command Cruiser.

v0.82 -- 01/03/04
=================
Additions and changes:
-Three new buildings and a new turret are available to be put in the game.
-Shot range is now calculated in actual distance rather than time. This makes 8 million times more sense and allows shot maximum travel distance to be married up to the range within which turrets and fighters start firing at enemies.
-Missile lock will now target ground objects as well as airborne items.
-AI tweak: fighters will now increase their speed if target speed exceeds their own, and they are roughly facing the target.
-AI tweak: enemies will only fire on targets if within weapons range (currently all references to this are hand-coded), in addition to the other conditions that need to be true.
-AI tweak: fighters will not shoot a target if their view of it is obscured.
-AI tweak: AI ships will now swerve and thrust clear of any ships that are getting quite close. Reduces likelihood of them hitting each other and player, and prevents player from tailing them so easily.

v0.81 -- 27/02/04
=================
Additions and changes:
-Enemy turrets will now shoot the nearest friendly craft in range.
-Change to building file format to include friendly/enemy buildings. Settable in editor.
-Turrets will check their own allegience before deciding who to fire at, making it possible for the player to have help from ground-based turrets.
-Fixed long-standing bug where particles would not orient to the camera for the first frame of their existence.
-Shots are now larger and more visible, with a billboard-glow.
-Vastly improved collision detection for shots.
-Added more elaborate hit effect for shots. Has surprisingly low performance hit, but may impact low-end computers more.

v0.80 -- 22/02/04
=================
Additions and changes:
-Created improved menu-driven GUI. So far integrated into the unit editor, and may soon be added to the level editor. Hopefully, this game will ship with editors to add units to the game and make new missions. It's unlikely the game will ship with editors for the actual base worlds or ships.
-Spawn options are now settable in the unit editor.
-Ships now spawn from hangars etc. Aircraft carriers soon to follow!
-Added new "launch" AI mode, so ships fire up their engines and follow a straight course for a few seconds while taking off.
-Idle AI has now been altered to include search-and-destroy. Any ships with no active AI profile will switch to attack when anenemy unit is nearby.
-Enemy turrets will now shoot at the player.

v0.77 -- 15/02/04
=================
Additions and changes:
-Fixed some framerate issues with missiles. Missiles no longer collide with other missiles, and do not generate particle trails beyond a certain range.
-New missile model. Looks a bit groovier, but I'm not sure it's worth the extra polygons for something that's barely seen.

v0.76 -- 11/02/04
=================
Additions and changes:
-AI upgrade. Enemy fighters are much better shots, but still do not target lead.
-Some of the explosions are now even cooler!
-Implemented varied explosion types for different buildings.
-Missile-ship collision now implemented.
-Capital ships now explode and are removed from the game world when
destroyed.
-Interface upgrade, with new GUI. Mouse driven buttons and graphic options screen added.

v0.75 -- 10/02/04
=================
Additions and changes:
-Ship-to-building collisions now implemented
-Added speed-step for ship collision checks. If a ship moves a large distance between frames, the program will perform additional checks to minimise the chance of the ship passing through a shot or building.
-Collision routines updated with low-poly collision checks. Much faster.
-Ship-to-ship collisions now implemented.
-Player ship now crashes to the ground when destroyed, like other ships.
-Reversed checking for shots so that impact effects are more visible.
-Hit effect for shots striking ships.
-Ships now leave a smoke trail when crashing.
-Ships now have a nice metallic sheen to them.
-Ships can no longer be damaged by enemy fire while docked.
-Ships no longer cause a wake or surface dust effects while crashing.
-Ships crash a little faster.

v0.72a -- 09/02/04
=================
Additions and changes:
-File format changes to buildings: they can now be flagged as mission critical (protect or destroy) in the editor.
-File format changes to level header: level can now be given a time limit, and the requirement of docking in the mothership to complete the mission can be toggled on and off.
-Shadows have been made sharper, at the cost of the distance from the camera that shadows are generated.
-Checking for "mission complete/failed" added, based on mission destruction targets and mission protect targets, as well as the optional requirement to dock with the Command Cruiser to trigger mission completion.
-Any ships placed in or close to the Command Cruiser docking area in the editor will begin the mission docked.

Bugfixes:
-Game no longer crashes when clearing world while a muzzle flare is present in the game world.
-Game no longer occasionally crashes when clearing the world due to uncleared waypoint markers.
-Game no longer crashes when clearing world due to waypoint handles being stored as floats. (a)
-Game no longer creates multiple (unused) instances of world items after each play cycle.
-Ships now correctly have their attributes erased when they are destroyed.
-Game will no longer reinitialise the graphics mode between menu and gameplay. This also removes the need to recreate multiple in-game elements between the two stages.
-Fixed numerous memory leaks and wastage.
-Fixed control for setting mission critical requirement on ships and buildings in the level editor.

v0.7 -- 04/02/04
================
Additions and changes:
-2 new building models
-Adjusted file format to allow for buildings that spawn fighters
-Added rotation for buildings, so they can be placed to face any direction
-Clouds
-Shadows (quite poor: need improvement)
-Moving texture layers for sea; not quite friendly with older graphics cards at this stage
-External windowed configuration program so players can choose resolution and GFX device before running the game. This resolves an issue where the default resolution was 640x480x16, which is actually too LOW for some drivers. I wanted the game to start in the most widely compatible screen mode, and 800x600x32 is really a safe bet these days. Nevertheless, even safer is letting the player choose resolutions. How this works with multiple monitors or wierd-sized monitors is anyone's guess for now.

Bugfixes:
-Fixed crash that always occurred when new game begins after one has already been played.