GitHub - ViciousSquid/Fio: Make Weird Worlds: A real-time liminal CSG level editor and game engine. Optimised for mobile CPUs ยท GitHub
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
- Export creations as self-contained packages
- Local split-screen multiplayer
- Designed to bring back the immediacy of classic Radiant/Worldcraft workflows
๐พ Download Binaries for Windows/macOS/Linux | Wiki | Changelog
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
Logic & Gameplay
- 19 included example maps
- Monsters with pathfinding
- Node-based pathfinding
- Triggers, timers, and logic gates
- Procedural terrain and liminal level generators
Rendering
- OpenGL 3.3 forward renderer
- Dynamic lighting, shadows, fog, glass and water
- Frustum culling
- World portals
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.
