Jumpgate Evolution - Dev Journal: Flight Dynamics
In this new Developer Journal, NetDevil Programmer Steve "Istvan" Hartmeyer talks about flight in their upcoming MMORPG, Jumpgate Evolution.
Jumpgate Evolution owes the basis of its flight engine to NetDevil's first product, Jumpgate. Arguably a unique feature, the Jumpgate flight engine allowed the game to be distinguished as an online spaceflight simulator, rather than a run-of-the-mill MMORPG, which were only then (in 2001) beginning to be churned out by a nascent industry. Jumpgate's distinguishing element was that, as in prior spaceflight and combat games such as Elite, the Wing Commander series, the X-Wing series, Freespace, and Alliegiance, the player directly pilots their ship, often with a joystick instead of a mouse.
Though often described as realistic when compared with other games' flight models, the Jumpgate flight engine is neither strictly realistic, nor is it by any means arcade-style. Perhaps the simplest description is "playably realistic". Underlying the flight model is basic Newtonian physics: engines apply a force to the ship's mass, which accelerates in response. During experimentation with early builds, the original Jumpgate developers quickly recognized that a wholly realistic flight engine would be incompatible with their vision of hands-on flight. Strictly realistic spaceflight creates a demoralizing list of playability issues: unreasonably large potential speeds, impossible reaction times required of players, inability of ships moving at greatly different speeds to fight or even interact effectively, as well as complications to travel because of the need to slow down again to rendezvous with a destination, just to name a few of the problems. The ultimate goal of Jumpgate was to re-create white-knuckle fighter combat as seen in movies and TV such as Star Wars, Battlestar Galactica, or Babylon 5, so solving the gameplay problems by departing from the hands-on control paradigm just wasn't an option.
The original flight engine was made playable by adding an omnidirectional drag term in the equation of motion. Though unrealistic, the drag component offered huge playability gains, and became the necessary savior of the otherwise problematic Newtonian foundation. Ships suffered an upper speed cap due to drag, which in turn brought the reaction times needed for control well into the natural range of a human pilot, and simultaneously kept all ships able to easily interact. Jumpgate's "D.A.N.C.E.R." engine was thus born. The engine provided playable "spaceflight", while retaining the challenges and advantages the development team wanted to keep.
So much for our journey down Memory Lane. While the Jumpgate Classic flight engine succeeded in being playable, it failed to be accessible. It can be argued that this was not so much a drawback of the engine itself, but rather of the control scheme. Jumpgate Evolution continues to support joysticks (and by extension, gamepads), but first and foremost among our adaptations, the mouse and keyboard interface has been made much more straightforward for the player to use. The familiar WASD setup has become the default control core, with other keys chosen in a sensible and ergonomic pattern. Along with control adjustments, flight response has also been enhanced by tweaks to the default flight model. Drag has been slightly increased, and braking thrusters are more powerful, combining to offer the player greater control of their ship. Vertical and lateral thrusters have also been added, analogous to familiar FPS "strafing" controls, which offer the player new options for modifying their ship's trajectory. All these changes were implemented as part of a directive to make flight easier to understand, and the ship controls easier to use. However, it was quickly obvious that the drag changes in particular altered some aspects of flight so familiar to players of Jumpgate Classic - and that those aspects would be very desirable to retain.
The dilemma was only momentary, and its solution was simple. The original flight model, in which drag is weaker and momentum more significant, has been retained (including the new controls and directional thrusters). A toggle has been set up allowing the player to switch between the new default flight model and the original one. Fictionally, players are toggling the ship's "inertial dampers" - an idea with venerable science fiction roots. Offering this choice permits Jumpgate Evolution to keep the best of both worlds. Players begin the game set to use the new flight model, which is easier to understand and fly with, but can choose to turn it off to gain the performance of the original model. The pilot can switch on the fly, depending on what kind of flight profile is desired, even in the heat of battle.
We've discovered that being able to switch flight models in real time adds a fun and slightly unexpected tactical dimension, in addition to the convenience that was fully intended. During routine testing, some of us on the team now find ourselves using the toggle frequently. For example, when creeping through a clump of asteroids, I'll leave the dampers on so I have tighter control over my speed and direction. If I attack some pirates I find among the rocks, I might cut the dampers out in the firefight, so I can pivot and fire at a pirate on my six while still pursuing his buddy. The encounter could doubtless be handled successfully by using either flight mode throughout, but by yielding the option to the player, we hope that the additional element of personal choice is received as an enhancement to the fun piloting experience we're trying to build into Jumpgate Evolution.
Article By: Steve "Istvan" Hartmeyer, Programmer