One thing I’d be interested in seeing is where you draw the line between “game state” and “engine state”.
A lot of BEAM game discussions seem to end up in one of two extremes:
-
Everything is a process.
-
Everything performance-sensitive gets pushed into a NIF.
The first tends to fight the hardware, and the second starts looking suspiciously like a traditional engine with Elixir as a scripting layer.
My intuition is that the sweet spot is letting BEAM own the coordination, gameplay logic, networking, and fault tolerance, while a native layer owns the frame-critical systems.
Have you identified any specific workloads that actually perform better because they’re running as BEAM processes rather than simply being easier to develop and maintain there? I think the answer to that question would help clarify where this architecture really shines.






















