|30 Jan 2023|
In reply to @tengkuizdihar:matrix.orgOn ground or in air?
In reply to @an_origamian:matrix.orgyeah, probably need to use a custom "deterministic" physics engine like Rapier
In reply to @an_origamian:matrix.orgon the ground
|an_origamian||What's special about deterministic physics?||04:36:43|
In reply to @an_origamian:matrix.orgI think Godot internally already use that. Rust should be used to get all the data need to be serialised and deserializing data.
In reply to @an_origamian:matrix.orgFair fair lol
|an_origamian||Note: I recommend thinking about how you will delag everything before you write the code. What do you want delagged? What don't you want delagged?||04:38:34|
In reply to @an_origamian:matrix.org
two different machines can simulate the same exact physics behaviour given the same input
now, most physics engine aren't deterministic because there will always be a slight floating point differences between machines.
|an_origamian||I'm pretty sure there shouldn't be any floating point differences at all since most machines conform to the IEEE-754 floating point standard.||04:39:25|
|an_origamian||I think Q3 fits that description, at least for the most part.||04:39:47|
In reply to @an_origamian:matrix.orgwell my main concern right now is reconciliation and prediction. seems like knowing a physics engine deterministic or not is the first step to do it in a server authoritative way
|an_origamian||I've never messed with physics engines, so I wouldn't know.||04:40:14|
In reply to @an_origamian:matrix.orgyes, that's also what I thought, but then someone made a demo to showcase that indeed it happens
|Izdihar||I'm on phone right now, maybe I'll show it later||04:40:41|
|Zoey (she/they) changed their profile picture.||04:58:02|
an_origamian: not on the phone anymore, here's the example of how non-deterministic "regular" physics engine is https://github.com/feetuh/netdot-boxes
It looks deterministic in the second gif not because the simulation was made deterministic, but because everything is now synced by properties lmao
|an_origamian||Redacted or Malformed Event||20:59:12|
|an_origamian||> I think the server's view would just be delayed, i.e. you only start running on the server at frame 5. Don't quote me on it though, it's been a while since I've looked at that. It for sure never rolls back your position (that only happens for weapon delag). The server doesn't do interpolation IIRC, but it does extrapolate a bit if it doesn't get user commands in time (although not for long).||21:00:02|
|an_origamian||^^^ That is from the more knowledgeable source.||21:01:12|
Izdihar: You should read Glenn Fiedler's articles about game physics and fixed time steps.
He is specifically focused on game physics over a network and he talks about how developers can implement deterministic fixed physics steps into their games.
His Fix Your Timestep! article goes back to 2004.
In reply to @an_origamian:matrix.orgthank you, that's a nice insight
In reply to @gh0std0g3:matrix.orgwill do
|31 Jan 2023|
|illuminaic joined the room.||15:43:12|
|an_origamian||Izdihar: This looks useful: https://fabiensanglard.net/quakeSource/quakeSourcePrediction.php||17:48:10|
|1 Feb 2023|
|testman changed their display name from testman to testman42.||15:19:03|
|ranger joined the room.||15:36:36|
|2 Feb 2023|
|testman changed their display name from testman42 to testman.||10:36:21|