Hey folks, Daniel here, aka Crush Depth. I want to clarify my poor choice of words. When I said we can't dedicate massive resources to this and that few people actually fly helicopters, I should have followed it up by mentioning the ungodly amount of hours I've personally spent improving the system. 😅 It's been a passion project for me for the last six months, both during and outside of work hours, as I myself am one of those people who want helicopters to reach their full potential. Regardless of how many people actually choose to fly them.
As many have rightly pointed out, an improved helicopter flight model will encourage more people to fly them in the first place. We agree. (Incidentally, the same goes for the SL and Commander experience too - for which there are features in planning stages which we look forward to sharing in a future Squad Chat.)
What I meant to express is that that is why it has taken so long, as we were busy fixing bugs with the core experience and getting Squad in a good state for 1.0 release.
I also wanted to temper expectations, since people have had a lot of time to envision what their ideal Helicopter Overhaul should look like. We do not use a true physics-based flight model, but rather an approximation which is separate from the game's physics system. The nature of this system makes it very hard to work with and tune, but as I explained in the Squad Chat, tearing the whole thing out and starting over was simply not an option at this point. Therefore, I took what was already there and improved on it in several major ways.
At the core of the changes is the unification of flight physics at slow and high speeds. Instead of faking it, extra thrust at high speeds is provided with the proper implementation of dynamic rotor efficiency, based on speed and angle of incidence with the relative airflow. This is quite a bit closer to how actual helicopter flight physics work.
Here's the full list of actual changes:
- Big code rewrite: Unified the flight physics at slow and high speed to prevent the awkward "transition" phase
- Adjustment of all major flight model stats and curves
- Smoothed the X-axis acceleration curve, allowing a smooth transition in speed and mitigating the "see-saw" effect when landing
- Rewrote the stabilizer script to always settle nose-first into the airstream ("weathervane" effect), and tweaked the speed at which this starts to become noticeable
- Scaled rotor efficiency by angle of attack, giving you more "bite" into the air in steep turns and sudden stops
- Implemented translational lift (rotor becomes more efficient at high speeds)
- Increased responsiveness of yaw, pitch, and roll
- Improved energy retention through gentle turns, while preserving ability to stop quickly with hard J-turns or steep flares
- Reduced residual thrust when engine is disabled, preventing engined helicopters from escaping
- Fixed a bug where helicopter inertia calculation did not account for changes in rotation between frames
- Quality of life: UH-60 ammo/supply count is now 400/600
More helicopter changes are planned after v2. Specifically, I'd like to implement auto-rotation when the engine is knocked out, and better spin and recovery gameplay when the tail rotor is destroyed. Ground effect lift is also a possibility, as are various kinesthetic and quality of life improvements. Finally, starting in v3, all helicopters will receive unique flight models to differentiate them from one another.
Sorry for giving the wrong impression on stream. I went to school for Game Design, not PR :)
Note to self: Just share your screen next time.
Thank you all for your vocal enthusiasm for helicopters in Squad. It's what keeps me motivated through thick and thin.
PS: I should also shout out the very significant Programming assets which have been put into helicopter netcode for many months now. That has been by far the biggest allocation of resources towards helicopters, as we see it as a higher priority than the flight model itself. Passengers and separate observers can look forward to much smoother helicopter replication in v2 and beyond.