Basaltic

Turn-based world simulation game and map editor, built with a custom C99 engine following the Handmade philosophy.

Runs on Windows, Linux, and WebAssembly. Try out the latest dev build in your browser (Mobile not yet supported).

Engine

Multithreaded design keeps framerate independent of simulation speed. Uses the ECS library Flecs to enable complex yet efficient game systems. SDL2 used for window management and input handling.

Originally used a custom Vulkan rendering engine, later replaced with Sokol to provide better cross-platform compatibility.

Editor

Built with C bindings for Dear ImGui, the editor is designed around Flecs, giving runtime access to the ECS world.

Mouseover or tap to play videos

Reflection info provided by Flecs allows runtime entity editing, here used to change terrain brush settings

Find any entity in the hierarchy tree

Instanced entity rendering defined by query; custom inspectors for some component types

Inspect tile info and select entities directly in the game world

Other ECS operations supported:

Game

Full-world simulation isn't centered around a single player. Take actions an hour at a time, or let the AI take over and simulate years in seconds.

More to come!

Timelapse of grazing and seasonal growth

Exploration across a wrapping world