707 karma · joined November 26, 2014
He must have tasted pretty bad then.
The trappings of colonialism were still all around when we stayed there in the mid 80s.
We had a house Mary who came over from a nearby village and worked for us, Mrs C. There was a hut behind each house for the house Mary or house man. Pidgin English was spoken. Betel nut stains covered the sidewalks in Lae.
Still it was an incredible experience for a 10 year old I'd like to go back one day, but it's unlikely I'll ever get the chance.
Truly an amazing place and people.
It's directly equivalent to asking this question of a human:
"How do I know this human I'm talking with now really is a nice person, and isn't just pretending to be nice to take advantage of me in future?"
In short you can't ever really prove it. You can only be careful and judge on past behavior, and expand trust carefully. As for humans, so for AI.
Thus all the versioning overhead of protobufs is not needed for this wire protocol.
(Yes, games still use versioning everywhere else where it makes sense: save games, asset data, config etc...)
Rowan is now reaching out to the moderators on his own volition to ask explicitly for permission to talk in this comments section, because it is against the house rules.
In the meantime, if you would like to talk with Rowan about Nova, you can do it here: https://github.com/mas-bandwidth/nova/discussions/4
Erin added the cool large world support with double positions, but broadphase and internal solver are in floats still. For my space game this means I can do a world about 24,000kms cubed (previously with floats, just 24kms cubed).
Arguably this is enough, and Box3D with floats + double positions enabled is within 3% of single precision float performance in CPU cost.
So it's PROBABLY not the case that the fixed point implementation has any real benefit, unless 24,000kms cubed is not big enough. It's probably going to land slower than 3% vs. the single precision float implementation.
So this is simultaneously an honest exploration of what would happen if we go fixed point, but also a joke between Erin and I (in good spirits, we are friends) to see how far we can push the fixed point performance :)
Personally, I believe that fixed point is going to land slower than float, but we'll see what the AI comes up with over the next day.
ps. Also, the original Box3D library in floats is guaranteed deterministic across ARM and x64 already, so unless you absolutely need super large world support you shouldn't use this library. :)
cheers
- Glenn
It's sitting in your chair. Or is it?
https://box2d.org/posts/2024/08/determinism/
Physics engines like Box3D have a significant amount of internal state and caching, like contact caching, and other things to speed things up.
I've talked to Erin a lot about stuff like: "Hey, what if I want to do an FPS or a vehicle, but I want to roll back only the character or vehicle, like in an FPS?"
From these discussions (and many other inputs I'm sure) Erin has had a big think about determinism, and come up with his own determinism and replay stuff.
In the article he uses the term "rollback determinism" to mean you'd be able to synchronize (or at least invalidate) any of this caching so that it doesn't affect the way the simulation replays if you were to rollback the simulation fully and then change the state only for a few objects.
For example, if you were to rewind and replay a physics simulation just for say the player predicted object like a vehicle and any objects that it happens to touch, expanding these objects out recursively as they touch other things.
Or if you were to do rollback on the player controller like we normally do in FPS, and the player started predicting a physically simulated door they push into, and then any other object the door pushes and so on, this sort of thing.
This should not affect you if you only step the physics simulation ahead with inputs, and do the GGPO thing where you copy fork, and step that sim ahead with predicted inputs, throw away, copy fork and predict again... that's already deterministic today.
cheers