Home

Awesome

pico8-deploy

What the problem is

PICO-8 is super minimalistic. While that's a good thing for development, deploying and rebuilding a project can be a bit involved.

What this project does

This repo contains a single Makefile, which tries to provide a few useful targets to build and deploy a project PICO-8 (to itch.io).

Prerequisites

Setup

First, let's do a little bit of setup:

Now let's give make actual data: In the "root Makefile", you'll see that there's a variable called pico8; this is where you tell make where pico8-exe (or whatever it is on your platform) is:

# just an example
pico8 = C://Users/USERNAME/Desktop/pico8.exe

In your "project Makefile" (the one that's empty in your project folder), add the two following variables:

# this is the name of the .p8 in this folder, without the extension
name = MY_FILE
# this is your username and the name of your project on itch.io
itchio = USERNAME/TEST-GAME

âš  itch.io tends to convert the name of the project when there's underscores in it, replacing them with hyphens, so make sure you use the one that's shown in the URL and not the actual project name

âš  also, make sure you created the project on itch.io before you deploy to it, because butler doesn't create it for you

ℹ I'd recommend setting the size of your HTML embed on itch.io to 780x680 to get nice looking margins 😀

How to run

In the root carts folder, run

make TARGET project=FOLDER

to run the operation TARGET on the project FOLDER_NAME.

List of useful targets

Or just have a read through the Makefile! 😉

Feel free to modify it however you want, and let me know if you come up with something cool, I'll be happy to integrate it to this project!

Sample run

Given the following architecture:

ROOT_FOLDER/
 |_ Makefile
 |_ hello_world/
    |_ my_file.p8
    |_ Makefile
# hello_world/Makefile
name = my_file
itchio = tducasse/test-deploy
make deploy project=hello_world && make clean project=hello_world

image