A curation of ports and free games for spruceOS supported devices.
Games are organized into system group directories (e.g. NES/, Game Boy/, Ports/). Each game has its own subdirectory containing the game files and a game.json metadata file.
When the Game Nursery Release workflow is triggered (manually from the Actions tab), it:
- Builds a
.7zarchive for every game - Generates the
nursery_configused by the Game Nursery app on-device - Bundles all box art into
boxart.7z - Uploads everything to the
NurseryGitHub release
For example, adding a Game Boy game called "Cool Quest":
-
Create the directory structure:
Game Boy/ Cool Quest/ Roms/ GB/ Cool Quest.gb Imgs/ Cool Quest.png game.json -
Use this template for
game.json:{ "display": "Cool Quest", "shortname": "", "description": "A short description of the game.", "requires_files": false, "hidden": false } -
Commit, push, and trigger the Game Nursery Release workflow from the Actions tab.
For example, adding a Game Boy Color game called "Tobu Tobu Girl DX":
-
Create a new top-level directory matching the system's display name and add the game:
Game Boy Color/ Tobu Tobu Girl DX/ Roms/ GBC/ Tobu Tobu Girl DX.gbc Imgs/ Tobu Tobu Girl DX.png game.json -
Add the
game.jsonas above. -
Add the new system to
systems.jsonin the repo root:"Game Boy Color": { "icon": "gbc", "emu": "GBC" }
iconis the icon filename (without extension) used by spruceOS themesemuis the Emu folder name on the device (e.g./mnt/SDCARD/Emu/GBC/)
-
Commit, push, and trigger the workflow. No spruceOS app changes needed.
{
"display": "",
"shortname": "",
"description": "",
"requires_files": false,
"hidden": false
}| Field | Description |
|---|---|
display |
The name shown in the Game Nursery UI |
shortname |
Optional shorter name shown during download progress |
description |
Brief description of the game |
requires_files |
Set to true if the game needs additional commercial files to play |
hidden |
Set to true to build the archive but hide the game from the UI |
<System Group>/
<Game Name>/
game.json
Roms/
<SYSTEM_CODE>/
<game files>
Imgs/
<Game Name>.png (box art)
licenses/
<Game Name>.txt (optional license file)
BIOS/ (optional, for games needing BIOS files)
Emu/ (optional, for emulator-specific files)
The box art image filename must match the display field in game.json.