Skip to content

Repository files navigation

MIT License Status

Fio — Liminal World Editor & Procedural Engine

Unified editor and runtime inspired by Radiant and Hammer.

Fio is a modern, instant-iteration take on classic CSG level editors
Designed on low-power ARM hardware with an efficiency-first philosophy.

Key Features

  • Hit "Play" instantly: no import, compile or bake step
  • Edit and play in the same runtime
  • Classic brush-based editing with arbitrary convex polyhedra
  • Non-Euclidean portal connections between any two points in a level
  • Generate fully playable procedural maps with two clicks
  • Entity I/O logic system inspired by Source engine
  • Local split-screen multiplayer
  • Export projects as portable, self-contained packages
  • Designed to bring back the immediacy of classic Radiant/Worldcraft workflows

Documentation: Wiki | Changelog

or use the included Dockerfile or run from source


Why Fio exists

An engine built for rapid experimentation. Fio explores a unified approach to level editing and runtime simulation:

  • Reducing friction between authoring and execution

  • Reintroducing brush/CSG-based workflows in a modern runtime

  • Treating gameplay logic as a visible, editable system

  • Supporting rapid experimental iteration in rendering and world design

  • Enabling native non-Euclidean level design via world portals

  • Persistent global key/value storage allows maps to influence later maps and enables branching narratives.


Logic & Gameplay

  • 16 included example maps
  • Monsters with node-based pathfinding
  • Triggers, timers, and logic gates
  • Procedural terrain and liminal level generators
  • Keys/values can be stored globally (persists across level changes)

Rendering

  • Lean OpenGL 3.3 renderer engineered for performance and broad compatibility.
  • Dynamic lighting, shadows, fog, glass and water
  • Frustum culling
  • Native world portals — seamless non-Euclidean connections between arbitrary locations using stencil-buffer masking and oblique near-plane clipping. No BSP, VIS/PVS preprocessing or offline visibility compilation is required.

Under the Hood

  • Python 3.10+ Core: High-level logic and orchestration paired with C-accelerated NumPy arrays for vector math, scene transformations, and batch numeric processing.
  • Hardware-Conscious Design: Optimized for low-power, ARM-class CPUs—minimizing unnecessary memory allocations and redundant compute cycles before leaning on raw GPU power.
  • Zero Serialization Overhead: Editor and engine share the same runtime memory state, enabling instant execution with no compile, bake, or scene-deserialization delay.
  • Modular Multi-Threading: Subsystems (render pipeline, physics, and world simulation) are strictly decoupled to keep framerates steady during heavy runtime tasks.
  • Open Architecture: Fully open-source, modular codebase (MIT License) designed for easy extendability and low-level experimentation.

🚀 Quickstart:

Python 3.10+ is required

git clone https://github.com/ViciousSquid/Fio.git
cd Fio
python -m venv venv
source venv/bin/activate  # or venv\Scripts\activate (Windows)
pip install -r requirements.txt
python main.py

🤝 Contributing

Contributions, feedback, and experiments are welcome. Check issues or open a discussion.



About

Unified Liminal World Editor & Procedural Engine inspired by Radiant and Hammer. Optimised for low-power CPUs

Topics

Resources

Stars

135 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages