Vinatorul/picopia

★ 0Forks 0PythonGitHub ↗Compare

README

Picopia

A tiny cozy PICO-8 demake prototype about restoring a broken fantasy-console garden.

Files

  • picopia.p8 — main Picopia cartridge.
  • src/picopia.lua — cartridge Lua source.
  • plans/picopia-design.md — approved design spec.
  • scripts/assemble_cart.py — assembles the cartridge from Lua, graphics, map, and sounds.
  • scripts/pico8_verify_cart.py — reusable structure verifier for PICO-8 carts.
  • .env — local assembly settings.

Configure output directory

Set PICO8_CART_DIR in .env to the directory where the assembled cartridge should be written. For example:

PICO8_CART_DIR=/Users/vinatorul/pico-8/carts

You can also override it per run with --output-dir.

Assemble cartridge

python3 scripts/assemble_cart.py

By default this reads src/picopia.lua and writes picopia.p8 into PICO8_CART_DIR from .env.

Useful variants:

python3 scripts/assemble_cart.py custom-name.p8
python3 scripts/assemble_cart.py --output-dir /Users/vinatorul/Projects/pico-8/carts
python3 scripts/assemble_cart.py --lua src/picopia.lua

Verify

python3 scripts/pico8_verify_cart.py

By default this checks picopia.p8 in the same PICO8_CART_DIR from .env.

Useful variants:

python3 scripts/pico8_verify_cart.py custom-name.p8
python3 scripts/pico8_verify_cart.py --output-dir /Users/vinatorul/Projects/pico-8/carts

Run tooling tests

python3 -m unittest discover -v

The tests cover cartridge assembly, map invariants, and malformed cartridge rejection.

Contributors

Vinatorul

Issues