I've been building on #threejs since 2015.
Back then there was no InstancedMesh, no BatchedMesh. Most of the tools we take for granted today didn't exist.
In 2017, while developing Jamir, I started building my own game engine on top of it. I've spent the years since profiling and optimizing that engine, often chasing performance problems line by line.
That engine became X3JS.
After all this time, the hardest part is still how deeply everything is connected. Even the best AI models today can make a change that looks completely correct, and quietly break something three systems away. An engine like this doesn't forgive that.
So for this test I didn't want a synthetic benchmark. I wanted a real, AAA-looking game scene: cinematics, dialogue, characters, terrain, weather, a boss fight.
The gameplay, the cinematics, the MIDI music, the music and sound selections, the animation choices: all of it was produced by AI through X3JS's MCP tools. Camera work, dialogue, voice casting, triggers, enemy behavior.
Everything in the scene comes from the X3JS asset library and when X3JS releases, users will be able to use all of these assets freely in their own games.
The video shows the exact same scene, side by side:
- GTX 960M, a 2015 laptop GPU
- RTX 4070, a desktop GPU
Two separate gameplay runs never line up perfectly, so I made a few cuts to keep the cinematics in sync between the two sides. The scene, the settings, and the cinematics themselves are identical.
The GTX 960M is still one of my favorite machines to test on and i am lucky to have that. If a heavy scene runs well there, the optimization work is real, not a number on a slide.
And X3JS contributors;
Terrain materials: @polyhaven
Sound archive and AI meta: @selektaudio
Editor performance should stay as close as possible to gameplay performance, so creators don’t get frustrated while building.
Making that happen doubles the work behind X3JS, but it’s worth it.
1000 skinned meshes, around 55,000 triangles each, with 6 different PBR materials, directly editable in the browser editor.
Tested on:
2015 Asus laptop · GTX 960M · 4GB VRAM
#threejs #webgpu #gamedev
X3JS retweeted
I now feel it’s the right time to start @X3JS_app the engine that will power everything I’ve been building for the past 2.5 years. I'll be sharing progress soon..
X3JS retweeted
Turning 38 tomorrow.
It took me almost 9 years to capture a video with 20 players like this without the game freezing, a server error or some stupid issue ruining the moment.
I spent so long building the game engine on top of #threejs that I forgot what it feels like to be a real player and made plenty of mistakes that made old players sad. Sorry for that..
Matches now go from 16 to 32 players and bots are a little smarter. It’s finally fun to play again.
I’ll be transferring all that hard work, 3D and 2D effects, ready effects and knowledge into @x3js, where you’ll be able to create games like this with just a few prompts.
#gamedev #indiedev #indiegames
X3JS retweeted
For a long time I couldn’t figure out why some players could easily destroy everyone else, causing others to quit in frustration.
My old custom BatchedMesh fallback (for WEBGL_multi_draw_extension) was broken for ages without me noticing. Firefox users always hit that path and some abused it.
Instead of being angry and confused all the time, maybe I should’ve just tested the game in Firefox 🤦
Just noticed BatchedMesh now has a built-in fallback. ( i think after r176)
Thanks @garrettkjohnson @onirenaud , made my day!
#threejs #gamedev #indiegame
X3JS retweeted
I’ve been building jamir io since 2017. It’s been my biggest passion for years but it never reached the success I hoped for.
Todays update seems to be the last one.
I thought creating a high graphics game on web would be interesting. Jamir shaped how I think about graphics, optimization, networking and persistence.
Even if the world didn’t notice, it meant a lot to me really.
Thanks #threejs for making it possible..
X3JS retweeted
sometimes i just need a nice spot and chill..
#threejs #gamedev #indiegame #indiedev #indiegames #IndieGameDev
AI integration should be;
the prompt: scary first-person shooter in a dark forest
this is what X3JS should be doing:
▫️choosing the right predefined camera setup
▫️predefined player setup with fps controls
▫️placing realistic objects from its own library to start with which you can change later
▫️setting up lighting & scary environment
▫️building the entire scene fully optimized, ready to run in the engine
no code
just your idea and visual editing from there..
#gamedev #threejs #webgpu #NoCode














