← Updates

A thousand players per facet

A facet is one shard of the world, and the question hanging over it has always been simple and a little scary: how many people can be on one before it falls over? Our target was 1000 players per facet. This stretch of work was the campaign to prove we could hit it — and we did, with room to spare.

Filling a world to test it

To find the breaking point, we built a way to flood a facet with simulated players — not idle dummies, but bots that log in, explore, chase down monsters, and fight turn after turn, respawning instantly when they fall so the place stays packed and busy. We could pour a hundred of them into a zone, then walk in with a real client and feel exactly what a crowd that size is like to play alongside.

Then we kept turning up the dial — 100, 200, 500, a thousand — and every time the world started to strain, we found out why and fixed it.

The result

A single facet now holds 1000 players, all of them fighting, and stays perfectly smooth. Turns keep landing right on their 3-second beat, nobody gets dropped, and the server is doing it all using only about a third of the time it has each turn — meaning there’s still plenty of headroom on top of a thousand. We set out to support a thousand players per facet and the world isn’t even breathing hard.

Getting it there meant clearing out every quiet bottleneck a crowd exposes: the machinery that delivers updates to each player, the work the world repeats every turn, monsters that kept thinking even in empty rooms, and the constant trickle of saves to the database. None of it changes how the game plays — it just means the world stays responsive whether there are five of you or a thousand.

While we were in there

A few fixes that crowds shook loose, and that you’ll actually notice:

  • Spawns keep up with the mob. When a level fills with players grinding through monsters, things respawn faster and stop bunching up in the same corner — and a drained dungeon keeps restocking quickly even after the crowd moves on.
  • Steadier under chaos. A single frozen client or hiccup can no longer drag a whole facet down with it, and stray “ghost” connections get cleaned up on their own.
  • Cleaner combat. A monster killed by someone else now vanishes from your screen the instant it dies instead of lingering a beat, and different creatures can now appear at different sizes.

The headline is the number — 1000 — but the real win is that we can now point an army at any future change and know, within minutes, whether the world still holds.