A simple and easy-to-use library to enjoy videogames programming. No fancy interface, no visual helpers, no auto-complete — just coding in the most pure spartan way.
raylib is a free, open-source C programming library designed for building 2D and 3D games, graphical tools, and multimedia applications. Created by Ramon Santamaria in 2013, it has grown from a simple teaching tool into one of the most-used indie game development libraries in the world.
Unlike engines like Unity or Godot, raylib is not an engine. It's a library — a set of functions you call from your own code. There's no editor, no GUI, no scene tree. You write C (or one of 60+ language bindings), call raylib functions, and compile. That's it.
raylib is inspired by Borland BGI graphics lib and by XNA framework. It was originally intended as a tool for teaching game programming to students, but it has evolved far beyond that into a seriously capable multimedia library used by hobbyists, indie developers, and professionals alike.
raylib is famously simple to get started with. Here's a complete, working program:
// hello_raylib.c — 8 lines of actual code
#include "raylib.h"
int main(void)
{
InitWindow(800, 450, "raylib — hello world");
SetTargetFPS(60);
while (!WindowShouldClose())
{
BeginDrawing();
ClearBackground(RAYWHITE);
DrawText("Hello, raylib!", 340, 200, 20, DARKGRAY);
EndDrawing();
}
CloseWindow();
return 0;
}
Compile with gcc hello_raylib.c -lraylib -lm -o hello on Linux. That's a window with text rendering, a game loop, and proper shutdown in under 20 lines. No boilerplate, no class hierarchies, no initialization wizards.