2.7 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Raylib
Raylib is a free, relatively KISS, portable C (C99) library intended mainly for game development, offering IO handling, 2D and 3D graphics, audio, loading of different image and 3D formats etc., while restraining from a lot of bullshit of "modern" bloated engines/frameworks such as having tons of dependencies and targeting only very fast computing platforms. Raylib is pretty cool and employs many of the LRS/suckless ideas, even though from our strict point of view it is still a bit more complex than it really needs to be, e.g. by using floating point and relying on GPU accelerated 3D graphics. In terms of bloat it can be seen as a mid way between the mainstream (e.g. Godot) and LRS/suckless (e.g. small3dlib).
The following are some features of raylib as of writing this. The good and neutral features seem to be:
- written in C99
 - no external software dependencies, all 3rd party libraries are packed with raylib (well, kind of, as specific platforms will require OpenGL implementation, windowing library etc.)
 - no COC detected
 - supports many systems including GNU/Linux, BSD, Macshit, Winshit, Android, web browser, claims to support even embedded (but probably only the faster, not sure about bare metal due to OpenGL etc.)
 - NOT a framework, very bullshit-free
 - permissive zlib license
 - 2D and 3D support, IO, audio, fonts, math, includes most things you need for games (seems to lack only a physics engine)
 - can load many file formats (jpg, png, obj, m3d, ttf, wav, flac, mp3, ogg, ...)
 - bindings to 50+ languages (useless as all you need is C of course)
 - nice documentation, many examples
 
And some of the bad features are:
- 150000+ lines of code
 - not a header only library, requires building (makefile, optionally with cmake)
 - using floating point and OpenGL creates complex dependencies and sends a fuck you to small embedded computers
 - even though abstracted, some software dependencies are still needed depending on the platform, e.g. on GNU/Linux you need to install ALSA, Mesa and X11