Aircraft Steering 2.0

Aircraft Steering 2.0

Requests for features in the spring code.

Moderator: Moderators

Post Reply
User avatar
MadRat
Posts: 532
Joined: 24 Oct 2006, 13:45

Aircraft Steering 2.0

Post by MadRat »

Basically we have alot of variables to control aircraft behavior that are hard as f*** to figure out what exactly they do. Sure they are highly modable, but if they are confusing to use its almost pointless. Fanger has posted his complaints about aircraft in this very same forum. Argh has been griping about the whole aircraft steering problem - where units leave the map forever - for a few weeks now and has also posted his findings, but his post is in the development forum. Hopefully ILMTitan doesn't take this post as a slap at the hard work he's put into these problems!

I propose the aircraft steering gets cleared up by more definite variable controls. The idea of steering of aircraft seems to generally do one of three things; make them either go from point A to point B, loiter around an area, or attack another unit. There are no less than thirteen factors that go into current aircraft steering code alone, with only three of which are really straight-forward; turnrate, cruisealt, and drag. Otherwise its a total turkeyshoot trying to control aircraft behavior beyond these basic functions.

I'd like to see some more straightforward flight variables:

* ClimbRate = maximum positive velocity on vertical plane
* DescentRate = maximum negative velocity on vertical plane
* MaximumAlt = definitive maximum altitude over sea level; exceeding this altitude causes dead stick steering AND forward velocity to decellerate as defined by Drag AND plane to accellerate on a negative vertical plane as defined by MyGravity (fake stall) - but flight controls resume once below MaximumAlt again
* MinimumAlt = definitive minimum altitude over terrain; the aircraft will always plan to be at least this distance above terrain; if terrain height plus MinimumAlt is a sum greater than MaximumAlt then it cannot pass over
* CruiseHorizontal = boolean; once it reaches cruise altitude then it flies upon a level horizontal plane, otherwise it climbs and dips around the terrain heightmap like current aircraft - should be the former by default !!

I'd like to see some more straightforward attack variables:

* AttackAlt = altitude above the terrain level from which attacks ON GROUND UNITS begin execution - in some cases this may exceed MaximumAlt which means the attack cannot proceed
* FlyBy = boolean; aircraft flies perpindicular to target as defined by a tangent equal to its 'manueverleashlength' - perhaps add another variable or two for it to be possible to define righthand and/or lefthand passes concurrently or alternating, too?
* OverFly = boolean; aircraft overflies target as defined by its 'AttackAlt', used by default
* StandoffAttack = boolean; aircraft lines up to attack as defined by 'manueverleashlength' distance but breaks off upon completing a distance defined by the 'attackrunlength', only used on OverFly=TRUE

I believe alot of the current out of control behavior in the previous versions are due to conflicts with the hard-coded definitions within the steering code. By adding some simple variables like I described, some of the present confusion for controlling air units could be avoided. I wouldn't even mind if OverFly and FlyBy were combined into a single boolean (OverOrByFly?) whereas TRUE is for one and FALSE is for the other.

And perhaps some more not-so-straightforward, but valuable to me, variables:

* CorneringVelocity = drag kicks in on turns until this speed is reached in order to enjoy maximum turnrate and minimum turning circle, slight turn rate penalty of 20-30% should kick in for turns during forward velocity outside the 'CorneringVelocity'
* MaxTurnRateAim = limit shooting to events when turnrate is below this threshold
* ZoomAttack = boolean; attempts air to air attacks on units above its AttackAlt, even if this means an attack run above its maximum altitude

With these types of variables I could make a pretty realistic dogfight possible. Sure the current ones are enchanting. But the current ones are also not very well defined, that is we don't have much control over what takes place. With these three variables I could pretty well mimic over ten levels of advancement in aircraft ability.
Post Reply

Return to “Feature Requests”