Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Thaeris on July 29, 2010, 08:25:37 pm
-
On behalf of the Stellar Assault Team, I have a request to make - which could really help out a few other projects as well...
We have need of a "secondary afterburner mode" which will use the same afterburner fuel supply and recharge rate as the main/primary afterburner (or, this will at least be an option to the tabler - this could be manged via a boolean operator: yes (or no), the secondary afterburner uses the same fuel supply and yes (or no), the secondary afterburner will have the same recharge rate if used).
The secondary afterburner will thus have similar entries as the standard afterburner (e.g. +Aburn Max Vel, +Aburn For accel, etc...), but a different set of keystrokes to permit its operation (such as Shift+Tab). I am aware that certain aspects of this request would be harder to arrive at for various reasons, but at the lowest level, again, we need:
(a.) A secondary afterburner feature/flag for the ships.tbl that operates under a different keystroke set which uses the same afterburner fuel supply as the normal afterburner, as well as the same recharge rate.
(b.) The maximum velocity for the secondary mode should be different and adjustable in-table, as well as the acceleration value, and the burn rate. Developing the other afterburner values for this feature might also be appreciated greatly in the future.
Note that this feature set would aid several other upcoming projects greatly as well - modern fighters don't just have "an afterburner," there are various stages of afterburner the engine can enter, and all of these are controlled by the pilot. This is merely a simplified way for us to do it in FSO.
As far as other features involved in this request are concerned, I'd like to tack on a possible visual effect which might also be shared with conventional afterburner if the tabler so desires... Please observe the video below:
http://www.youtube.com/watch?v=M22zp91ARFE
The real interest is around timeframe 0:35, where a shockwave sprite erupts about the fighter upon engaging the high-power afterburner...
...That's all we have to ask for so far. Thank you. :)
-
Hm, that actually sounds really cool.
However I don't think a shift-tab keypress would work as that would lock out all your normal flight controls (which is even worse than it sounds) and render the feature useless in combat.
-
Is this to say that pressing shift disables other control inputs when active? That indeed is a problem. I assume alt does the same thing...
...You never notice these things much as you don't have too many controls that employ them, or you're using the mouse or a stick, which of course overrides the keyboard controls.
On a secondary note, in our case, you'll probably be going so fast that the fuel will drain very rapidly, and you'll cover a tremendous amount of ground likewise - you might not be all that concerned with changing your flight vector upon engaging the "heavy burner." However, other mods might not see it that way... That said, it might just be a matter of coming up with a new keymap in the future anyway. You should note that Stellar Assault has no countermeasures available to the pilot, and glide/thrusters are much, much more important for everyday use.
-
Whatever the feature is it should be implemented in a way that it can be taken advantage of by all mods. Spoon had a recent ship design using shift-1 and shift-3 for glide that was useless because it disabled all other key inputs while you were gliding.
Pair it with another modifier instead. Blue Planet got reverse afterburner implemented with the simple combination z-tab, which weirdly enough locks out some control inputs but not all.
-
There would be other things that need to be taken into consideration here. First effect on thrusters (PCS2 entries, tabled ones, and cones). Is there to be a different effect for the secondary burner? This could require updates to PCS2 as well. Then you have the thruster cones themselves. If a secondary is defined how do you calculate the cone length? And of course the big one. Additional key probably means wait for new pilot code.
-
Do want.
What about a toggle function with an extra HUD icon, one like the weapons selection pips but on the afterburner bar?
-
Not sure if it's possible but what about just hitting tab twice in a time period? Kind of like a double click.
-
There would be other things that need to be taken into consideration here. First effect on thrusters (PCS2 entries, tabled ones, and cones). Is there to be a different effect for the secondary burner? This could require updates to PCS2 as well. Then you have the thruster cones themselves. If a secondary is defined how do you calculate the cone length? And of course the big one. Additional key probably means wait for new pilot code.
Hmmm... That's a good point. Perhaps Alt+Tab would work after all (just a bug with Shift?) - regardless, a ship control should be adjustable by the end-user in the options screen regardless, so this is a low-level issue. FUBAR's point is far more pressing.
Eventually, a tabler/modder might want to take advantage of the said feature and indeed want separate effects (bigger engine glow sprite, etc.) for it. In fact, one effect I'd like to see here would be a black-out effect relating to how long the heavy-burner was active, which again would be enabled via boolean yes or no, and the blackout/recoery rate would then be set if yes. So in general... This might need a lot of attention (like the new pilot code) to work. I hope that makes some things more clear.
Do want.
What about a toggle function with an extra HUD icon, one like the weapons selection pips but on the afterburner bar?
Kind of a novel idea, but I think that would start to get "clunky" after a point. On the other hand, it might pave the way for having more afterburner options than just two... Though I don't know how many you'd rationally want in a game/sim like FSO.
Not sure if it's possible but what about just hitting tab twice in a time period? Kind of like a double click.
Can we actually do that with the current in-game setup? Personally, I'd still rather have a separate set of keystrokes.
-
I kinda like the idea of double tapping the afterburner button myself.
-
ALT-Tab not a good idea. Might as well do alt-f4 as well. :D
-
Kind of a novel idea, but I think that would start to get "clunky" after a point. On the other hand, it might pave the way for having more afterburner options than just two... Though I don't know how many you'd rationally want in a game/sim like FSO.
Two sounds good, unless anyone would want a third one that consumes the entire pool instantaneously but gives you a speed boost equivilant to consuming the pool on normal afterburner (In distance covered).
Being silly with this one.
-
Alright, forgive my ignorance (or anyone else's, as assumably there are those of us out there)...
...But what is the bug/problem surrounding Alt- and Shift- type controls, and why do they cause these odd problems? I'd like to know, as I think Stellar Assault will soon be in the market for its own distinct keymap (and in honesty, I don't know how we'd do that either, apart from manual edits made by the player himself/herself) in the near future.
Lastly, although arguing over the control scheme is appreciated, it's somewhat moot until we actually get the feature...
...If we get it.
:nervous:
-
I kinda like the idea of double tapping the afterburner button myself.
Noooo (well okay maybe, depending on how it interacts with the necessary advanced tactic of rapid afterburner pulses)
Alright, forgive my ignorance (or anyone else's, as assumably there are those of us out there)...
...But what is the bug/problem surrounding Alt- and Shift- type controls
Think about it, mate.
When you hold down Alt or Shift, you can no longer press your normal controls because you aren't pressing them any more - you're pressing Alt/Shift + 'normal control'.
and why do they cause these odd problems?
Not...odd at all, unless I am terribly mistaken and a big lump.
I'd like to know, as I think Stellar Assault will soon be in the market for its own distinct keymap (and in honesty, I don't know how we'd do that either, apart from manual edits made by the player himself/herself) in the near future.
:nervous:
You need to wait on new pilot code, I believe.
-
Right, then the problem was self-explanitory all the while. :P
That said, we should open a controls discussion once we have a control to work with, or even have an idea of how long it will take to execute in-game.
Just as an illustration (before I break my own suggestion...), if the "heavy burner" only takes a second to empy a whole load of fuel and shoot you out far, far away, having Shift-Tab as a keystroke would not be a bad control. But again, this should be a player-alterable control, so it's not in question right now.
As far as being productive goes, is there anything more I could do to assist in bringing the feature about? Note that I've no real experience coding for or scripting for FSO, but if I can offer up some algorithmic suggestion, then I'm game. :D
-
Alright, forgive my ignorance (or anyone else's, as assumably there are those of us out there)...
...But what is the bug/problem surrounding Alt- and Shift- type controls, and why do they cause these odd problems?
The problem is very old / recent and is because of how 'new' keyboards handle keystrokes.
http://www.microsoft.com/appliedsciences/AntiGhostingExplained.mspx
There were some very old keyboards like IBM modem M, which worked their magic old times and could easily handle over 8 unique keys.
Also now a days there seem to be gaming keyboards which can handle it as well.
-
That MS article has so many fallacies... I suppose you could accept it as "Lies to children".
The overall effect is true, but they clearly got a Marketing Droid to write the article instead of one of their actual hardware engineers.
(The diodes are needed because of *loops* when current can flow down one key, along the line, and back up another key to activate a column the processor isn't powering, therefore aliasing the key as another. The second half of the article seems to have forgotten that the columns aren't all powered at the same time.)
There's one heck of a lot of keys that can't be pressed simultaneously on a modern keyboard - this is a notable problem for many of the users I support as our 'console simulators' use a lot of keyboard shortcuts, most of which are modifiers for each other.
Annoyingly, almost every keyboard appears to have a slightly different subset that doesn't work.
Perhaps surprisingly we've found that Mac keyboards are particularly bad, and French Mac keyboards are the worst by a large margin. (Mostly because of where the numbers are!)
Microsoft have also limited their standard USB keyboard drivers to six (6) keys plus CTRL/ALT/SHIFT which doesn't allow very many keys to be pressed simultaneously.
- Don't know what the standard Mac limit is, but would guess that it's the same.
So, that's fun, eh?
Our physical consoles have custom USB drivers that allow the reporting of every single button simultaneously - obviously this method isn't available to the SCP as it requires both custom hardware and custom drivers.
All in all, this means that you must avoid using more than six keyboard keys simultaneously.
A hint though - we've never had a complaint that [Enter] + [Key] didn't work, so that combo seems pretty safe.
- Detecting [SHIFT] + [Key] as [Key] can be done but is generally not worth doing, as sometimes the user wants [SHIFT] + [Key] to do something different to [Key], while at other times they don't.
-
Whatever the feature is it should be implemented in a way that it can be taken advantage of by all mods. Spoon had a recent ship design using shift-1 and shift-3 for glide that was useless because it disabled all other key inputs while you were gliding
Those are just the default keys mapped for sideward strafing. You can remap those to whatever you like!
-
what id like to see is a partitioned throttle axis (ive implemented this to a degree in my cockpit script). the bottom 10% would be for reverse thrusters, then have a dead zone for about 5%, then at about 10% to about 90% is your throttle range. anything above 90% is your afterburner range. in afterburn you are assumed to be at 100% thrust (therefore no need of a deadzone), but then your fuel usage is proportional to how much afterburner power you have applied. this allows you to engage a prolonged burn (say 25% afterburner) or you can burn fuel like a mother****er at 100% or anything in between. given enough engine power you could also do a sustained burn at some fraction of full. this is very similar to the way real fighter and passenger aircraft work.
for mods with reverse afterburer you could have a small partition for reverse afterburner beneath the reverse thrust zone. also the partitions should be user definable (some throttles have detents, so you should be able to set up the controls to use them). of course mod considerations may need to be made about whether to use certain partitions (you may not want a variable afterburner or reverse afterburners/thrusters in certain situations). also for people who dont use joysticks you could map these zones onto the thrust gauge, so you can set your afterburner speed or reverse with the a,z keys. things like double backspace/tab should cycle through afterburner speeds for forward and reverse (and probibly reverse thrust settings too).
for mod implementation id have minimum and maximum values for speed, acceleration, deceleration, and fuel consumption. heres an example.
$Afterburner: YES
+Aburn Min Vel: 60.0, 60.0, 125.0
+Aburn Max Vel: 90.0, 90.0, 175.0
+Aburn Min For accel: 0.5
+Aburn Max For accel: 0.3
+Aburn Min Burn Rate: 10.0
+Aburn Max Burn Rate: 60.0
+Aburn Min Reverse Vel: 75.0
+Aburn Max Reverse Vel: 90.0
+Aburn Min Rev accel: 0.5
+Aburn Max Rev accel: 0.4
+Aburn Fuel: 300.0
+Aburn Rec Rate: 8
for added realism perhaps you would have a curve setting so you could make your fuel consumption more efficient at lower settings. im not sure what you would do for graphics. maybe add some kind of super afterburner effect or perhaps variable length afterburner trails. im sure somone could come up with something that looks pretty cool.