Devlog ·
Room for a crowd: a faster server, new physics and a smaller download
24 commits that day. Written up from the work itself.


Mostly under the hood today, but it's the day the game got ready for a lot of people in one place.
A hundred players in a town, at a fifth of the cost. The server now works out who can see whom once per update and packs each body once. Each update carries at most the 52 nearest bodies, and saves are spread across the minute instead of arriving together. With a hundred players in one town, the server's work per update fell from about 77 milliseconds to about 16.
A faster core, written in C++. The busiest part of the server, working out what each player needs to be told, now has a C++ version that runs 12 to 20 times faster. Before it was trusted, it was run side by side with the original over hundreds of updates, and every player was told exactly the same thing by both.
New physics. The game moved to the Jolt physics engine: every moving body costs a third of what it did, and one at rest less than half. Falling, swimming, doors, dungeon entrances and a full play-through were all tested on it.
Harder to abuse. Each player has a fair budget of requests a second, so nobody can flood a zone.
A smoother game and Studio. Chat adds new lines instead of redrawing the whole window, nameplates and the sky only update when they change, and the map draws as one picture. The Studio opens records faster too.
A smaller download. The game you install no longer carries any server parts: its core is about 5 MB, with the art in sixteen packs.
One login for every world. The login server is now its own program. Worlds take a signed ticket from it and never see a password.
The art has a home of its own. About 2,700 pictures, films and sounds moved onto RetroRay's own server, with nightly off-site backups. A test restore brought back all 2,161 art files, identical, in fourteen seconds.