You asked for it:
Here's what I want in ANY space sim. Make of it what you will.
[list=1]
- Mission Interrupting Events (Red Alerts that pop up during a mission)
- Multi-area missions using Wing Commander style waypoints.
- Player use of freestanding jump nodes for transiting between systems during a mission
- I-war2 style virtual HUD (a)
- I-war2 style sortable contact list (requires a single contact list comprised of all targettable objects)
- Smooth views (ie: freelook/mouselook)
- Simulation system (b)
- Manual launch/landing sequences. Sim style or Wing Commander/Starlancer style, should be toggled by a difficulty setting. Three settings: [none|arcade|sim]
- Dynamic Asteroid Fields (generated by freestanding particle system and LOD system) (c)
- Modular object system (Iwar2 style)
- Scripting system with SEXPs implemented as prewritten functions in the scripting language
- Modular plugin system (major game system components as loadable modules)
- Gravitational attractors (NOT a proper gravitational system, which would be too complex)
- Iwar2's dynamic universe system (e)
- Iwar2's model animation system (f)
- Resource/Mod files packaged as ZIP (g)
- Remove distinction between primary, secondary (and the proposed tertiaries) (h)
Longer explanations:
(a) Virtual Hud: Iwar2 has a virtual HUD system. In game, the HUD is projected on the pilot's visor. What this means is that HUD elements are painted last, atop everything else, including the cockpit. When implemented with a freelook, this can be a very good thing.
(b) Sim Mode: a setting wherein collisions are modelled accurately, the player is required to monitor damage and energy levels in real time, and things like heat are taken into consideration. Jane's Advanced Tactical Fighters is a Sim. Crimson Skies is a shooter. In space combat games, Iwar2 is close to a sim, but not quite. Freespace is more of an arcade shooter.
(c) Dynamic asteroid/debris/etc field: fields are placed in the playing area as a volume object; a sphere for example. The game engine knows that sphere object represents a field of some sort and looks up its [INI|Table|Registry|Mission] entry where it reads a field type (asteroid, debris, nebula, etc), a field density, and a model/poof file pool. (Note: this is Iwar2's nebula/debris system)
(d) Modular model system: more than just one model for a turret used by many ships, its also a matter of the ships themselves. When a ship is listed as having three EXTERNAL heavy weapons hard points, placing weapons on those hard points should result in an outside view of the ship reflecting these changes. Internal hardpoints do not show. This is not very important for the player's ship, but it is important for all the other ships in the game, since an experienced pilot will learn to tell what sorts of equipment a ship is packing by looking at its profile.
(e) Iwar2's Dynamic Universe System: Not useful for a skirmish oriented game like Freespace. However, for a game that has a freeflight mode, its critical. In a dynamic universe, systems and installations have traderoutes, patrols, intrasystem business, radio chatter and the like. Iwar2 models this by creating a horizon based universe with the player at the center. There are three nested spheres to this horizon system:
--Anything within the outermost radius is simulated somwhere in the engine. Movement is calculated, etc.
--Anything with then the next smaller sphere shows up on the longest range sensors, and may be affected by the player. Players with sufficiently strong sensors etc, can target objects in this radius, and will see them in the contacts list and radar. Not everything in this radius is going to be rendered. It depends on size.
--Anything in the nearest radius is visible (IE rendered full time) and can trigger sound events.
(f)That's a whole long explanation by itself. Short version: every event that can be triggered by the pilot (CPU or human) can trigger an animation channel. Pitch, roll, yaw, accelerate on X, Y or Z axes, fire primaries, fire secondaries, etc are all candidates. In the [INI|Registry|Table], a list of animation channels have special instructions for motion on the object. In Iwar2, the most obvious example of this is Tug. When the player accellerates either Z+ or Z-, the four engine pods rotate forward or back. I've built ship models where if the player rolls, the engines rotate away from the roll and emit thruster cones.
(g) Modding and testing of mods in games like Iwar2 is made easier by handling the resources as a directory tree stored in a zip (or out of a zip, Flux--the Iwar2 engine--will read both, with unzipped data taking precedence over zipped). Users can just open the zipped resources directly and work with them with any standard compression tool (like, oh, XPs compressed folders, *nix's zip packages, Mac's stuffit, et al). It isn't as if plucking resources out of a zip file is precisely slow, and it does allow for alot of flexibility. Is there something useful to the VP system I am unaware of?
(h) Implement three triggers, and let the player assign weapons to each. The "cycle primary" and "cycle secondary" buttons will select through the various weapons assigned to those groups. Countermeasures are a kind of weapon under this system.