raylib
A simple and easy-to-use library to enjoy videogames programming
raylib, a C library for making games
What makes raylib different from a typical game framework? No dependencies, plain C99, and an approach aimed squarely at prototyping and learning.
What raylib sets out to be
The README describes raylib as a library to enjoy video game programming, inspired by the Borland BGI graphics library and the XNA framework, and suited for prototyping, tooling, graphical applications, embedded systems, and education. A note for adventurers says there is no fancy interface, no visual helpers, no debug button, just coding in the most pure spartan programmer way.
The feature list
No external dependencies, with all required libraries included. Multiple platforms from Windows and Linux to Raspberry Pi, Android, and HTML5. Plain C99 code, hardware acceleration through OpenGL across several versions, a software renderer backend, multiple font and texture formats, full 3D support, shaders, a math module, and VR stereo rendering. The README also lists a flexible materials system supporting classic maps and PBR maps, animated 3D models with skeletal bone animation, and audio loading with streaming support.
Examples, bindings, releases
The README points to a collection of more than 140 code examples and bindings to more than 70 programming languages. Binary releases for Windows, Linux, macOS, Android, and HTML5 sit on the GitHub releases page, and a basic example opens a window and draws a line of text. The README notes raylib was developed on Windows with Notepad++ and MinGW GCC but works with other IDEs and platforms.
License and community
raylib is licensed under the zlib license, which allows static linking with closed source software. Learning happens through the examples and a cheatsheet rather than standard API docs, and the community gathers mainly on the Discord server, with the README listing the other networks.
Community notes