less_retarded_wiki/raylib.md
2024-08-27 22:53:54 +02:00

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: