DonBruce64 / MinecraftTransportSimulator

A Minecraft mod that adds planes and automobiles with realistic physics!
Other
107 stars 58 forks source link

New vehicle type suggestion: Hot air balloons #1699

Open Gliese-832-c opened 11 months ago

Gliese-832-c commented 11 months ago

It would work kind of like a blimp, but also kind of not.

First and foremost, you should only be able to ascend if the engine is on and using fuel. If that is not the case it should slowly start to descend. For now I made my hot air balloon as a blimp, but right now, you just stay in the air even with the engine turned off. Which is not very realistic because you should actively need to use fuel to stay afloat.

Moving laterally is a bit more tricky to implement. IRL they just go to different altitudes or at different times to let the winds carry them. This isn't really possible to implement, so instead I suggest to make a simplified system where it always goes forward at a slow speed (which would be either be configurable per balloon or could be calculated from physics values like cross section and empty mass), and you just slowly turn left or right to change direction. While this wouldn't be perfect, it would be much of an upgrade over using the existing blimp system for hot air balloons.

Thank you for reading and maybe considering this.

Gliese-832-c commented 11 months ago

image This looks so silly. (I made it so that the balloon and burner are separate parts you attach to the basket. However, because of how blimps work, you can still ascend/descend.)

Gliese-832-c commented 11 months ago

To follow up, there should be new parts introduced for this.

First of all, the burner - instead of adding a new category of part, this could simply be done as a setting in the engine. If set to true, all RPM-related values get disabled/hidden and it turns into a burner.

Secondly, this would be an entirely new part, the balloon itself. There should either be a config in the balloon part, or some sort of physics-calculated value which determines how high hot air balloons can ascend. This way pack authors could create different balloons. An early 1800s balloon might only be able to ascend to y=200, while a modern ones could reach or exceed y=500. (Your rate of ascent should slow down as you reach that value, not just be a hard cutoff, that would look quite ugly.)

These two should interact in certain ways. Just like propellers have pitch and diameter, the balloon could have a volume or surface area value, and the fuel usage and perhaps some sort of efficiency value in a burner determine whether the vehicle will fly or not, and if yes how fast will it be able to ascend. Perhaps this could internally be simulated by making the burner produce heat and the surface area of the balloon radiate it away - the larger the balloon, the faster heat is lost, at some point the burner won't be able to add enough new heat to generate lift. There could also be a heat retention value configurable for each balloon, so balloons made from better but more expensive materials would retain heat better.

Right now I simulated all that in a kind of cursed way, where the burner is an aircraft engine and the balloon is a propeller. This works, but it's an ugly solution, and it would be nice to see it implemented into the mod natively.

DonBruce64 commented 11 months ago

Question: is it permissible to have the burner/balloon as a single part? Having them as such makes things FAR easier to code. I can use the settings of the burner to allow for ascent/descent, and speed control. TBH, I think this is something best discussed in the Discord with others who may also use this part and functionality.