tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
114 stars 17 forks source link

[Suggestion] Buoyancy Mechanic for Ships #5957

Open Crimson-Artist opened 2 weeks ago

Crimson-Artist commented 2 weeks ago

Since there is a lot of planets where water take up 80-90% of the surface this leave very little room to land a ship. If a ship lands in water now it just sinks to the bottom. I thought that a great mechanic would be to add a system that allows ships to float on water like a boat. It could even be the basis for canonized boats later on.

Rather than adding a complicated system where players need to use special materials and design their ships a certain way I would say to add a system block that generates buoyancy for an entity. This Buoyancy generator would require power but while on it will allow a ship to float on the surface of water when unoccupied. This would allow us the maximum amount of creative freedom to design our ships any way we want.

As a bonus perhaps there can be a slider setting on the buoyancy generator that determines just how much of the ship will be submerged in the water based on the entity dimensions. 0% will have the ship float with its absolute bottom on the surface of the water while 100% will have the whole ship submerged but hanging out just under the waves. This will allow us to create specific parts of the ship that stays above water while the rest is submerged. For example think of the Bebop from Cowboy Bebop and how when it lands in water only the top part of the ship where the main flight deck is located stays above water. 11081_4

COMICLER commented 2 weeks ago

this would be great

StingerTheRaven commented 2 weeks ago

Buoyancy does already exist, and hollow, sealed volumes create the displacement you would expect them to. Video demonstration: https://github.com/user-attachments/assets/f55bab28-3f22-4a44-b4d2-ea011eca19b7 I like boats and would personally enjoy a boat controller, although designing a hovercraft with a displacement hull would surely be more practical... although the same is true of mechs.

Crimson-Artist commented 2 weeks ago

Buoyancy does already exist, and hollow, sealed volumes create the displacement you would expect them to. Video demonstration: https://github.com/user-attachments/assets/f55bab28-3f22-4a44-b4d2-ea011eca19b7 I like boats and would personally enjoy a boat controller, although designing a hovercraft with a displacement hull would surely be more practical... although the same is true of mechs.

I did some testing and while buoyancy does exist its too inconsistent to design around. Material does matter so wood is the best since its the lightest. The amount of hollow space needed needs to run the full length of the ship. You'd basically need to have a completely hollow tube of a ship to maybe get the desired buoyancy. My suggestion is still valid as a dedicated buoyancy generator would allow for more consistent floatation. The fact it would require power would be its limiting factor.

tsunamayo commented 1 week ago

@Crimson-Artist Hi, yes there is actually quite a realistic simulation of the buoyancy, ie it will look at hundreds of point on the ship surface and apply a force proportional to its immersion. Indeed to make usable ship it will need a few more feature like you indicated, honestly it is a bit low priority for now as ocean are a bit boring for now (no wave), but hopefully one day I can tackle this.

Majikmonster commented 2 days ago

What Crimson is suggesting is a ballast tank.

With the new sorting functionality of cargo tubes, perhaps we could have similar functions for fuel lines to turn our reserves into a buoyancy management system. The tank bricks would have to change their weight relative to fuel volume for it to work properly.

Or Crimson's full suggestion is implemented and the ballast tank is a new brick that only requires power (with logic toggles, buoyancy percentage, and speed of buoyancy change settings).

submarine ballast function