Skip to content

ViciousSquid/Fio

Repository files navigation

MIT License Status

Fio — Liminal World Editor & Procedural Engine

Unified editor and runtime inspired by Radiant and Hammer. Optimised for low-power CPUs

Key Features

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

or use the included Dockerfile or run from source


Why Fio exists

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 non-Euclidean level design without engine modifications


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

  • OpenGL 3.3 forward renderer
  • Dynamic lighting, shadows, fog, glass and water
  • Frustum culling
  • World portals — non-Euclidean view-through portals with stencil-buffer masking, oblique near-plane clipping, and I/O-driven fade transitions. Place two portals, link them by name, walk through seamlessly.

Under the Hood

  • Python 3.10+ runtime
  • NumPy used for batch numeric operations and scene updates
  • Multi-threaded subsystems (render / simulation separation where applicable)
  • Designed for CPU-bound performance on low-power hardware (ARM-class)
  • Runtime state is shared between editor and engine layers; no serialization boundary during play mode

🗎 Modular architecture, fully open source (MIT License)


🚀 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.