Asterune
Game engine and Studio. Program game behavior with Luau, build games in Studio, and explore the engine's runtime systems.
Scripting
- Your first scriptCreate instances and respond to events.
- Component definitionsDefine and query structured gameplay data.
- Systems and schedulingRun game systems in ordered frame phases.
- ClassesInstance properties, methods, events, and callbacks.
- Data typesValue constructors, fields, and operations.
- Enums and globalsNamed values and runtime-provided APIs.
Studio
- Getting startedCreate a project and run a first script.
- Projects and placesSource layouts, saved worlds, and application settings.
- Studio workspaceEdit instances, properties, and scripts.
- Assets and model importsImport local assets and 3D models.
- PlaytestingRun local and multiplayer test sessions.
- Exporting gamesPackage and inspect desktop builds.
Engine
- Engine architectureWorld state, clocks, caches, and presentation boundaries.
- Instance state and lifetimeArena snapshots, revisions, identity, and reclamation.
- Physics stepping and spatial queriesFixed steps, body synchronization, collision, and query indexes.
- Rendering architectureFrame resources, TAA, MSAA, lighting, and image processing.
- State replication and streamingBaselines, deltas, component state, and motion interest.
- Script execution and schedulingCoroutine queues, authority, worker lanes, and synchronization.
Contributing
Asterune is a Rust game engine with a desktop editor called Studio. Studio edits places, runs playtests, and exports games for Windows, macOS, and Linux. Exported games run without an Asterune account or hosted service.
Games use a hierarchical DataModel of instances. Luau scripts control those instances through properties, methods, events, and services. The runtime provides rendering, physics, input, audio, and client-server networking.
Write scripts
Scripting contains Luau guides and the engine API reference. Start with Your first script, then read Server and client for execution and replication rules.
Build in Studio
Getting started covers creating a project through Studio and running a first script. Projects and places describes project files, source directories, and games with multiple places.
The Studio guides cover the authoring workflow:
| Guide | Purpose |
|---|---|
| Studio workspace | Select instances, edit properties, and work with scripts. |
| Assets and model imports | Import project assets and 3D models. |
| Playtesting | Run a local game or a server with multiple clients. |
| Studio plugins | Create, validate, and test editor extensions. |
Distribute a game
Exporting games covers runtime templates, desktop targets, packaging, and build verification. Multiplayer servers covers exporting a dedicated server and connecting a game client to it.
Explore the engine
Engine architecture explains the runtime layers and how world state, scheduling, simulation, replication, and presentation fit together. Its technical chapters explain the algorithms, caches, clocks, and histories behind those systems.
Contributing
Building Asterune covers source builds and runtime templates. Contributor references also cover command-line exports and plugin development.