Key Features
- 🔁 Runtime-switchable Forward & Deferred rendering
- 🎨 Unified shader system across pipelines
- 🧠 Entity I/O logic system inspired by Source engine
- 🧱 Classic brush-based CSG editing
- Designed to bring back the immediacy of classic Radiant/Worldcraft workflows
Linux: use the included Dockerfile or run from source
- Editor and engine run as a unified environment
- Hit play instantly — no compile or bake step
- Iterate on gameplay and logic in real-time
- Design, test, and refine in a single environment
- Creations can be published and shared
- Entity I/O system (Half-Life 2–style)
- Visual scripting (25 examples)
- NPCs/monsters
- Node pathfinding
- Logic Gates, Triggers, Timers
- Dual rendering pipelines (Forward & Deferred, switchable at runtime)
- Real-time dynamic lighting with shadows
- Fog, glass, water and overbright shaders
- Moving and rotating brushes
- World Portals (Prey 2006 style)
- Frustum culling
- JSON level format
- OBJ model support
- OpenGL 3.3 target
- Optimized for Snapdragon 8CX / Windows-on-ARM
🗎 Modular architecture, fully open source (MIT License)
Fio is structured as:
- Editor Layer (PyQt UI, tools, asset browser)
- Engine Layer (rendering, physics, AI)
- Rendering System
- BaseRenderer (shared interface)
- Forward and Deferred pipelines (runtime-switchable)
- Shared shader system
Most Python 3D engines focus on simplicity or education.
Fio is built as:
- a rendering experimentation platform
- a level editor inspired by classic BSP workflows
- a systems-driven engine with tooling-first design
Python 3.10+ is required
- Clone and Enter the Directory:
git clone https://github.com/ViciousSquid/Fio.git
cd Fio- Setup Virtual Environment (Recommended)
python -m venv venv
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate- Install Dependencies:
pip install -r requirements.txt- Launch the Editor:
python main.pyContributions, feedback, and experiments are welcome. Check issues or open a discussion.