Estella is a 2D game engine with a TypeScript SDK, powered by a C++/WebAssembly backend. Visual editor included.
C++ rendering pipeline compiled to WebAssembly. Near-native speed in the browser, not interpreted JavaScript.
Data-oriented ECS architecture. Compose entities from reusable components, drive behavior with systems.
Type-safe API with defineSystem, defineComponent, and Query. Full IntelliSense and compile-time checks.
Scene hierarchy, inspector, asset browser, and live preview. Build games visually, not in config files.
One codebase targeting web browsers and WeChat MiniGames. Build once, deploy everywhere.
Built-in Spine animation runtime and Box2D physics. No extra plugins needed.
Define components and systems in TypeScript. The engine handles the rest.
import {
defineComponent, defineSystem, addSystem,
Query, Mut, Res, Time, LocalTransform
} from 'esengine';
const Speed = defineComponent('Speed', { value: 200 });
addSystem(defineSystem(
[Res(Time), Query(Mut(LocalTransform), Speed)],
(time, query) => {
for (const [entity, transform, speed] of query) {
transform.position.x += speed.value * time.delta;
}
}
));
Download the editor and build your first game in minutes.