ECS Architecture
Data-oriented Entity-Component-System design. Compose game objects from reusable components and drive behavior with systems.
ECS Architecture
Data-oriented Entity-Component-System design. Compose game objects from reusable components and drive behavior with systems.
WebGL Rendering
C++ rendering pipeline compiled to WebAssembly. Sprites, cameras, Spine animations, and custom shaders out of the box.
Cross-Platform
Single codebase targeting web browsers and WeChat MiniGames with platform-specific adapters.
TypeScript SDK
Type-safe API with defineSystem, defineComponent, and Query — write game logic in idiomatic TypeScript.
Define a custom component, attach it to entities in the scene editor, then write a system:
import { defineComponent, defineSystem, addSystem, Query, Mut, Res, Time, Transform} from 'esengine';
const Speed = defineComponent('Speed', { value: 200 });
addSystem(defineSystem( [Res(Time), Query(Mut(Transform), Speed)], (time, query) => { for (const [entity, transform, speed] of query) { transform.position.x += speed.value * time.delta; } }));Introduction
Learn what Estella is and how it works.
Quick Start
Create your first game in minutes.