Show HN: Mana Blade – 3D Mmorpg in React Three Fiber and WebGPU
manablade.comHi HN! I spent almost a year full-time building my dream MMO, Mana Blade.
I use Three.js' WebGPURenderer, and shaders are written in TSL (Three.js Shading Language), a node-based abstraction over GLSL and WGSL. WebGPURenderer falls back to WebGL if WebGPU is not available, so the game runs in all browsers. It runs well on mobile and can be played in both landscape and portrait.
The entire front-end is in React, including everything in the 3D scene, thanks to React Three Fiber. The client weighs only 2 MB, and the page loads in about 2 seconds on a good connection. It's a PWA, so you can install it on desktop and mobile.
The backend is written in Bun, and the infrastructure is split into multiple VPSes. There are 3 regional gameplay servers (EU, NA, Asia) for low-latency combat, and the front-end, DB, and API are hosted on a single VPS in Europe. So unlike games like WoW, you can play with friends worldwide, but may have some latency depending on which server you pick when starting a quest. Quests are instanced and voiced. There is no open world besides the city, which is a worldwide hub, but the mechanics are similar enough to traditional MMOs for me to call it an MMO.
If you're interested in building games in JavaScript, check out Web Game Dev. It's a website, newsletter, and Discord community of 2000 members that I created a few years ago. Plenty of skilled folks hang out there.
Happy to answer questions!