Difference between revisions of "Feature Requests"

From FreeSpace Wiki
Jump to: navigation, search
(Add link to current feature request tracking system, the github issue board)
 
(80 intermediate revisions by 29 users not shown)
Line 1: Line 1:
This page is primarily to serve as a database for feature requests for the Source Code Project.
+
{{Note|This page is rather out of date, and many of these features have already been implemented in FSO.  All further feature requests are to be made on the [https://github.com/scp-fs2open/fs2open.github.com/issues Github issue tracker]}}
  
  
== Side Multipart Turrets ==
+
== New Requests ==
Support for fully rotating turrets on the sides of ships.
+
 
* '''Supported By:''' Battlestar Galactica, The Babylon Project, Wing Commander Saga, Nukemod - Children of Shiva
+
=== Internal Cockpit View - HUD System Changes ===
 +
In order to get a more immersive in-cockpit view than we currently have, there are a number of necessary changes.
 +
The short-term system changes would primarily involve:
 +
* An option somewhere to turn cockpit view on or off.
 +
* Placing a specified 'standard cockpit model' POF in the mission with it's eyepoint lined up with the players in-ship viewpoint.
 +
* A way to move or replicate the HUD and all it's functionality to fit in with the standard cockpit model. (This would most likely involve completing the HUD_guages.tbl feature, but it would also involve a way to define an alternate 'in cockpit' HUD component layout)
 +
 
 +
In the long term this feature would involve:
 +
* Being able to define a different internal cockpit on a per-ship basis.
 +
* Different internal cockpit models would need to be associated with different HUD component layouts
 +
 
 +
 
 +
The changes are described in detail in this thread [http://www.hard-light.net/forums/index.php/topic,48726.msg990018.html#msg990018 here.]
 +
 
 +
I'm more than willing to help out any coders who do take this on in regards to the modeling/texturing/interface art side of things. --[[User: VA|VA]]
 +
 
 +
:*'''Supported By:''' FSU, Twisted Infinities, [[Starfox:_Shadows_of_Lylat|Shadows of Lylat]], [[Star Wars Conversion|Fate of the Galaxy]], The Dark Space Project
 +
 
 +
=== Orders for bomber turrets ===
 +
When using retail AI (as opposed to a modified AI package like Fury AI), bomber turrets only attack your target, which makes them usless as defensive weapons. The idea is to be able to order your turret and make it useful. Added comm options would be:
 +
 
 +
*turret: (keypress shift-1),
 +
**protect me
 +
**sync to gun (acts as a gunpoint)
 +
**attack my target
 +
**defend all friendlies
 +
**attack any hostile
 +
*all turrets: (keypress shift-2)
 +
**protect me
 +
**sync to gun (acts as a gunpoint)
 +
**attack my target
 +
**defend all friendlies
 +
**attack any hostile
 +
 
 +
(This idea is modified from one from the thread "actually useful bomber turrets")
 +
 
 +
:*'''Supported By:''' several comunity members and by The Dark Space Project. Note that many custom AI profiles now allow turrets to select their own targets.
 +
 
 +
=== Multiple shield meshes ===
 +
You can have an individual shield mesh for each part of the ship. It would also allow you to shield certain turrets, important parts, ect. and not shield everything else.
 +
 
 +
:*'''Supported By:''' The Dark Space, FreeSpace: Arcade (unadvertised mod)
 +
 
 +
=== Toggleable subsystems ===
 +
Support for subsystems that can be turned on and off (ie when 'off', act as though they never existed - are untargetable, leave behind no damage LOD, do not take damage, cannot be collided with, etc.) This would be useful for ships where someone might want to remove or swap a subsystem (ie fighter cockpits could have Terran and Vasudan versions). The ability to do this with turrets too would be great.
 +
:* '''Supported By:''' [[Starfox:_Shadows_of_Lylat|Shadows of Lylat]], Twisted Infinities, [[Fringespace]], [[The Sagitta Project]]
 +
 
 +
=== Minefields ===
 +
 
 +
Just like asteroid fields, only they're mines, and they explode violently instead of burning up.
 +
 
 +
:*'''Supported By:''' Starforce
 +
 
 +
=== Ship headlights ===
 +
 
 +
Ship headlights/floodlights that actually cast light on objects.
 +
 
 +
:*'''Supported By:''' Starforce, The Dark Space Project
 +
 
 +
=== Maximum asteroid number increase ===
 +
 
 +
From 256 to 1024+ (possibly use depth culling to reduce rendering load).
 +
 
 +
:*'''Supported By:''' Starforce
 +
 
 +
=== Gatling Turrets ===
 +
Support for Gatling gun turrets, which work same as a regular multipart turret but has an extra subobject (child of the barel) that rotates while the turret is firing.
 +
:* '''Supported By:''' Nukemod - Children of Shiva, [[The Sagitta Project]], The Dark Space Project
 +
 
 +
=== Submodel Animation Triggers & Upgrades ===
 +
Trigger Requests:
 +
* Subspace - Performs animation on entrance to supspace, and undoes when a ship comes out of subspace, and acts as a initial position if the "mission takes place in subspace" flag is set.
 +
*Weapon Fire - Performs animation when weapon is fired and undoes it before the weapon can fire again.
 +
*Sexp - Animation triggered by sexp.
 +
*Flight Control - Triggered by the the activation, toggle or motion of a particular flight control.
 +
Requested Upgrades:
 +
*Support for submodel translation within the submodel animation code. (It *can* already be done, but only with scripting, and doing it this way breaks collision detection)
 +
*Support for "model-relative" movement in addition to "current submodel position-relative" movement that already exists.
 +
*Incremental movement - moves a submodel to the position indicated, but does not undo the motion.
 +
*Glowpoint linking - Make it possible to activate/deactivate/toggle a certain bank/slot of glowpoint(s).
 +
*Counter-rotate option - allow an object to inherit its parent's motion while counter-rotating, usefull for translation effect.
 +
*Increase heirarchy depth instance limit to at least 10 levels of heirarchy.
 +
*Simple linked animation support - Support for animations liked with flight controls and other variable setting ship controls, usefull for making animated cockpit controls, control surfaces, and thrust vectoring nozzels.
 +
:* '''Supported By:''' Nukemod - Children of Shiva, Twisted Infinities, [[Starfox:_Shadows_of_Lylat|Shadows of Lylat]], [[Fringespace]], [[The Sagitta Project]]
 +
 
 +
=== 3D Muzzle Flashes ===
 +
Support for pof based 3d muzzel flashes. perhaps also add variables for scale factor and fade speed.
 +
:* '''Supported By:''' Nukemod - Children of Shiva
 +
 
 +
=== Arrays and Other Collections ===
 +
Support for FRED using arrays or other collections (or both) in a similar fashion to variables as there is currently no way to directly associate two variables with each other. Obviously some way to search the collection for a certain value would be needed.
 +
:* '''Supported By:''' MindGames, [[The Babylon Project]], Twisted Infinities
 +
 
 +
=== Warping Without Vortex ===
 +
Adds another checkbox to the arrival and departure cues for ships and wings, to disable rendering of the warp vortex, but will preserve all other aspescts of conventional warping, such as the arrival/departure speeds and deceleration/accelleration.  Current option to disable warp rendering, will cause ship to appear and disappear without movement.
 +
:* '''Supported By:''' [[The Babylon Project]], [[Fringespace]]
 +
 
 +
=== Convergence Firing ===
 +
Also called "X-Firing", allows a weapon to have secondary source effects so that a weapon can appear to gain a charge boost from converging fire from other sources on the model.  Could be either a beam or a standard primary.  Would require additional data in the weapon table entry, for effects to be used and timing of the secondary prior to the main firing sequence, as well as data on the turret entry in the ships table, indicating co-ords for where the secondary effects will originate, and the number of secondary sources.
 +
:* '''Supported By:''' [[The Babylon Project]], [[Fringespace]]
 +
 
 +
=== Adjustable Weapon Convergence ===
 +
 
 +
Add an ability in-game to adjust the distance from the firing points where a fighter/bomber's weapons will converge on a specific point, in distance from the ship (i.e. 100 m, 300 m, etc).
 +
 
 +
:* '''Supported By:''' [[Beyond the Red Line]], [[Star Wars Conversion]], [[Fringespace]]
 +
 
 +
=== Cinematic Controls ===
 +
 
 +
Add in a large number of commands in FRED to make in-mission cut scenes easier to do and with more exact control. The full list is as follows:
 +
* FirePrimary (Ship) (# seconds)
 +
* FireSecondary (Ship) (# times)
 +
* FireCM (Ship) (# times)
 +
* FireTurret (Ship) (Turret) (Target <co-ords or ship>) (# times)
 +
* MoveRotation (Ship) (Degrees)
 +
* MoveSmoothFP (Ship) (Waypoint)
 +
* IgnoreAllButOrders (Ship)
 +
* UseAfterburner (Ship) (# seconds)
 +
* ForwardShields (Ship) (# Times)
 +
* RightShields (Ship) (# Times)
 +
* RearShields (Ship) (# Times)
 +
* LeftShields (Ship) (# Times)
 +
* TogglePrimaryB1 (Ship)
 +
* TogglePrimaryB2 (Ship)
 +
* ToggleSecondaryB1 (Ship)
 +
* ToggleSecondaryB2 (Ship)
 +
* ToggleSecondaryB3 (Ship)
 +
* SetDoublePrimary (Ship)
 +
* SetDoubleSecondary (Ship) (Bank)
 +
* CounterDestroysMissile (Target Ship) (Firing Ship)
 +
 
 +
:* '''Supported By:''' [[The Sagitta Project]]
 +
 
 +
=== Include List of Completed Campaigns in Pilot File ===
 +
 
 +
When a Pilot begins a campaign, the name of this campaign is saved in the Pilot file along with an Integer at 0.  If and when the Campaign is completed, 1 is added to the Integer.  The Campaign and the number of completions can be viewed in the Barracks.
 +
 
 +
=== Persistent Impact Explosion Effects ===
 +
 
 +
When a weapon with this enabled hits its target, it will leave behind a sustained explosion effect to give more proper impression of damage to a target vessel.  Explosion effects would be defined in the tables, with fields for explosion size, duration, effect, and an option for large explosion effects to have a series of smaller explosions along the perimeter to make it more convincing.  Damage for beam weapons should be simple, with the exception of slasher types, since they don't create a continuous swath of damage.  Persistent explosions could also be made to be created when subsystems are destroyed.  Could tie in with damage decals if it ever gets implemented.
 +
 
 +
=== In-Game Microphone Chat ===
 +
 
 +
It would be nice to have this feature integrated into the multiplayer instead of having to run another program, such as TeamSpeak, in the background.
 +
 
 +
=== Sound Test ===
  
 +
And/or music player. Both FS1 & 2 tracks. Accessible from the Tech Room.
  
== Customizable ship types ==
+
== In Progress ==
 +
=== Customizable ship types ===
 
Add a new table (or an addendum to ships.tbl) that would allow modders to turn on and off individual aspects of ship types, as well as define new ones. Type should be settable in the $Flags: variable, just as it is now, and the :V: defaults should be integrated so that they may be overriden by mods.
 
Add a new table (or an addendum to ships.tbl) that would allow modders to turn on and off individual aspects of ship types, as well as define new ones. Type should be settable in the $Flags: variable, just as it is now, and the :V: defaults should be integrated so that they may be overriden by mods.
* '''Supported By:''' The Babylon Project
+
:* '''Supported By:''' [[The Babylon Project]], Twisted Infinities, [[Fringespace]]
 +
 
 +
== Partially Complete ==
 +
 
 +
=== Side Multipart Turrets ===
 +
Support for fully rotating turrets on the sides of ships.
 +
:* '''Supported By:''' [[Beyond the Red Line]], [[The Babylon Project]], [[Wing Commander Saga]], Nukemod - Children of Shiva, [[Star Wars Conversion|Fate of the Galaxy]]
 +
 
 +
'''Implemented. See [http://www.hard-light.net/forums/index.php/topic,43524.0.html Bobboau's Turret Build]''' ''However'', changes have since been put '''on hiatus''' due to code incompatibilites, in both stable and HEAD builds.
  
 +
== Implemented ==
  
== Flak Screen ==
+
=== Flak Screen ===
 
Ability to set detonation range/time for flak shots so that flak weapons could fire at approaching ships beyond their 'detonation range' thus generating a flak screen in front of the approaching ships with the flak explosions. Preferably with little variance in the exact detonation time as there is always a little variance in normal flak explosions. Beams already support this sort of firing with +range: option.<br>
 
Ability to set detonation range/time for flak shots so that flak weapons could fire at approaching ships beyond their 'detonation range' thus generating a flak screen in front of the approaching ships with the flak explosions. Preferably with little variance in the exact detonation time as there is always a little variance in normal flak explosions. Beams already support this sort of firing with +range: option.<br>
 
[[User:Wanderer|Wanderer]] 10:56, 9 Dec 2005 (GMT)
 
[[User:Wanderer|Wanderer]] 10:56, 9 Dec 2005 (GMT)
* '''Supported By:''' ???
+
:* '''Supported By:''' The Apocalypse Project
  
 +
=== Submodel Animation Triggers & Upgrades ===
 +
*Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.
 +
*Turret Fire - Performs animation when a particular turret is fired and undoes it before the turret can fire again.
  
== Gatling Turrets ==
+
=== Muzzle Flashes and Turrets ===
Support for Gatling gun turrets, which work same as a regular multipart turret but has an extra subobject (child of the barel) that rotates while the turret is firing.
+
Extented support for muzzle flashes so that all turreted weapons could use the muzzle flashes.
* '''Supported By:''' Nukemod - Children of Shiva
+
:* '''Supported By:''' [[Starfox:_Shadows_of_Lylat|Shadows of Lylat]], Twisted Infinities, The Dark Space
  
 +
=== Limited Sensor Range For Non-Primitive Sensors ===
 +
Self-explanatory. Implemented, see [[SCP SEXPs#radar set max range|Radar set max range]]. [[User:Shade|Shade]] 23:52, 17 August 2007 (CDT)
 +
:*'''Supported By:''' [[The Starforce Mod|Starforce]]
  
== Submodel Animation Triggers & Upgrades ==
+
[[Category:Source Code Project]]
Trigger Requests:
 
Subspace - Performs animation on entrance to supspace, and undoes when a ship comes out of subspace and acts as a initial position if the "mission takes place in subspace" flag is set.
 
Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.
 
Weapon Fire - Performs animation when weapon is fired and undoes it before the weapon can fire again.
 
Sexp - animation triggered by sexp.
 
Flight Control - triggered by the the activation, toggle or motion of a particular flight control.
 
Turret Fire - Performs animation when a particular turret is fired and undoes it before the turret can fire again
 
Upgrades:
 
Support for "model-relative" movement in addition to "current submodel position-relitive" movement that already exists
 
ingremental movement - moves a submodel to the position indicated, but does not undo the motion
 
glowpoint linking - make it possible to activate/deactivate/toggel a certain bank/slot of glowpoint(s)
 
counter-rotate option - allow an object to inherit its parent's motion while counter-rotating, usefull for translation effect
 
increase heirarchy depth instance limit to at least 10
 
simple linked animation support - support for animations liked with flight controls and other variable setting ship controls, usefull for making animated cockpit controls, control surfaces, and thrust vectoring nozzels.
 
* '''Supported By:''' Nukemod - Children of Shiva
 

Latest revision as of 10:59, 1 May 2022

Note: This page is rather out of date, and many of these features have already been implemented in FSO. All further feature requests are to be made on the Github issue tracker


New Requests

Internal Cockpit View - HUD System Changes

In order to get a more immersive in-cockpit view than we currently have, there are a number of necessary changes. The short-term system changes would primarily involve:

  • An option somewhere to turn cockpit view on or off.
  • Placing a specified 'standard cockpit model' POF in the mission with it's eyepoint lined up with the players in-ship viewpoint.
  • A way to move or replicate the HUD and all it's functionality to fit in with the standard cockpit model. (This would most likely involve completing the HUD_guages.tbl feature, but it would also involve a way to define an alternate 'in cockpit' HUD component layout)

In the long term this feature would involve:

  • Being able to define a different internal cockpit on a per-ship basis.
  • Different internal cockpit models would need to be associated with different HUD component layouts


The changes are described in detail in this thread here.

I'm more than willing to help out any coders who do take this on in regards to the modeling/texturing/interface art side of things. --VA

Orders for bomber turrets

When using retail AI (as opposed to a modified AI package like Fury AI), bomber turrets only attack your target, which makes them usless as defensive weapons. The idea is to be able to order your turret and make it useful. Added comm options would be:

  • turret: (keypress shift-1),
    • protect me
    • sync to gun (acts as a gunpoint)
    • attack my target
    • defend all friendlies
    • attack any hostile
  • all turrets: (keypress shift-2)
    • protect me
    • sync to gun (acts as a gunpoint)
    • attack my target
    • defend all friendlies
    • attack any hostile

(This idea is modified from one from the thread "actually useful bomber turrets")

  • Supported By: several comunity members and by The Dark Space Project. Note that many custom AI profiles now allow turrets to select their own targets.

Multiple shield meshes

You can have an individual shield mesh for each part of the ship. It would also allow you to shield certain turrets, important parts, ect. and not shield everything else.

  • Supported By: The Dark Space, FreeSpace: Arcade (unadvertised mod)

Toggleable subsystems

Support for subsystems that can be turned on and off (ie when 'off', act as though they never existed - are untargetable, leave behind no damage LOD, do not take damage, cannot be collided with, etc.) This would be useful for ships where someone might want to remove or swap a subsystem (ie fighter cockpits could have Terran and Vasudan versions). The ability to do this with turrets too would be great.

Minefields

Just like asteroid fields, only they're mines, and they explode violently instead of burning up.

  • Supported By: Starforce

Ship headlights

Ship headlights/floodlights that actually cast light on objects.

  • Supported By: Starforce, The Dark Space Project

Maximum asteroid number increase

From 256 to 1024+ (possibly use depth culling to reduce rendering load).

  • Supported By: Starforce

Gatling Turrets

Support for Gatling gun turrets, which work same as a regular multipart turret but has an extra subobject (child of the barel) that rotates while the turret is firing.

Submodel Animation Triggers & Upgrades

Trigger Requests:

  • Subspace - Performs animation on entrance to supspace, and undoes when a ship comes out of subspace, and acts as a initial position if the "mission takes place in subspace" flag is set.
  • Weapon Fire - Performs animation when weapon is fired and undoes it before the weapon can fire again.
  • Sexp - Animation triggered by sexp.
  • Flight Control - Triggered by the the activation, toggle or motion of a particular flight control.

Requested Upgrades:

  • Support for submodel translation within the submodel animation code. (It *can* already be done, but only with scripting, and doing it this way breaks collision detection)
  • Support for "model-relative" movement in addition to "current submodel position-relative" movement that already exists.
  • Incremental movement - moves a submodel to the position indicated, but does not undo the motion.
  • Glowpoint linking - Make it possible to activate/deactivate/toggle a certain bank/slot of glowpoint(s).
  • Counter-rotate option - allow an object to inherit its parent's motion while counter-rotating, usefull for translation effect.
  • Increase heirarchy depth instance limit to at least 10 levels of heirarchy.
  • Simple linked animation support - Support for animations liked with flight controls and other variable setting ship controls, usefull for making animated cockpit controls, control surfaces, and thrust vectoring nozzels.

3D Muzzle Flashes

Support for pof based 3d muzzel flashes. perhaps also add variables for scale factor and fade speed.

  • Supported By: Nukemod - Children of Shiva

Arrays and Other Collections

Support for FRED using arrays or other collections (or both) in a similar fashion to variables as there is currently no way to directly associate two variables with each other. Obviously some way to search the collection for a certain value would be needed.

Warping Without Vortex

Adds another checkbox to the arrival and departure cues for ships and wings, to disable rendering of the warp vortex, but will preserve all other aspescts of conventional warping, such as the arrival/departure speeds and deceleration/accelleration. Current option to disable warp rendering, will cause ship to appear and disappear without movement.

Convergence Firing

Also called "X-Firing", allows a weapon to have secondary source effects so that a weapon can appear to gain a charge boost from converging fire from other sources on the model. Could be either a beam or a standard primary. Would require additional data in the weapon table entry, for effects to be used and timing of the secondary prior to the main firing sequence, as well as data on the turret entry in the ships table, indicating co-ords for where the secondary effects will originate, and the number of secondary sources.

Adjustable Weapon Convergence

Add an ability in-game to adjust the distance from the firing points where a fighter/bomber's weapons will converge on a specific point, in distance from the ship (i.e. 100 m, 300 m, etc).

Cinematic Controls

Add in a large number of commands in FRED to make in-mission cut scenes easier to do and with more exact control. The full list is as follows:

  • FirePrimary (Ship) (# seconds)
  • FireSecondary (Ship) (# times)
  • FireCM (Ship) (# times)
  • FireTurret (Ship) (Turret) (Target <co-ords or ship>) (# times)
  • MoveRotation (Ship) (Degrees)
  • MoveSmoothFP (Ship) (Waypoint)
  • IgnoreAllButOrders (Ship)
  • UseAfterburner (Ship) (# seconds)
  • ForwardShields (Ship) (# Times)
  • RightShields (Ship) (# Times)
  • RearShields (Ship) (# Times)
  • LeftShields (Ship) (# Times)
  • TogglePrimaryB1 (Ship)
  • TogglePrimaryB2 (Ship)
  • ToggleSecondaryB1 (Ship)
  • ToggleSecondaryB2 (Ship)
  • ToggleSecondaryB3 (Ship)
  • SetDoublePrimary (Ship)
  • SetDoubleSecondary (Ship) (Bank)
  • CounterDestroysMissile (Target Ship) (Firing Ship)

Include List of Completed Campaigns in Pilot File

When a Pilot begins a campaign, the name of this campaign is saved in the Pilot file along with an Integer at 0. If and when the Campaign is completed, 1 is added to the Integer. The Campaign and the number of completions can be viewed in the Barracks.

Persistent Impact Explosion Effects

When a weapon with this enabled hits its target, it will leave behind a sustained explosion effect to give more proper impression of damage to a target vessel. Explosion effects would be defined in the tables, with fields for explosion size, duration, effect, and an option for large explosion effects to have a series of smaller explosions along the perimeter to make it more convincing. Damage for beam weapons should be simple, with the exception of slasher types, since they don't create a continuous swath of damage. Persistent explosions could also be made to be created when subsystems are destroyed. Could tie in with damage decals if it ever gets implemented.

In-Game Microphone Chat

It would be nice to have this feature integrated into the multiplayer instead of having to run another program, such as TeamSpeak, in the background.

Sound Test

And/or music player. Both FS1 & 2 tracks. Accessible from the Tech Room.

In Progress

Customizable ship types

Add a new table (or an addendum to ships.tbl) that would allow modders to turn on and off individual aspects of ship types, as well as define new ones. Type should be settable in the $Flags: variable, just as it is now, and the :V: defaults should be integrated so that they may be overriden by mods.

Partially Complete

Side Multipart Turrets

Support for fully rotating turrets on the sides of ships.

Implemented. See Bobboau's Turret Build However, changes have since been put on hiatus due to code incompatibilites, in both stable and HEAD builds.

Implemented

Flak Screen

Ability to set detonation range/time for flak shots so that flak weapons could fire at approaching ships beyond their 'detonation range' thus generating a flak screen in front of the approaching ships with the flak explosions. Preferably with little variance in the exact detonation time as there is always a little variance in normal flak explosions. Beams already support this sort of firing with +range: option.
Wanderer 10:56, 9 Dec 2005 (GMT)

  • Supported By: The Apocalypse Project

Submodel Animation Triggers & Upgrades

  • Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.
  • Turret Fire - Performs animation when a particular turret is fired and undoes it before the turret can fire again.

Muzzle Flashes and Turrets

Extented support for muzzle flashes so that all turreted weapons could use the muzzle flashes.

Limited Sensor Range For Non-Primitive Sensors

Self-explanatory. Implemented, see Radar set max range. Shade 23:52, 17 August 2007 (CDT)