❤️ 2D Game Framework with ChaiScript
Clone or download
Latest commit 67e775e Dec 24, 2018


ChaiLove ❤️

Travis Appveyor platform libretro Documentation

ChaiLove is an awesome framework you can use to make 2D games in ChaiScript. It's free, open-source, and works on Windows, Mac OS X, Linux, Android, and ARM through libretro/RetroArch.

Floppy Bird Gameplay



ChaiLove is a libretro core, which can be installed through RetroArch.

  1. Run RetroArch
  2. Online UpdaterCore UpdatorChaiLove


Floppy Bird is a free game you can download and play...

  1. Run RetroArch
  2. Online UpdaterContent DownloaderChaiLoveFloppyBird.chailove
  3. Load ContentDownloadsFloppyBird.chailove

Alternatively, you can run the ChaiLove core through RetroArch via the command line:

curl -o FloppyBird.chailove https://github.com/RobLoach/ChaiLove-FloppyBird/releases/download/0.27.0/FloppyBird.chailove
retroarch -L chailove_libretro.so FloppyBird.chailove


The ChaiLove API is roughly inspired by the LÖVE API. The following main.chai is a simple Hello World example:

global logo
global x = 10.0f

def load() {
	logo = love.graphics.newImage("logo.png")

def draw() {
	love.graphics.print("Hello World!", 400, 300)
	love.graphics.draw(logo, x, 100)

def update(dt) {
	x = x + 20.0f * dt

To run it, execute the following:

retroarch -L chailove_libretro.so main.chai

See the ChaiLove API for coverage of all the callbacks and methods in ChaiLove.


The following are some notes about the development process behind ChaiLove.


ChaiLove requires a C++14 compiler, and has been tested with g++>=5.2. To compile it, run:



The automated tests can be run with:

make test

Run the testing suite through RetroArch with:

retroarch -L chailove_libretro.so test/main.chai


See the ChaiLove API documentation. Build it through Doxygen by using:

make docs


ChaiLove uses modified Gitflow and Semantic Versioning workflow...

  1. New features and fixes are added to the dev branch
  2. When a release is put out, the dev branch is merged to master, and a tag is made


The following individuals contributed to ChaiLove in some way: