THE FROSTENGINE FIELD GUIDE
Meet your next toolkit.
A native 2D game engine with a visual workspace, a programmable workflow, and multiplayer at its core.
FrostEngine is in active development. This guide reflects the engine documentation supplied for this site; the first packaged public release is still in preparation.
A focused foundation
FrostEngine is built in C++20. It combines an EnTT entity-component system, a Vulkan 1.3 renderer through NVRHI, Lua 5.4 scripting, Box2D v3 physics, miniaudio, and Valve GameNetworkingSockets.
The standalone FrostEditor authors projects. FrostRuntime runs project directories and exported game packs, including headless and dedicated-server sessions. The core engine is a static library shared by the surrounding tools.
Your visual workspace
The Dear ImGui docking editor brings scene authoring and asset workflows into one workspace.
- Scene hierarchy and Inspector: search, multi-select, reparent, edit reflected components, and work with prefabs.
- Viewport: select entities, transform them with gizmos, snap to a grid, and edit collider shapes.
- Asset tools: slice sprites, edit animation timelines and tilesets, paint tilemaps, and preview particles.
- Project tools: configure input, physics, rendering, audio, networking, and game exports.
- Built-in reference: search the scripting API from the editor or launcher.
See FrostEditor running the Tetris sample in the homepage showcase.
Gameplay in Lua
Scripts are Lua 5.4 modules that return a class table. The engine calls lifecycle methods such as OnCreate, OnUpdate, and OnFixedUpdate. Reflected properties are editable in the Inspector; scripts support hot reload.
local Player = {}
function Player:OnCreate()
Log.Info("Player is ready")
end
function Player:OnUpdate(dt)
local move = Input.GetAxis("Horizontal")
-- Use move and dt in your gameplay logic.
end
return PlayerBindings cover entities, components, input, audio, networking, UI, rendering, and more. The editor’s Scripting API Reference is generated from the engine’s registered bindings.
One command system. Three entry points.
Editor operations are named commands with validated parameter schemas. The UI, headless CLI, and local JSON-RPC automation server share that command system.
From a terminal
FrostEditor help
FrostEditor help entity.create
FrostEditor scene.list --project ./MyGame
FrostEditor serve --project ./MyGameCLI results are JSON objects with an ok field and a result or error. Successful mutating commands save scenes unless --no-save is supplied. Most authoring commands do not need a GPU; rendering play-tests do.
From an agent or tool
The automation server accepts newline-delimited JSON-RPC 2.0 over TCP on 127.0.0.1. Authenticate using the token printed at server startup or a configured token before making calls.
{"jsonrpc":"2.0","id":1,"method":"entity.create","params":{"scene":"Scenes/Main.fscene","name":"Player"}}This request creates an entity in an existing scene of the open project. The same command model covers asset authoring, deterministic play-tests, and exporting games. Use FrostEditor help <command> for each command’s exact arguments.
Systems that work together
| System | Capabilities |
|---|---|
| Rendering | Sprites, text, tilemaps, CPU/GPU particles, lighting, shadows, fog of war, post-processing, and render textures. |
| Physics | Box2D v3, 2D colliders, tilemap collision, and physics debug overlays. |
| Audio | Spatial audio, listeners, mixer groups, and live level meters. |
| Multiplayer | Host, client, and dedicated-server sessions; snapshots, interpolation, replicated values, and RPCs. |
| Export | A standalone runtime with game packs and resources. |
Networking is still evolving. Interest management, delta compression, prediction, reconciliation, lag compensation, and animation/sprite state synchronization remain open work in the supplied feature matrix.
Platform support
| Engine platform | Current status |
|---|---|
| Windows 10/11 x64 | Built and tested with MSVC. Requires a Vulkan-capable GPU and driver to run graphics. |
| Linux | Support is coming. |
| macOS | Support is coming. |
Getting FrostEngine
Visit the download section for the latest packaged release. When a release is published, it will include the platform, package size, publication date, and a SHA-256 checksum for verification.
A public binary is not available yet. Source access and licensing terms are not specified here; this site makes no assumptions about a public repository or distribution license.