Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Engine Development
  3. FWK

FWK

C2024.10

A single-file, unlicensed 3D game engine/framework written in C, featuring an integrated asset pipeline and cross-platform support.

Visit WebsiteGitHubGitHub
526 stars38 forks0 contributors

What is FWK?

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.

Target Audience

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.

Value Proposition

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.

Overview

💎 3D game framework in C, v1.

Use Cases

Best For

  • Prototyping 3D games quickly with minimal setup
  • Educational projects to learn game engine internals in C
  • Creating lightweight indie games for desktop platforms
  • Developing cross-platform games targeting Windows, Linux, and macOS
  • Integrating a game engine into existing C projects without heavy dependencies
  • Building tools or demos that require a simple, embeddable rendering framework

Not Ideal For

  • Projects primarily targeting mobile platforms (iOS/Android), as support is listed in the roadmap but not yet fully implemented.
  • Teams requiring a mature visual editor for scene design out-of-the-box, since the built-in editor is explicitly marked as work in progress.
  • Games needing advanced multiplayer networking with features like NAT traversal or server-client replication, which are planned but incomplete per the roadmap.
  • Developers who rely on extensive documentation and community tutorials, as FWK's documentation is noted as a work in progress, limiting learning resources.

Pros & Cons

Pros

Single-File Simplicity

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.

Integrated Asset Pipeline

Includes a configurable cooking system that processes assets into .zip files, simplifying deployment by reducing runtime dependencies, with tools provided in the tools/ folder.

Wide Format Support

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.

Cross-Platform Desktop

Runs natively on Windows, Linux, and macOS, with build scripts and compiler support listed, making it versatile for desktop game development.

Permissive Licensing

Released into public domain with 0-BSD/MIT alternatives, allowing commercial use without fees or attribution, as stated in the Unlicense section.

Cons

Incomplete Tooling

The editor and documentation are explicitly labeled as work in progress, hindering visual development and learning compared to engines with mature tools.

Limited Web Support

HTML5/Web support is partial via Emscripten, as admitted in the README, making it less suitable for web-first projects without manual workarounds.

Asset Cooking Overhead

Assets must be cooked before use, adding a preprocessing step that can complicate rapid iteration and increase development friction compared to hot-reload engines.

Sparse High-Level Features

Advanced features like behavior trees, mobile support, and some rendering effects are in the roadmap but not fully implemented, requiring extra development effort.

Frequently Asked Questions

Quick Stats

Stars526
Forks38
Contributors0
Open Issues0
Last commit1 year ago
CreatedSince 2020

Tags

#lua-scripting#open-source#public-domain#gamedev#assimp#unlicense#c#3d-graphics#game-development#pbr-rendering#cross-platform#single-header#lua#2d#c-language#game-framework#3d#game-engine#asset-pipeline

Built With

E
Emscripten
L
LuaJIT
a
assimp
G
GLFW
m
miniaudio
P
Python
F
FFmpeg
L
Lua
C
C++

Links & Resources

Website

Included in

Game Engine Development1.3k
Auto-fetched 11 hours ago

Related Projects

imguiimgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

Stars76,118
Forks12,040
Last commit21 hours ago
C/C++C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Stars73,178
Forks8,338
Last commit2 days ago
ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars72,006
Forks16,274
Last commit10 hours ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars50,564
Forks7,494
Last commit19 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub