This is amazing! I read everything. I completely agree about the state of the 'big three' engines.
> My focus is still on browser multiplayer experiences.
Here's mine: earth.suncapped.com (https://github.com/Suncapped/babs)
It's been ongoing for 12 years, with several burnouts and rewrites, hah.
If you want, I would love to talk offline (email in profile) about player-freedom, MMO projects, and browser games. I feel like some of us have a shared history going back to older MMOs [0] and Flash browser games [1].
On my project, I sneaked past the hard networking problems by settling on tile-based movement. It worked for Ultima Online and I still believe in it. It scales really well. Networking zones measure 1000 x 1000, and tiles are 4 units, so X and Z can each be stored in 1 byte. This also helps with storing and transmitting tons of objects. See the page load time.
Actually, I sneaked past a lot of difficult things, which is what strikes me about your work - you solved hard stuff directly. I haven't tried to integrate skeletal animations into my Blender pipeline yet. Yikes. I barely know how to write cameras, whereas you made a cross-platform one and blogged about it.
> shared client & server game code
How did this one go? I ended up literally doing a `ln` for shared frontend/backend files.
> React+Redux setup was too much performance overhead for the real-time gameplay section.
This is such an interesting aspect of web games: HTML-based UIs. I went with Svelte because I was curious about it. It is SO much easier than doing a game UI yes. But the "line" between web UI and game UI keeps being a problem. For example, when a player drags an object into a UI backpack: That object's graphic needs to change from 3D mesh -> mouse cursor -> png icon. Craziness. I might scupper the whole thing.
A bit of a ramble, but in conclusion, wow!! Thanks for sharing this.
0: UO, Lineage, you said Exteel which I'd like to learn about.
1: (First Earth had a Flash version lol. Also a Babylonjs version.)