{"repo":"tjammer/raylib-ocaml","free":true,"listed":false,"github":"https://github.com/tjammer/raylib-ocaml","clone":"git clone https://github.com/tjammer/raylib-ocaml.git","description":"OCaml bindings for raylib and raygui","language":"OCaml","stars":259,"topics":["ocaml","raylib","gamedev","imgui"],"license":"MIT","category":"game-templates","readme_excerpt":"raylib-ocaml OCaml bindings for raylib (6.0.0), a simple and easy-to-use library to enjoy videogames programming. The documentation can be viewed online. The bindings are pretty faithful to the original C code, the biggest difference is the conversion of all function names from CamelCase to snake case. Wherever possible, integer arguments are changed to their own variant types, eg. int key to Key.t . Bindings exist for (nearly) all functions and types, but only a subset are tested thus far (see examples folder). Contributions are welcome. Example More examples can be found in the examples folder. Although the original raylib is written in C, most functions take their arguments by value, which maps nicely to a functional language like OCaml. In the few cases where pointers are needed for arrays (mainly the 3D part of raylib), raylib-ocaml tries to use the CArray type of ctypes, which it also re-exports in the main Raylib module. Installation During the build of raylib-ocaml, the raylib C library is built from source, therefore its dependencies must be installed ( details here ). On most mainstream distros, opam will automatically install these dependencies during the raylib installation: Configuration Raylib has many configuration options, defined at compile time in its config.h . These bindings change the default config slightly to enable support .jpg and .flac data formats. Additional configuration can be done by setting environment variables at build time which raylib's bui","default_branch":null,"files":null,"tree":[],"storefront":"/r/tjammer","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tjammer/raylib-ocaml/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}