-
Notifications
You must be signed in to change notification settings - Fork 2
Guide Developer Setup
Running from a source checkout, the optional developer data build, the test suites, and cache management. Players using the packaged app need none of this — see the repository README for the two-minute start.
Requires LÖVE 11.x. Place your legally obtained US Red ROM in the
project folder and double-click Play-Mac.command or
Play-Windows.bat, or run:
scripts/setup.sh --rom "/path/to/Pokemon Red.gb"
scripts/run.shWindows PowerShell:
powershell -ExecutionPolicy Bypass -File scripts\setup.ps1 -Rom C:\path\red.gb
powershell -ExecutionPolicy Bypass -File scripts\run.ps1The setup scripts also accept ROM_PATH. With no argument, they use the
first .gb file in the project root. After setup:
love .Controls: arrow keys or WASD move; Z, Enter, or Space is A; X or Backspace is B; Escape opens START. F1 saves, F2 loads, F10 toggles the mod manager. Controllers are supported.
Run with POKEPORT_DEV=1 for the mod-development loop: F5 hot-reloads
mod content, the backtick opens the dev console, and undeclared engine
requires from mods log attributed warnings
(Getting Started).
The in-app importer is all a player needs. For development and parity checks there is an optional Python build that produces the data modules and 495 PNGs in the source tree:
python3 -m pip install pillow
python3 tools/build_data.py --rom "/path/to/Pokemon Red.gb" --cleanRequirements: Python 3.10+ and Pillow. The packaged app does not use this path.
luajit tests/run_tests.lua # engine + parity + mod API suites
luajit tests/run_link_tests.lua # link play
luajit tests/run_save_editor_tests.lua # save editorThe first must end with 0 FAILURES, the second with
ALL LINK TESTS PASSED. Tests run under LuaJIT (Lua 5.1 semantics) with
no ROM required — mod suites use the fixture dataset in
tests/fixture_data/.
rm -rf data/generated assets/generated \
"$HOME/Library/Application Support/LOVE/pokemon-love2d/data/generated" \
"$HOME/Library/Application Support/LOVE/pokemon-love2d/assets/generated"
rm -f "$HOME/Library/Application Support/LOVE/pokemon-love2d/rom-cache.complete"The next launch re-imports from the ROM. On Linux and Windows the cache lives under the LÖVE save directory listed in Save Editor.
tools/ ROM decoder, save editor, modkit, verification tools
data/generated/ generated Lua game data (gitignored)
data/scripts/ hand-ported map behavior
assets/generated generated graphics and compact audio cache (gitignored)
src/ hand-written LÖVE engine
scripts/ setup, run, and packaging helpers
mobile/ Android and iOS build trees
tests/ headless behavior and parity suites
docs/ architecture, behavior notes, and platform docs
mods/ native mods (the example ships here)
docs/architecture.md covers runtime details;
docs/behavior-porting-notes.md carries formula provenance per pokered
source file.
Engine 1.0.0 · mod API 2 · repository · Discord
This project ships no ROM data. All game content is decoded on the player's machine from their own verified Pokemon Red ROM; mods ship recipes and original assets, never extracted content.
Start here
Concepts
Tutorials
- The ladder
- 01 Sprite and Text Tweak
- 02 Balance Patch
- 03 New Species
- 04 New Item and Ball
- 05 New Move
- 06 NPC and Dialogue
- 07 New Map
- 08 Quest
- 09 Custom Music
- 10 New Mechanic
- 11 Custom UI Screen
- 12 Mini Total Conversion
Reference
Guides
Playing