No im sorry I meant that it would be cool if there was a built in feature which can be toggled per soundemitter which handles the delay of sound playback due to the speed of sound. For example: If a sound is emitted 343 meters away from the client, the sound playback be delayed by 1 second for the client.
By the way, I would have an important question even if it may seem unrelated.
Im planning on making a highly realistic military flight simulator just like the game “DCS” (Digital Combat Simulator). The maps will be atleast 120km x 120km big since its a reasonable size for a flight simulator but that raises 2 major issues which are:
-
The current terrain implementation is way too inefficient for such a big map. Even if you were to use Streaming enabled, you wouldnt be able to edit the game in Studio since it requires an ungodly amount of ram. I have however thought of a way to use EditableMeshes and create my own terrain implementation. Ive done a few successful tests already using a quadtree structured LOD system which resulted in very fast terrain generation and high framerates.
-
The floating point errors are really bad at such a big size, there was a fix for that issue which was showcased during the hackweek in 2019 but has never been implemented sadly. I could make a workaround for this issue but it would be extremely hacky and would be another extremely massive obstacle for my project.
Another major issue that is not related to terrain but rather to replication is that when you have a fast moving plane, the latency from client to client is massive and the plane has extreme visual stutters in its interpolation.
Is there plans to fix or atleast significantly alleviate these issues? And if not I would strongly recommend addressing these issues to allow for more innovative usage of the Aerodynamics!
Ahh gotcha - I’ll relay the request to the right team! thanks for the feedback
- I will relay the feedback on terrain to the right team, thank you!
- is there a link you could provide to the floating point error fix? I’d love to learn more!
- Wrt interpolation issues, do you have a repro file and repro steps + video to show what you’re referring to? We are actively working on our interpolation system and would benefit from concrete examples!
Again, thanks for all the feedback!
I’m super excited about this. Will you release more information about the underlying aerodynamics model? How does it compare to the models used in flight simulators like X-Plane and Microsoft Flight Simulator?
Thanks!
-
Thank you, I’m hopeful the team will be able find a solution for this!
-
Oh sorry I meant to put a hyperlink linked to the video in the previous message, here is the video.
-
So I’ve tried to reproduce it and I’ve come to the realisation that only the latency is still there and the visual stutters may have been an issue with my internet connection which has been fixed since the last time I’ve tested the Aerodynamics. A person was able to implement a solution for that problem but it would also be nice if this was already built into the engine instead having to replace the entire builtin replication system.
However, I was able to find an issue with the Aerodynamics simulation. In this clip you can see that the Aircraft refuses to pitch downwards with fully deflected elevators at high speeds. I’ve also noticed that when flying the elevetors dont seem to be pushed by the air as much as they are supposed to be pushed. At a high speed you would expect a plane that has its elevators fully deflected to be turning extremely fast which doesnt happen in real life due to the G-Limiter on fighter jets preventing the aircraft from deflecting the elevetors too much, preventing the pilot from passing out or the aircraft tearing appart from the stress on the wings. So what im doing in the clip shouldnt even be possible at all, the aircraft would be turning so strong that it would lose control immediately. A good example of correct behavior would be in this game called “Flyout” (i didnt showcase the loss of control tho since i didnt turn of the game’s fly by wire): clip
Almost forgot but the wind mode should have toggle for applying wind relative to the part’s velocity(and rotational velocity) to allow easier simulation of sealed environments.
Very cool update
Thank you! We’ll look into this floating point error project and the bug you brought up.
Its good idea i like see new stuff but don’t we need to script this stuff for it to work?
You only need to script the controls
I’ve been to RDC many a time & was an Accelerator Intern in 2020:
I have been told multiple times by staff that creating a system to address this issue is entirely on us as Developers. The most recent update to this kind of talk, was at this year’s RDC, a member of staff mentioned to me that realistically “racing games won’t be possible for another few years.” (And what he meant by that was enough control over server authoritative systems to be able to create your own interpolation + keep it safe from exploits / create these systems in an efficient enough way to be able to actually have more than 2-3 vehicles doing it)
Maybe things have changed behind the scenes, but from what I understand, it’s just something that we gotta wait until the tools to build it ourselves are readily available.
quick question, what exactly does it mean if something is in client beta?
Ahh I see so thats what they meant with Server Authority. Ive expected it to not be controllable by Developers but if it is, thats awesome! Ive just recently made a rough implementation of my own character replication and im planning on making my Flight Simulator nearly fully client sided to save performance (also because I have to make my own implementation of physics grids which obviously has to be client sided which i hope that roblox will make a native feature)
Client Beta means that you can use the feature in games. If it isnt a Client Beta then you can test it in studio but not in the actual game.
whats the difference between client beta and released? i assumed that the client part means that its only client sided no?
No, it means exactly what ive said. “Client” has no relation to scripts
This in Natural Disaster Survival
That’s understandable. About the ‘EnableFluidForces’ property in Parts, is it confirmed to stay even after the full rollout? Our game’s vehicles don’t need this feature as it causes a lot of lag due to the many parts in our vehicles. And, it makes our bus fly away because we set a high GlobalWind value to move the clouds in the sky. I have tested disabling EnableFluidForces for player characters and vehicles when they spawn, and it seems to work fine.
I’ve experimented with these new features and came up with some fun ideas for my game, like flying vehicles with balloons. I tried attaching parts with a 0.0001 density to the vehicle, which has all parts with EnableFluidForces disabled. While the balloons can fly on their own, they still seem to be affected by the vehicle’s density or mass. The vehicle is just too heavy for the balloons to lift.