I had been hacking on a JavaScript game engine for a while, and to get it beyond prototype state decided to do an end-to-end experimental game. It seems to be a legal requirement for browser game developers to implement Reversi and so that's what this is.
The AI player is based on ideas from the Byte article linked from: https://en.wikipedia.org/wiki/Computer_Othello
https://archive.org/details/byte-magazine-1980-07/page/n57/m...
The only external libraries are ammo.js and gl-matrix. It doesn't use npm and is instead bundled with a heavily customised version of esbuild. A build takes a few hundred ms. The motivation for using this and not Unreal is iteration speed and ultimate bundle size, so being able to work this quickly is the whole point.
The renderer is a custom WebGL2 effort based on quite a lot of experience dealing with mobile GL ES idiosyncrasies over the years. It is far less flexible than threejs, but it much more optimised in the cases of what it does.
WebGPU will be interesting mainly for reversed z-buffer and reduced CPU usage once iOS Safari supports it, as that is the main development target.
Video: https://twitter.com/atomirex/status/1700152558621163556
The engine does have WebXR support and is capable of much more complex scenes than this which I hope to be able to show in some upcoming games.
My email is nige at atomirex dot com.