Krocki Gb Save Abandoned

A minimal C implementation of Nintendo Gameboy - An fast research environment for Reinforcement Learning

Project README

Nintendo Learning Environment


Quick start

  1. Build C lib make
  2. Run the front end from python: python --rom {PATH_TO_ROM}

C dependencies


Python dependencies

Numpy, CFFI

Fix for '' not found:



Use the provided python wrapper. Example:

  • Run the environment for 0.5M steps
  • Produce a 50 frame-long gif every 30s
python --rom ./gb_roms/Micro_Machines_\(USA\,_Europe\).gb --framelimit=500000 --write_gif_every 30 --write_gif_duration 50


time: 00h 00m 30s, frames 0.06M
time: 00h 01m 00s, frames 0.12M
time: 00h 01m 30s, frames 0.18M
time: 00h 02m 00s, frames 0.24M
time: 00h 02m 30s, frames 0.30M
time: 00h 03m 00s, frames 0.36M
time: 00h 03m 30s, frames 0.42M
time: 00h 04m 00s, frames 0.48M

GIFS generated every 30s:

alt_text alt_text alt_text alt_text alt_text

Generate lots of frames and save them to gif and npy files:

python --rom {PATH_TO_ROM}

For example, running the command python --rom ./ will result in a file like this: alt_text

Alternatively, build a standalone gameboy with GLFW support and play games manually

To build:


To play:

./gameboy {PATH_TO_ROM}
enter - START
space - SELECT
Z     - A
X     - B
+ arrows (left, right, down, up)
SHIFT - turbo mode
Open Source Agenda is not affiliated with "Krocki Gb" Project. README Source: krocki/gb
Open Issues
Last Commit
4 years ago

Open Source Agenda Badge

Open Source Agenda Rating