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:
Entity creation, deletion, and renaming
Adding and removing components and entity relationships
Drag-and-drop reparenting
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