A header-only C99 framework for building cross-platform games and multimedia applications with a simple API.
Gunslinger is a header-only C99 framework for creating games and multimedia applications. It provides core layers for platform abstraction, graphics, and audio, along with utilities for math, data structures, and more, all in a single-header format. The framework solves the problem of complex setup and dependencies by offering a simple, portable solution for cross-platform development.
C developers and game programmers looking for a lightweight, dependency-free framework to build multimedia applications or games across multiple platforms without heavy engine overhead.
Developers choose Gunslinger for its simplicity, portability, and control—it’s header-only, inspired by sokol headers, and allows full customization of core layers while supporting modern graphics backends and a wide range of platforms.
C99, header-only framework for games and multimedia applications
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
No build system required; just drag and drop the header file into your project for immediate use, eliminating complex setup steps as highlighted in the README.
Works on Windows, OSX, Linux, Android, and HTML5, with plans for iOS, RPI, and UWP, enabling cross-platform deployment with minimal changes.
Explicit rendering pipeline designed for Vulkan, DX12, and Metal backends, making it suitable for high-performance, contemporary graphics applications.
All core layers—platform, graphics, audio—can be swapped with user implementations, offering fine-grained control over the framework's behavior.
The roadmap includes 'Write more docs for github,' indicating current documentation is sparse and may require digging into source code or examples for clarity.
Only a few projects are listed as using GS, suggesting a small community, fewer third-party resources, and potential challenges in finding support or plugins.
Large header files can significantly increase compilation times in bigger projects, a trade-off for the simplicity of no separate linking.