Star Citizen

Buoyancy and Crusader (Dev Responses)

Content of the article: "Buoyancy and Crusader (Dev Responses)"

In 3.11 we're getting Ground Cover Buoyancy: "Seaweeds and other ground cover elements on water will simulate buoyancy, floating and reacting realistically to water waves to further enhance the visuals of water on planets" Orison is designed to float in Crusader's atmosphere, and we know that Crusader's spacewhales 'swim' in the atmosphere too. So if the atmosphere is dense enough for creatures and entire cities to float in it, then it's dense enough for other objects to float in it too. Which leads me to a few questions: Is the buoyancy tech coming in 3.11 necessary for buoyancy of other objects on water/liquid? Will buoyancy physics eventually be simulated on all objects? Will buoyancy physics be applied to dense atmospheres, such as gas giants or a Venus-like planet? Is the buoyancy tech coming in 3.11 necessary for buoyancy of objects in gas giants too?



Hi there! Sorry for the late reply, I don't often check the Ask The Devs section as most questions seem to be gameplay, where I'm not the right person to answer questions. I developed the ground cover buoyancy feature that you see on the roadmap, and I've been wanting to clear this up for a while as there seems to be some confusion around it on here and reddit. The feature you see on the roadmap is NOT physics based. It is in fact a shader effect, where a flat(ish) mesh can be deformed in order to conform to the waves on the ocean below/above it. Essentially, it reads the ocean's displacement map and mimics that. There's also a version of it where whole meshes (like ice chunks) can appear to float, rather than deforming like seaweed. But it is all entirely shader based, and relies on ocean tech to work. As for a physics-based approach, we do also have physically simulated buoyancy in engine! This wasn't me, but a couple of the other features I've been working on have used physical buoyancy. I'm not the best person to answer whether our physics-based approach will work in gas giants, but I'd assume not. Our current buoyancy model is based on a fixed level (ocean level) rather than atmospheric buoyancy, and while in real-life physics fluid buoyancy covers liquids and gases, their effects are so different that it would likely be simulated differently in code. Thanks for the question figwig

Read:  new player - very disappointed in my mustang

So if Im reading this right, your work is for making static assets look like they are physically interacting with the water (for performance is my guess) whilst another team is creating a system for physical items to interact with water? As I've noticed that the ragdoll of the player model does float in certain cases.



AFAIK yes, physical buoyancy is working in the live build. There's just not that many things that as a player you can throw in the water and see float – most of them won't be buoyant. Never mind the fact that you'd die if you went in the water, it's insta-kill right now. The reason my tech is shader-based is because what we call "ground cover", so grass/seaweed/very small rocks, is simply not included in the physics simulation. The tech is also based on deformation, so yeah I guess simulating this physically would require soft-body physics simulation which is very expensive, and in this case would be a waste of resources

Sea of Thieves is considered by many the gold standard still for now but in my view is overrated and one of the worst things about the water in SoT is just how static it is. It's awful. I don't know what the plans and long-term goals are for water in Star Citizen, but I truly hope they are ambitious and bring some much-needed innovation to the water in our video games. Physics would indeed be an important part of that; whether seeing the water ripple and slosh around when you walk and move into it on a ship like in the 890 Jump's hot tub or pool, when placing a floatable object into a flowing stream on a planet and seeing the object float down the stream realistically, or even more ambitiously, having the water be able to also become displaced and be affected by the environment (by temperature, humidity etc) — these are the kinds of things I ultimately want to see for the water in Star Citizen. Water is such an absolutely fantastic and beautiful thing when it is using physics, and can be such a dynamic and playful part of the player's experience that really adds to it in a meaningful way.


Read:  Interesting tidbit about the Pioneer and future base building from the SC Birthday AMA


In terms of long term goals – we'd love to develop the water further. I've personally worked on the oceans from quite a few angles, and I know there are more changes planned. The thing about fluid simulation for oceans is it's very expensive. A really good fluid simulation can take as much GPU processing as rendering a whole game. We'd also need to dynamically switch between our existing ocean simulation and the fluid simulation – we can't do physical fluid simulation for an entire planet simultaneously, we'd want it local to the player. I'd definitely be excited for this, but it's not currently planned. But as said, there's more work in the oceans with every patch, I know there are at least two water related shader changes I've added coming this patch


Similar Guides

© Post "Buoyancy and Crusader (Dev Responses)" for game Star Citizen.

Top 7 NEW Games of June 2020

Quite a few exciting games are releasing for PC, PS4, Xbox One, and Nintendo in June. Here's what to keep an eye on.

Top 10 NEW Open World Games of 2020

Video games with open worlds continue to roll out in 2020 on PC, PS4, Xbox One, Nintendo Switch, and beyond. Here are some to look forward to!

Top 10 Best New Upcoming Games 2020-2021

The best selection of games which will be released in 2020 and 2021 for PS4, PS5, Xbox One, Xbox Series X, Google Stadia and PC - and you can watch in amazing UHD 4K and 60FPS with latest updates about all of the games in this list!

You Might Also Like

Leave a Reply

Your email address will not be published. Required fields are marked *