Build 2D Games. Fast.

Estella is a 2D game engine with a TypeScript SDK, powered by a C++/WebAssembly backend. Visual editor included.

Download Editor Get Started
Estella Editor

Why Estella?

WebAssembly Performance

C++ rendering pipeline compiled to WebAssembly. Near-native speed in the browser, not interpreted JavaScript.

Entity-Component-System

Data-oriented ECS architecture. Compose entities from reusable components, drive behavior with systems.

TypeScript SDK

Type-safe API with defineSystem, defineComponent, and Query. Full IntelliSense and compile-time checks.

Visual Editor

Scene hierarchy, inspector, asset browser, and live preview. Build games visually, not in config files.

Cross-Platform

One codebase targeting web browsers and WeChat MiniGames. Build once, deploy everywhere.

Spine & Physics

Built-in Spine animation runtime and Box2D physics. No extra plugins needed.

Simple, Expressive API

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;
        }
    }
));

Ready to get started?

Download the editor and build your first game in minutes.

Download Editor Read the Docs