Scythe
SCYTHE is a lightweight, C#-based game engine focused on modifiability and rapid iteration using Raylib.
A fast 2D game engine — TypeScript SDK, C++/WebAssembly core, visual editor. Ship one project to web, desktop, WeChat M…
A fast 2D game engine powered by WebAssembly and ECS
Website • Getting Started • Documentation • Discord • QQ群: 481923584
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 outputs games that run in web browsers, on the desktop, in WeChat MiniGames, as single-file playable ads, and as native Android / iOS apps.
defineSystem, defineComponent, and Query| Feature | Description |
|---|---|
| Visual Editor | Scene editor with hierarchy, inspector, and asset management |
| ECS Architecture | Compose entities from reusable components, drive behavior with systems |
| WebGL / WebGPU Rendering | Sprites, cameras, Spine animations, custom shaders — all in WebAssembly |
| TypeScript SDK | Type-safe API: defineSystem, defineComponent, Query, Commands |
| Cross-Platform | One project → web, desktop, WeChat MiniGames, playable ads, and native Android / iOS |
| Native mobile | A real arm64 app rendering through an embedded Dawn (Metal / Vulkan) — not a WebView |
Download the editor for Windows or macOS from estellaengine.com — served from the project's mirror, always the newest release. Every build is also on the releases page.
The editor creates a project with a default scene containing a Camera entity.
Add entities and components in the scene editor, then write systems in TypeScript:
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;
}
}
));
Press F5 in the editor to preview.
Full documentation: estellaengine.com/docs
We welcome contributions! Please read the Contributing Guide before submitting a Pull Request.
Estella is licensed under the Apache License, Version 2.0.
You may use, modify, and distribute it for any purpose, including commercial use, free of charge. There is no separate commercial license and no noncommercial restriction. We follow Semantic Versioning and keep a CHANGELOG.
Two things to keep in mind:
How the project sustains itself (sponsorship, optional hosted/pro add-ons, marketplace, and support) is described openly in BUSINESS_MODEL.md.
more like this
SCYTHE is a lightweight, C#-based game engine focused on modifiability and rapid iteration using Raylib.
search projects, people, and tags