A single-file, unlicensed 3D game engine/framework written in C, featuring an integrated asset pipeline and cross-platform support.
FWK is a 3D game engine and framework written in C, packaged as a single-file header. It provides a complete toolset for developing games, including rendering, audio, scripting, asset management, and cross-platform deployment. It solves the problem of complex setup and bloated dependencies by offering a minimalistic, unlicensed alternative that is easy to integrate and compile.
Game developers and hobbyists looking for a lightweight, straightforward C-based engine to create 3D games without the overhead of larger engines. It's particularly suited for those who value simplicity, fast compilation, and full control over their codebase.
Developers choose FWK for its extreme simplicity (single-file header), permissive licensing (public domain/unlicensed), and integrated asset pipeline that reduces deployment complexity. Its focus on minimalism and direct API design lowers the learning curve and development friction compared to more monolithic engines.
💎 3D game framework in C, v1.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The entire engine is embedded in a single header file (joint.h), eliminating dependency management and enabling fast compilation times, as highlighted in the features.
Includes a configurable cooking system that processes assets into .zip files, simplifying deployment by reducing runtime dependencies, with tools provided in the tools/ folder.
Loads numerous formats for models (e.g., GLTF, FBX), images (e.g., PNG, DDS), audio (e.g., WAV, MP3), and more, reducing the need for external converters.
Runs natively on Windows, Linux, and macOS, with build scripts and compiler support listed, making it versatile for desktop game development.
Released into public domain with 0-BSD/MIT alternatives, allowing commercial use without fees or attribution, as stated in the Unlicense section.
The editor and documentation are explicitly labeled as work in progress, hindering visual development and learning compared to engines with mature tools.
HTML5/Web support is partial via Emscripten, as admitted in the README, making it less suitable for web-first projects without manual workarounds.
Assets must be cooked before use, adding a preprocessing step that can complicate rapid iteration and increase development friction compared to hot-reload engines.
Advanced features like behavior trees, mobile support, and some rendering effects are in the roadmap but not fully implemented, requiring extra development effort.