View on GitHub

FOnline Engine

Flexible cross-platform isometric game engine

FOnline Engine

License GitHub Codecov Commit Ask DeepWiki

FOnline is a reusable C++20 engine for isometric Fallout / Arcanum-style multiplayer RPGs. It provides the runtime, rendering, networking, resource pipeline, scripting integration, tools, and cross-platform build system; an embedding game project provides the actual world, rules, scripts, assets, configuration, native extensions, and release policy.

Start here

What the engine provides

Not every historical or experimental feature is complete on every platform. Prefer the maintained docs and the embedding project’s real presets over assumptions from older README sections.

Repository layout

How FOnline is normally used

A game repository embeds this repository as an Engine/ submodule and keeps game-specific material outside the engine:

  1. Add the engine repository as Engine/.
  2. Add project-level CMakeLists.txt, CMakePresets.json, and a .fomain configuration.
  3. Add game content folders such as Critters/, Items/, Maps/, Dialogs/, Texts/, and GUI/resources.
  4. Add game logic scripts, usually under Scripts/.
  5. Add optional project-native extensions under a project-owned source folder.
  6. Build project targets through CMake presets and engine BuildTools.

See Docs/EmbeddingProject.md for the expected project shape and responsibilities.

Documentation index

Development and validation

Use a real embedding project to validate engine changes. The engine is designed to be composed with game content and project presets, so the most meaningful checks are usually project targets that exercise the engine in context.

A typical change should be validated with the smallest relevant scope:

When behavior changes in a noticeable way, update the owning document in the same change.

Project and community