Cryptix Universe – A Browser-Based Multiplayer Action MMO Built with Three.js
Hey everyone,
we’ve been working on Cryptix Universe, a 3D multiplayer action MMO that runs directly in the browser, with Three.js handling the rendering.
One of our main goals was to see how far we could push a browser-based game without making it feel like a typical “browser game”.
The game includes real-time PvE and PvP combat, open-world areas, dungeons, world bosses, guilds, housing, equipment and upgrading systems, quests, multiplayer parties and more.
From the technical side, the multiplayer architecture is server-authoritative. Movement and combat use interpolation and prediction, while projectiles, hits, damage and other important gameplay decisions are validated by the server. We also spent a lot of time on lag compensation, networking and keeping bandwidth usage relatively low.
Three.js is doing quite a lot here: large environments, animated characters, shadows and lighting, particles and VFX, projectiles, multiple players and enemies on screen at the same time, while still targeting both desktop and mobile browsers.
Performance has been one of our main areas of optimization. On a GTX 1080, the game runs at a stable 165 FPS with VSync/G-Sync enabled, and can exceed 300 FPS without a frame limiter, depending on the scene and settings.
On smartphones, performance depends heavily on the device, but currently ranges from roughly 30 FPS on lower-end hardware up to 120 FPS on newer high-end devices.
Considering that all of this runs directly inside a browser, we are very happy with the performance we’ve been able to achieve with Three.js.
Cryptix Universe is currently entering its final testing phase, and the public release is coming soon. At this point, we are mainly focusing on bugs, performance, different devices and input methods, networking and final polish rather than adding major new systems.
Here is a short gameplay compilation:
We’d especially be interested in feedback from other Three.js developers regarding the rendering, performance, visual presentation and overall feel of the game.
For us, one of the most interesting parts of the project has been seeing how much is actually possible with Three.js and modern browser technology when building a full real-time multiplayer game.
Thanks for taking a look!