Today's development preview showcases some more vehicle related sync.
Vehicle appearance sync is disabled, interpolation was set at fixed 100ms and post sample extrapolation was disabled.

purple
Posts
-
2025-03-08 -
2025-03-07Today's first post is gonna be a screenshot and a small video clip of two players on the same server.
Please excuse the slight stutter in the video, both clients are running on the same machine. -
2025-03-09Today's update is a little bit less flashy than the previous one.
Its a short demonstration of some of the features in our console implementation.Specifically demonstrating config file execution, ConVar replication, quake like vstr groups and probably the most useful feature for most people: UI integrated and re-bindable ConCommands
-
2025-03-15This update is going to be rather technical, no good looking screenshots today.
-
We upgraded our toolchain to llvm 20, which took some time as we compile with maximum strictness against clang and msvc. We also run an aggressive clang-tidy config which always takes a bit of work after major toolchain upgrades.
-
We made some other miscellaneous upgrades to our build system. Some for speed, mostly to improve compatibility and stability for the future open source release.
-
We fixed a bug causing delayed crashes related to improper refcounting when dealing with game objects which plagued us for quite some time.
-
We successfully merged a PR upstream relating to our scripting system (more on that soon hopefully).
Currently we are re-working large parts of our animation sync, as the current way is unsustainable when it comes to bandwidth usage.
We are moving towards a more direct integration within the games AI and Workspot systems to synchronize more state and author animations locally from that shared state.We will keep you updated, but for now that's it.
-
-
2025-03-23As promised, today's update is a more visual one.
-
We implemented state synchronization for world entities.
Currently only for entities inheriting fromgameDeviceBase
, which covers the majority of gameplay relevant entities.
A demonstration of that sync can be seen in the attached video. -
We made quite a lot of progress in our animation sync re-write effort. Still too early to showcase fully, but all of the door / window opening animations seen in the video (yes, those are animation driven) are created client local from shared state.
While that state is currently sent from a client, we designed the system to support server enforced state in the future (This will be relevant for all servers choosing to limit the amount of state changes clients can author) -
We made various improvements regarding data locality on server and client to support synchronization and processing of thousands of entities at any given time.
That's it for today, we'll keep you updated.
-
-
2025-04-13Its been two weeks since our last update. As we mentioned before, we will only post stuff if we have a reason to do so.
That is the case today.For everyone not interested in technicalities, we once again have some footage linked below.
-
We implemented proper handling for time dilation events on both world and individual entity level
Dilation is not processed unless it is applied by low level engine systems as a fix for world streaming. -
We improved debug console UX and added support for optional parameters for natively registered commands
Usually all parameters specified in the native callback are strictly checked for presence and type when a ConCmd invocation is executed from the command buffer.
Commands can now wrap parameters in their callbacks instd::optional
and check for their presence inside the callback at invocation time.
Nested type compatiblity inside optionals is still enforced. -
We implemented proper mounting synchronization with server validation.
A demonstration of that can be seen in the attached video. -
We did a lot of major and minor networking fixes
-- Reducing network traffic
-- Even more integrity checks
-- Load testing
-- Congestion testing
-- Adjustments to "raw" networking layer settings like MTU size to reduce transmission errors in "weird" networks -
We improved our netgraph visualization with more detailed metrics and some UX improvements for easier interpretation
We added an extended netgraph mode that acts similar to a "message heatmap", to visualize which areas of networking produce the most traffic and need further improvements. -
We added a "component filtering" stage to our entity creation logic to dynamically remove unecessary entity components from remotely simulated entities
This is used both for bug fixes and a general performance increase due to the avoided unecessary computations. -
We improved our third person perspective representation logic to deal with more edge cases
Video:
Screenshots:
Netgraph
ConCmd optional parameters (this is a screenshot of our test suite)
-