Skip to content

ViciousSquid/Fio

Repository files navigation

MIT License Status

A tooling-first 3D engine and brush-based CSG level editor inspired by Radiant and Hammer

Key Features

  • Hit play instantly: no import, compile or bake step
  • Generate fully playable procedural liminal maps with one click
  • Entity I/O logic system inspired by Source engine
  • Classic brush-based CSG editing
  • Export creations as portable packages
  • Local split-screen multiplayer - Two players with single keyboard (or gamepad)
  • Designed to bring back the immediacy of classic Radiant/Worldcraft workflows

Linux: use the included Dockerfile or run from source

image

Core Workflow

  • The editor is the engine runtime.
  • Gameplay systems/world editing unified into a single live environment.

Logic & Gameplay

  • Entity I/O system (Half-Life 2–style wiring model)
  • Visual scripting wizard (25 example setups)
  • 19 included example maps
  • NPCs / monsters
  • Node-based pathfinding
  • Triggers, timers, and logic gates

Rendering

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

Architecture

  • Editor layer: PyQt-based tool suite + asset browser
  • Engine layer: rendering, physics, AI
  • Modular system design (fully open source, MIT licensed)

Technical Targets

  • Python 3.10+
  • Multi-threaded
  • Optimized for Windows-on-ARM (Snapdragon 8cx-class devices)
  • Stable 60 FPS target on mid-range hardware

🗎 Modular architecture, fully open source (MIT License)


image

Why Fio exists

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

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

image