The foundations that run through every editor, from co-op and languages to saves, the Steam Deck build and tests.
Co-op multiplayer up to 5 players
Terra Engine is built for co-op with up to 5 players: one host plus guests. Players can be in different areas at the same time, because the host can load several areas at once.
One machine is the host and computes everything that is saved: world, objects, story, quests, enemies, clock and loot. Guests send only the commands of their hero and display what the host sends. Playing alone uses the same path, with your own machine as host.
Inventory, stats, progression, input, pause, dialogue and sleep are kept per hero, and the save format keeps world data and per-player data apart. Enemy balancing already scales with the number of heroes in the same area.
Honest status: the host model, the network layer and the tests are done. Online play through Steam lobbies and invites is still being added, so plan your release around what you have tested yourself.
Languages and text service
All text a player sees lives in one text service as German and English entries (24 text files in our game), and the game reads it through one function.
The language list is extendable. German and English ship today, and the planned design adds more languages through standard translation files. Dialogues can be exported and imported for translators.
The editor interface itself is in German today, and an English interface is being prepared.
Stable world object IDs
The engine assigns the ID of every world object. It is never derived from path, name or list position, so renaming a chest or moving an object does not lose its state.
State moves with the ID when you rename, orphaned states are reported, and unknown IDs get an alias or a message instead of being dropped silently.
Save system and migration
The save system has slots and writes atomically with a backup. The format is versioned (current version 17) with migration steps.
For every earlier version from format 8 to 17 there is a real test file, so old saves keep loading when you update the engine.
Steam Deck export and size guard
A ready export preset builds a Linux package for the Steam Deck, with a separate data pack, and a nightly build script runs it. A size guard keeps a budget and a baseline that may only shrink, so the package does not creep up unnoticed.
Windows, macOS, Linux and Web exports use the export mechanism of the underlying engine. The Steam Deck path is the one we run nightly for our own game.
Automated tests and checks
About 1,400 test files cover the game systems. A type check makes sure untyped code may not increase, and a lint script, a text check and a test queue run alongside.
Architecture layers and balancing numbers are checked by scripts with baselines that may only improve, so quality does not slide while the project grows.