Comments (3)
There's a few issues, but the main ones would be:
- You might be writing logic for an app that runs in either the FixedUpdate of a client or the Update of a server. But
Time<Virtual>
is not suitable to run a deterministic simulation. - None of the clocks is supposed to be turned back, but this is necessary when synchronizing the clocks as well as for things like rollback.
- The units used for time are very unpractical for networked simulations,
Duration
is huge and difficult to deal with compared to a simple tick counter.
Even if someone decided to internally use Time<()>
for their simulation tick, they would need to make a SystemParam
containing a few other resources to work around these issues, this would in turn become yet another type lacking interoperability.
Adding this functionality to Time<()>
would be another potential solution, but I'd imagine this would lead to confusing behavior with Time<Virtual>
having ticks with a variable delta. It would also add one field that doesn't match with this line in the docs: The clock does not support time moving backwards
, but I guess a Time<Simulation>
would have the same problem.
from bevy.
Can you explain why Time<()>
doesn't meet the needs of networking crates here? This was intended to be a standard "in-game-time", which worked correctly both inside and outside of the fixed update loop.
from bevy.
If there's interest in this I could pick this up once we have an idea of what it should look like (eg. part of Time
, a separate Time<Simulation>
, or a simple stand alone resource + plugin similar to FrameCount
). I'd imagine @maniwani also has some opinions on this, since it relates to fixed timestep simulations and networking stuff.
from bevy.
Related Issues (20)
- Current tracy deps don't follow compatibility table HOT 4
- Component Hook functions as attributes for Component derive macro
- Fragment Stage Exceeds Maximum Sampled Textures Limit on the web
- Gamepad unique id
- Allow one-shot systems to be replaced, re-using the same SystemId
- Log window/monitor info on startup HOT 1
- Regression on string representation of entities HOT 2
- `bevy_log` expose `tracing_subscriber::Layer::set_ansi`
- Lights by default affect all but the first RenderLayers ? HOT 2
- Commands.register_system
- [Docs] Add example to demonstrate how to use skinning and morph with custom vertex shaders HOT 1
- macOS asks for permission to use the microphone HOT 7
- `AnyOf` can violate single mutable alias rule HOT 2
- `AnyOf` does not behave correctly with `()` params HOT 4
- Bevy should capture Ctrl+C, send AppExit event
- Make cargo clippy and cargo fmt pre-commit hooks HOT 4
- SubApp::extract cannot be called due to borrow checker HOT 5
- Can't upgrade to 0.14, impossible to render `AlphaMask3d` phase items without mesh HOT 2
- Support the `<verb>_parent_in_place()` API for operating on parents instead of children
- lldb hangs 1-2s whenever I press Ctrl+key or Cmd+key for the first time on Mac (since winit v0.30) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bevy.