Introduction
Estella is a 2D game engine with a TypeScript SDK driven by a high-performance C++/WebAssembly backend. It ships with a visual editor for scene editing and project management, and exports one project to the web, desktop, WeChat MiniGames, and playable ads.
Why Estella?
Section titled “Why Estella?”- Fast — the C++ rendering pipeline is compiled to WebAssembly, not interpreted JavaScript.
- Type-safe — a first-class TypeScript SDK with
defineSystem,defineComponent, andQuery. - Data-oriented — an Entity-Component-System architecture for scalable game logic.
- Visual editor — scene hierarchy, inspector, and asset browser; no JSON editing.
- Cross-platform — one project, exported to the web, desktop, WeChat MiniGames, and single-file playable ads.
- Batteries included — physics, tilemaps, particles, materials & 2D lighting, animation, Spine, audio, UI, and a gameplay AI layer.
How it fits together
Section titled “How it fits together”| Layer | What it does |
|---|---|
TypeScript SDK (esengine) |
The authored surface: App, World, systems, components, queries, plugins. |
| WasmBridge | The single boundary between the SDK and the engine, with a generated, hash-checked memory layout. |
| C++ / WebAssembly | The engine core: ECS storage, the renderer (GfxDevice), resources, particles, tilemaps, text. |
For the full architecture, see
ARCHITECTURE.md.
Next steps
Section titled “Next steps”- Installation — get the editor or build from source.
- Quick Start — create a project and write your first system.