User Tools

Site Tools


3-D Starfighter Engine


A 3-D starfighter engine for implementing games like Wing Commander.


Technical Features

Damage affecting physical model

  • Torque on impact. Ships battered and rotated when hit by stuff.
    • Damage to internal dampeners reduces ship's resistance to battery.
  • Tension can damage ships' internals when hit from opposite sides.
    • Not very often, but imagine two asteroids hitting at once.
  • Ships can take physical damage at large hits
    • 3-d model redesigned on the fly as parts break off
    • Armor can flake off along lines of wounds/pockmarks
    • Ship components have physical locations that can be blown off
      • Core component and cockpit are special locations that make the ship blow up when they are fractured or separated from each other.
  • Really large shots can go right through a ship
    • Think a WC2 main capship cannon through a Hornet. It won't stop.
    • The shot may lose some velocity and capacity for doing damage

Damage affecting appearance

  • Ships take visible damage when hit.
    • Black marks
      • Black streaks for energy weapons
    • Pockmarks
    • Gaping wounds with “internals” second texture underneath.
    • Hitting a damaged portion can contribute to extra visual damage: cracks, flaking, etc

Damage affecting gameplay

  • Ships take damage to components, maneuvering thrusters, etc


  • Different sized asteroids.
    • Asteroids do damage based on mass and velocity, not just velocity
  • Asteroids that separate into smaller asteroids when hit.
  • Random space debris can do a point or two of damage if moving fast


  • Collisions alone don't eat armour without velocity. Light bumps won't cause heavy damage.
  • Collisions do take down shields, though, and shields can do damage to armour over time.

Cockpit Appearance

  • Visible damage to cockpit window
    • Nicks and pockmarks for small hits like shrapnel, meteorites
    • Cracks for bigger hits
      • 'Linear' cracks (conventional lightning like)
      • Radial cracks at impact point
      • Cracks to cracks and pockmarks
      • Cracks do not overlap
      • Cracks follow shape of cockpit window to maintain 3-d appearance of cockpit
    • Glazed-out circle when hit with heat weapon like laser
    • Debris can get stuck in pane
    • When “player's eyes turn” to track a target, the window's 3-D appearance is maintained. Damage to angular vs. round windows would look different when the pilot turns his head.
Visual tracking
  • Targets can be tracked visually like in Strike Commander; your “eyes” are not stuck facing forward.

Carrier internals

  • Carrier internals include artificial gravity
    • “Floor” plane pulls nearby objects down at a slow rate.
    • This can be damaged by shooting it
      • Damage may be location-dependant
  • Combat personnel as described below
  • Non-combat personnel:
    • Engineers running for the corridors, maybe shooting handguns
    • Pilots running towards their ships
    • Support vehicles of various types
      • Cranes that can pull ships around

Ship internals

  • Large ships may have internal corridors and rooms exposed after taking heavy damage.

3-d navigation mode

  • You can rotate the navscreen, zoom in and out
  • Ability to track past movements of other ships over time
    • Predict their future movements
    • Establish nav points based on this information
      • Linear extrapolation or curved
  • Missions have a standard plane that you can easily snap back to
    • This can be calculated as the plane having the least mean distance from the nav points; do some calculus


  • Radar blocked by large objects
    • Objects large enough to be seen across several degrees are painted as a large contact on radar; planets and capships especially
      • Objects behind such a contact are not seen unless tracked
        • When a target is only tracked and not visible, target screen says “Searching…” and eventually loses the target.
    • Friendlies may send you their radar information, allowing you to see whatever they can see
      • There may be a delay in the receipt of this information, like 1s per 10,000m.
  • Objects on radar suggest whether they are approaching you (shade change?)
  • Objects on radar suggest distance (shade change?)


  • Planets block your radar's view of what's on the other side
  • Planets with gravity
    • The ability to swing around a planet like in Spacewar
  • Planets with atmospheres
    • Airborne lift based on a ship's Bournelliness
      • This value drops as holes are put in a ship
      • Separate Bournelliness values may be used for each axis of a ship to allow a ship to fly upside-down
      • This value may be calculated automatically when a ship is launched or takes heavy damage.
    • Changes in air pressure can affect internal systems
    • Weapons cause bigger fireworks in an atmosphere
      • Different atmospheres, different fireworks
    • Thick atmospheres may hamper radar, allowing ships to hide in gas giants
  • Planets with buildings on them
    • RTS style development of buildings on planets
    • Ability to fly around and between buildings
    • Ability to get out of your ship and walk into a building
  • Planetary defenses
    • Ships optimized for atmospheric flight
      • Launching from planetside bases
    • Turrets and flak in some areas
    • Surface-to-space weaponry; missiles and etc
    • Mobile land and naval units
  • Complex weather effects
    • Clouds you can fly above, below, and through
    • Rain
      • Running down your viewscreen
        • Path affected by viewscreen damage
      • Slows shield regrowth if your shields are deflecting it
    • Rivers of moving water (plane with direction of motion)
    • Wind (not much this would affect, though)
    • Waterfalls
  • Mineable resources
    • Possible implementation for fish resources on water world:
      • spread points around sphere with max/current/recharge
      • chance/value of catch related to nearness*value of nearby points
  • Oceans you can sink beneath

Gameplay Features

Alternate shot dissipation model

Individual shots can lose effectiveness over distance so that shots don't suddenly disappear just before they hit something.

Model: max range, loss per 100m
  • Laser from 4800m max range to 4500m max, -1mme/50m
    • 18mme to 4500, 12mme at 4800, dies at 5400
    • 18mme to 4800 -1mme/50 dies at 5700
    • 18mme to 4800 -1mme/67 dies at 6000
    • 20mme to 4700 -1mme/50 == 18 at 4800, dies at 5700
  • Mass driver from 3000 max to 2750, -1mme/50m
    • 20mme to 2750, 15mme at 3000, dies at 3750
    • 20mme to 3000 -1mme/50 dies at 4000
    • 20mme to 3000 -1mme/40 dies at 3800
    • 20mme to 3000 -1mme/25 dies at 3500
  • Ion cannon from 30mme at 3000 to 40mme 2000 max, -1mme/50m
    • 40mme to 2000, 20mme at 3000, dies at 4000
    • 30mme to 3000 -1mme/20 dies at 3600
    • 50mme to 1000 -1mme/100 == 30 at 3000, dies at 6000
    • 50mme to 2000 -1mme/50 == 30 at 3000, dies at 4500
    • 45mme to 2500 -1mme/33 == 30 at 3000, dies at 3800
    • 45mme to 2000 -1mme/40 == 20 at 3000, dies at 3800
    • 55mme to 2000 -1mme/40 == 30 at 3000, dies at 4200
Alternate ideas
  • Idea: Logarithmic fadeouts instead of linear
  • Idea: Hand-code different fadeout levels (-1mme here,-2 there)
Visual appearance of dissipation
  • Idea: Shot fades out. Possibly shrink it, but not without fadeout or other visual effect as shrinking will confuse players as to the shot's distance from them.
  • idea: Shots can fade out in a growing cone as the shot dissipates. New logic needed for the cone only hitting a small portion of a ship.

Carrier landing bay defenses

Carrier internals are well defended.

  • Soldiers run out of the side corridors shooting
    • Handguns doing 1mme damage
    • Rifles doing 3mme damage
    • Mini-rockets doing 7mme damage
  • Defense vehicles with second-rate weaponry
    • Kinetic cannon doing 6mme
    • Light laser doing 5mme
    • Rail guns doing 12mme
    • Mini-rockets doing 14mme
  • Tractor beam as a defensive weapon
    • Can wear down a ship's shields
    • Can throw ship against a far wall
  • The attacking ship can be captured if hit by enough small-arms fire to disable it without blowing it up.
  • Soldiers can be easily killed by shooting near them (shrapnel causes splash damage) and colliding into them, but there are a lot of them.

Pilot health

Pilot health
  • The pilot can black out from high Gs.or low O2.
  • A pilot who takes permanent damage in an earlier mission may black out more easily.
Pilot stats
  • “Ace” pilots may be granted better maneuverability of the same ship in the hands of the same player.
    • This may be per-ship for pilots with high experience in a particular ship.
  • Ace pilots may have Luck which acts as a saving throw from getting blown up.

Potential candidates

  • Vega Strike is an open-source starfighter engine.


{“TOPICINFO”:{“author”:“DeltaTango”,”date”:“1352051323”,”format”:“1.1”,”reprev”:“1.1”,”version”:“1.1”},”TOPICPARENT”:{“name”:“WebHome”},”GameAboutFormTemplate”:{“GameGenre”:“Unspecified”,”Inspirations”:false,”GamePerspective”:“Unspecified”,”ProjectLegality”:“Unspecified”,”ProjectDifficulty”:“Unspecified”,”TargetPlatform”:“Unspecified”,”TargetERSB”:”???”,”YearOfIdea”:false,”DesignVersion”:false,”DesignCompletion”:“Utterly Vague”,”CodeVersion”:false,”CodeCompletion”:“No code”}}

threedimensionalstarfighterengine.txt · Last modified: 2013/11/27 01:47 (external edit)