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

  • 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
  • Export creations as self-contained shareable packages
  • Local split-screen: share one keyboard, or give player 2 a gamepad
  • Designed to bring back the immediacy of classic Radiant/Worldcraft workflows

or use the included Dockerfile or run from source


Logic & Gameplay

  • Entity I/O system (Half-Life 2–style wiring model)
  • GUI tools for generating Entity I/O logic setups
  • 19 included example maps
  • NPCs / monsters
  • Node-based pathfinding
  • Triggers, timers, and logic gates
  • Procedural terrain and liminal level generators

Rendering

  • OpenGL 3.3 forward renderer
  • Dynamic lighting with shadows
  • Fog, glass, water, overbright effects
  • Frustum culling
  • Dynamic portals (moveable / scripted transforms)

Architecture

  • 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)


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

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