/gb-studio

A quick and easy to use drag and drop retro game creator for your favourite handheld video game system

Primary LanguageCMIT LicenseMIT

GB Studio

Github Actions Status

Copyright (c) 2021 Chris Maltby, released under the MIT license.

Twitter: @maltby

Reddit: /r/gbstudio
Discord: Join Chat

GB Studio is a quick and easy to use retro adventure game creator for Game Boy available for Mac, Linux and Windows. For more information see the GB Studio site

GB Studio

GB Studio consists of an Electron game builder application and a C based game engine using GBDK, music is provided by GBT Player

Installation

Download a release for your operating system from the GB Studio Downloads page.

Or to run from source, clone this repo then:

> cd gb-studio
> yarn
> npm start

GB Studio currently uses Node 21.7.1. If you have NVM installed you can use the included .nvmrc to switch to the supported Node version.

> cd gb-studio
> nvm use

GB Studio CLI

Install GB Studio from source as above then

> npm run make:cli
> yarn link
# From any folder you can now run gb-studio-cli
> gb-studio-cli -V
3.0.0
> gb-studio-cli --help

Update the CLI

Pull the latest code and run make:cli again, yarn link is only needed for the first run.

> npm run make:cli

CLI Examples

  • Export Project

    > gb-studio-cli export path/to/project.gbsproj out/

    Export GBDK project from gbsproj to out directory

  • Export Data

    > gb-studio-cli export -d path/to/project.gbsproj out/

    Export only src/data and include/data from gbsproj to out directory

  • Make ROM

    > gb-studio-cli make:rom path/to/project.gbsproj out/game.gb

    Make a ROM file from gbsproj

  • Make Pocket

    > gb-studio-cli make:pocket path/to/project.gbsproj out/game.pocket

    Make a Pocket file from gbsproj

  • Make Web

    > gb-studio-cli make:web path/to/project.gbsproj out/

    Make a Web build from gbsproj

Documentation

GB Studio Documentation

Note For Translators

If you'd like to help contribute new language localisations to GB Studio you can do so by submitting pull requests adding or updating the JSON files found here https://github.com/chrismaltby/gb-studio/tree/develop/src/lang

If you're looking to update an existing translation with content that is missing, there is a handy script that lists keys found in the English localisation that are not found and copies them to your localisation

npm run missing-translations lang
# e.g. npm run missing-translations de
# e.g. npm run missing-translations en-GB