In the past, I have released small demos of the game engine I’ve been working on:
and a few others. I have been working on this engine for maybe 6 years. It’s an ECS (Entity Component System) engine, which makes it quite different from most of the engines on the market that follow composition paradigm instead. That doesn’t mean those engines are bad though, just different.
I have used this engine to build my game “Might is Right”, so I am confident that this is not a “toy” engine that can demonstrate a thing or two but crumbles in real world. It’s been battle tested, so to speak.
There are some over-polished parts of the engine, some parts are quite raw, documentation is mostly in code at the moment. There are some 400 tests or so.
The main things that this engine has an advantage over other JS engines are:
- threading system
- compact binary serialization
- soft particles
- robust scene abstraction, to package your game in self-contained logical chunks
- engine for massive terrain
- AI library with MCTS, problem optimization, A* and Behavior trees
there’s a ton more in there, of course, but these are things that I haven’t seen elsewhere in JS engines.
Why is this being posted here on three.js? Well, the engine has a tight integration with three.js for trails, particles and meshes. You can totally build your own rendering system on top of the engine if you don’t want to use three.js though. The engine is completely modular, there are no critical systems, you can boot it up with 0 systems if you wanted to. Entire engine is just over 150k lines of code at the time of release.
Project is released under MIT license.
Finally, here’s the link to the project: