libretro/libretro-chailove

Name: libretro-chailove

Owner: libretro

Description: :video_game: 2D Game Framework with ChaiScript

Created: 2017-06-20 03:04:20.0

Updated: 2018-05-06 19:26:26.0

Pushed: 2018-05-14 18:02:34.0

Homepage: https://rawgit.com/libretro/libretro-chailove/docs/

Size: 2260

Language: C++

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

ChaiLove :heart:

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

Gallery
Usage

ChaiLove is a libretro core, which can be run through RetroArch. Floppy Bird is a free game you can download and play

  1. Run RetroArch
  2. Online Updater ? Core Updator ? ChaiLove
  3. Online Updater ? Content Downloader ? ChaiLove ? Floppy Bird
  4. Load Content ? Downloads ? Floppy Bird.chailove

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

 https://buildbot.libretro.com/assets/cores/ChaiLove/Floppy%20Bird.chailove
oarch -L chailove_libretro.so Floppy\ Bird.chailove
API

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

al logo
al x = 10.0f

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


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


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

To run it, execute the following:

oarch -L chailove_libretro.so main.chai
Development

Behind ChaiLove, there's the documentation, compiling it, along with testing.

Compiling

Use the following command to compile the core, with at least g++ >=5.2:


Testing

Run the automated tests by executing:

 test

Run the usability tests with:

oarch -L chailove_libretro.so test/main.chai
Documentation

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

 docs
Workflow

ChaiLove uses Gitflow where new features are merged to dev, and then a periodic release is made to the master branch. Releases use Semantic Versioning to ensure version compatibility.

Authors

The following individuals contributed to ChaiLove:


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.