Visual review of games that failed to scale.
Gamers and modders wanting more have exposed some interesting cracks and jitters in large-scale cyber playpaces.
wallacepolsom

No title available
Stranger Things

izzy's playlists!

No title available
sheepfilms

★
Jules of Nature

shark vs the universe
Mike Driver
Xuebing Du

JVL

PR's Tumblrdome
PUT YOUR BEARD IN MY MOUTH
No title available

Janaina Medeiros
No title available
🪼
will byers stan first human second
I'd rather be in outer space 🛸
seen from Cyprus
seen from United States
seen from Türkiye

seen from Brazil

seen from Türkiye

seen from Türkiye
seen from United States

seen from Australia
seen from United States

seen from Germany

seen from United States

seen from Singapore
seen from United States

seen from Malaysia

seen from United States
seen from Türkiye

seen from United States
seen from United States
seen from United States
seen from Indonesia
@centricrelativity
Visual review of games that failed to scale.
Gamers and modders wanting more have exposed some interesting cracks and jitters in large-scale cyber playpaces.
Easy conversion to large-scale Worlds without jitter.
My latest WIP to enable large-scale open worlds for assets that are not able to scale without jitter problems.
Floating Origin in Unity
This technique is used when you need a larger area than the standard range in Unity. Transform position loses precision at around 10km (1 unit = 1 meter). Shadow mapping much closer.
The idea is very similar to old-school games, where the character is always in the center of the screen and the world scrolls under him.
Let’s assume I have a huge map, which somehow consists of world tiles, which are dynamically loaded/generated. I also have a character, some enemies and the camera.
First thing is that all these elements get a 64-bit ‘real’ position, so
{ double x; double y; double z; }
Next, there is a class that moves everything to their world position, which is now relative to the floating origin. The floating origin is a 64-bit coord starting at (0, 0, 0). The space is divided into blocks, for example 128x128x128. Whenever the focus leaves block (0, 0, 0), the floating origin is moved.
An example:
NOTE: I’m using w(…) for world space coordinates, which is transform.position. I’m using r(…) for real space coordinates, which are 64-bit.
floating origin = r(0, 0, 0)
focus world pos = w(127, 0, 5) (the focus is the player)
Now the player moves to w(129, 0, 5). This brings the focus block to (1, 0, 0). The floating origin manager will now do the following:
set its floating origin to r(128, 0, 0)
move the player, the camera, all the enemies and all the terrain tiles by w(-128, 0, 0). Which means they end up at realCoord - floatingOrigin.
Later, the player moves to w(129, 0, 5) again. This brings the focus block to (2, 0, 0) compared real space, or (1, 0, 0) compared to world space. The floating origin manager will now do the following:
set its floating origin to r(256, 0, 0)
move the player, the camera, all the enemies and all the terrain tiles by w(-128, 0, 0)
Some notes:
it matters when the floating origin manager’s update function executes
rigidbodies are a problem. You sometimes need to reset their inertia and it’s best to wait moving the floating origin until none of them are awake and colliding
world space particles and trails don’t work
What you describe is origin shifting/rebasing. Floating origin keeps the player at the origin and the player never moves from there. You have described the opposite of real floating origin!
Static cameras for games: the player and cameras do not rotate when the player or view “turns”: the World is turned instead. To achieve this, rotation has been added to time and space floating origins.
Multiplayer positional correspondence. One of the verifications required for a successful multiplayer floating origin is to show the relative positions of players with respect to each other and the shared environment is consistent.
Floating origin multiplayer
A short shooter update.
"To travel without moving" [from Dune by Frank Herbert].
Although Humans have not mastered stationary travel, computer programmers can set the mass of the digital Universe to zero and say "I am the centre, you move at my will", and it is so.
3 and 4 player example
Initial progress with multiplayer networked floating origin: combining Continuous Floating Origin with Mirror Network.
The Wandering Tower
It can be hard to tell if you are in Relative Space,
perhaps it looks a little brighter, a little better?
Until a building gets up and moves!
In A briefer history of time, Stephen Hawking related how Newton's laws of motion proved there was no "absolute position, or absolute space". We now benefit from the knowledge and application of relative ideas to science and engineering.
Interactive virtual worlds, modeling and simulation can now also benefit from interactive relative motion algorithms. Origin-centric techniques, such as Continuous Floating Origin, move the Universe while the stationary avatar relative moves and interacts at the highest resolution place: the Origin of space, time and rotation
A visual comparison of character animation jitter variance with distance from origin.
High fidelity Player/game controller using Continuous Floating Origin
MIA: Performance and fidelity gains – no trade-offs
Motionless Interactive Avatar (MIA) stationary action
Example of a static and still player avatar relative-moving and interacting.
World space Z-culling of calculations with Rotation Floating Origin (RFO). RFO freezes the orientation player/camera to screen-facing and rotates the World instead. This allows performance optimisations such as in World space Z-culling of objects and calculations, that are normally only available a very low level within the graphics pipeline.
Continuous floating origin for games
Improve your application's performance, scalability, reliability and fidelity and reduce sensitivity to floating point error. First foundation component: