Last week we released an early prototype of our 3D game engine. The engine is pure HTML5/JS and is designed to run client-side in the browser. Right now we’re focusing our test efforts in Firefox and Chrome, but the engine should run well in other standards-compliant browsers that support WebGL.
Data-driven Game Update Loop
I’ve been refactoring the scheduler again to make it more data-driven. The previous incarnation provided priority-based scheduling, but that leaves it to the game developer to make sure that task priorities are correct, even for tasks that she didn’t write herself. The first change I made was to add scheduler phases. Right now there are three, named Input, Update and Render. The input and render phases shouldn’t result in any changes to game simulation state.