-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flyable Helicopters #33829
Flyable Helicopters #33829
Conversation
Dear God... flyable helicopters? Have you gone mad? If the game get's any better you might cause a resonance cascade and doom us all! |
Have you considered a flying skill? |
What about other flying vehicles? |
Didn't look at the code yet, and didn't find this info in OP. So, will helis auto-drop to the ground when out of fuel? |
No autorotation on first pass probably. IT dosnt currently, when you turn the engine off, ill fix that. |
In time, helicopters are easier, in a way, hot air balloons will be easy now too. |
It'll probably be handled by a profession trait to begin with. Then when we have a proficiency system itll use that, no need to bloat the skills list more , we eventually wanna have it - skills= general, proficiencies = specific |
Well I musta messed up those conversions between feet, meters, kg, lbs, and newtons all over the place, cos now the heli can go 500 mph. Time to implement that speed limit. |
A few quibbles aside, this is excellent work. |
What a mad lad. In awe of this lad. |
The absolutely critical pieces of this are that fuel consumption, skill requirements and takeoff/landing be representative. For fuel consumption, you're looking at one, avgas or kerosene instead of regular gasoline or diesel, at least for most aircraft, and two, fuel efficiency in the single-digit MPG range assuming cruising at altitude, with a helicopter in particular, low-altitude hovering will absolutely destroy your fuel reserves, according to this sketch of the situation: https://aviation.stackexchange.com/questions/45631/do-helicopters-use-more-fuel-when-hovering you're looking at something like 2x the instantaneous fuel consumption when hovering or in very slow flight vs cruising speed, and with low-altitude flight also costing an order of magnitude more power/fuel than cruising altitude flight. The takeaway from this is that while an airport should definitely have a lot of avgas and kerosene on hand, you're pretty much going to be range limited by being tethered to your origin airport until you find other landing sites, especially if you're flying around looking for things instead of doing point-to-point flight. For skills, driving doesn't even enter into it, I don't imaging doing anything other than having a fixed trait that governs flight ability, at least in the short term. If you want to be able to fly, you need to start as a helicopter pilot, period. Takeoff and landing need to respect clearance issues, I'm not sure what we can do UI-wise to help out with this, but a tree within rotor radius of your landing site is a death sentence, or at least a guaranteed crash. |
Helicopter piloting should be separate from aircraft flight skill, helicopters are different (and much easier) to fly. Their controls work on fairly different principles, and they have different training and piloting licenses from fixed wing aircraft. The planned proficiency system should handle it just fine, though. |
It should be brought up that while helicopters may have much higher requirements, this will also allow for smaller aircraft, such as auto-gyros, which have vastly lower training, fuel (they're actually pretty efficient) and maintenance requirements. Gyrocopters and other auto-gyros are incredibly easy to fly. Actually easy to build as well; there's a reason you can buy plans and kits. To put into perspective how easy they are, the FAA only requires 20 hours of trained flight to get your license.
They got a reputation in the past for being death-traps, not because they're actually that dangerous, but because their flight characteristics during unpowered flight (such as engine failure) is literally the opposite of a plane, and many people involved in accidents already had regular fixed wing aircraft experience. That training of what to do in an emergency is hard to break, even though you're flying a different aircraft in which that training will kill you. |
I agree that an ultralight auto-gyro is the absolute best option for a survivor-built powered aircraft (if you just want to get into the air, hot air balloon is better), it has somewhat limited range, speed, and cargo capacity, but it's a heck of a lot easier to get off the ground and land safely. |
AUTOROTATES MENACINGLY |
What about having NPCs that could have that trait too and can fly the helicopter for you? Maybe even be able to call them via the radio so that they could fly to, for example, a roof of a building to take you from a bad situation. Also, perhaps some advanced AI module that could let you fly the helicopter if it isn't too unstable? There's also a report at lockheedmartin.com about a helicopter with fly-by-wire controls, as well as a fully autonomous flight planned. |
Having NPCs fly it for you is just down to getting it working, that's totally reasonable. For it to be at all practical I'd expect it to need a team of 3+ NPCs to maintain a helicopter (not full time, just you need that many for the skills), and a few more to build one. |
Dude I would LOVE to see hot air balloons and just drift with the winds. Now that we have wind simulated in game that wouldn't be too difficult right? |
Hah, we absolutely have a wind simulation. |
Yup, and they'd be easier to maintain and use than a helicopter would be, and far easier to craft, perhaps. |
Will this require a new location to find avgas and similar items related to aviation? Could be cool to add a helipad or even civilian/commercial sized airports with hangars and a runway. Of course most things at the location would be busted up due to the apocalypse but some things could be saved. |
We already have an airport location with a crashed airliner, avgas could be a fitting drop there. |
This is pretty amazing, i only wish that you were actually able to tell whats below you. |
924f105
to
39e00e3
Compare
ad63e77
to
8e68539
Compare
621a68e
to
b7106d0
Compare
0f30a43
to
d432807
Compare
partial reconstruction reconstruction finished but vehicle cache still misbehaving finalized vehicle rotor physics/math edited in error Revert "edited in error" This reverts commit b0db1e7. astyle and removing erroneous edit fix point.x error fix conversion to newtons astylin add proper aero drag to rotor fix consumption and acceleration Update src/vehicle.cpp Co-Authored-By: Mark Langsdorf <mark.langsdorf@gmail.com> Update src/vehicle.cpp Co-Authored-By: Mark Langsdorf <mark.langsdorf@gmail.com> add fuel tanks to apache, and change name, and revert edit to turbine add relevant parts to osprey and blackhawk fuel types and pilot prof/trait and vertical move messages json lint added other helis add civilian helicopters to vehicle list ( no spawn in world yet ) sanitized interaction with the ground and horizontal movement etc allow helicopter to use autodrive from review : line deletions and auto removal Update src/vehicle.cpp Co-Authored-By: Curtis Merrill <curtis.r.merrill@gmail.com> Update src/vehicle.cpp Co-Authored-By: Curtis Merrill <curtis.r.merrill@gmail.com> astyle add chance for civ helis to spawn at regional airport vehicle group json fix change to lvalue mapgen json lint fix vehicle group typo add increased fuel usage for low / hover speeds better fuel efficiency curve tweaked fuel efficiency range add NOINSTALL flag to rotor until a helicopter construction system is in place Update data/json/items/fuel.json Co-Authored-By: Anton Burmistrov <Night_Pryanik@mail.ru> Update data/json/vehicleparts/rotor.json Co-Authored-By: Anton Burmistrov <Night_Pryanik@mail.ru> Update src/vehicle.cpp Co-Authored-By: Anton Burmistrov <Night_Pryanik@mail.ru> Update src/vehicle.h Co-Authored-By: Anton Burmistrov <Night_Pryanik@mail.ru> plural names Update data/json/items/vehicle/rotor.json Co-Authored-By: Anton Burmistrov <Night_Pryanik@mail.ru> Update data/json/items/vehicle/rotor.json Co-Authored-By: Anton Burmistrov <Night_Pryanik@mail.ru> remove noinstall flag to stop errors alternative to NOINSTALL - set install difficulty impossibly high clang-tidy satisfaction - differing parameter names and integer division fix simplify expression add comment in the json for why difficulty is so high fix serialization of is_flying and autodriving route give more fuel tanks and more rotor noise Update src/vehicle.cpp Co-Authored-By: anothersimulacrum <anothersimulacrum@gmail.com> zlevel check before early return fix vehicle display to show air max speed unvisited member leftover astyle Update traps.json
Rebased, retargeted, re-tested, working, slight edits to vehicle prototypes. |
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: https://discourse.cataclysmdda.org/t/helicopters-how-to/23168/12 |
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: https://discourse.cataclysmdda.org/t/tips-tricks-and-newb-questions-reborn/16870/2376 |
Summary
SUMMARY: Features "Flyable Helicopters"
Purpose of change
Allows helicopters to fly, go up and down z-levels and fly about and inevitably crash and burn and die
Describe the solution
So I've added a rotor part
A vehicle with this rotor part, transfers its engine power to it, and can lift off with < key ( and descend with > key ) , assuming it has the required lift capacity based real-life( ish ) helicopter physics of rotor diameter and power and stuff.
this then transfers the vehicle to another z-level and keeps it there so it dosnt fall, in other words, flying.
Then ive added some wacky math to calculate speed/acceleration from rotor diameter and weight etc.
What I've not done yet is added any other types of helicopter spawns in the game, or even approached the idea of how difficult it should be to fly the helicopter, or how to restrict that to a profession maybe?update - added new helicopter types and a helicopter pilot profession which ( for now ) restricts the piloting ability.
I will either a) leave the JSON content/mapgen/player balance up to other creative people who want to add on to this, or take direction / suggestions from them, as that kinda thing aint my forte.
Describe alternatives you've considered
N/A
Additional context
I got some data from various places.
http://www.heli-chair.com/aerodynamics_101.html
http://www.rcheliwiki.com/Disk_loading
The math is commented in vehicle.cpp lift_thrust_of_rotorcraft()
Taking the apache as an example : the in-game weight and power werent far off from real life values, and adding the correct rotor diameter, outputted a level of thrust that seemed ok.
Stuff still to do :
Have a gif of an apache zooming about.
https://gfycat.com/detailedcrazyiberianmidwifetoad