Running PICO 8 on the GameShell

Dan Sanderson edited this page Jul 29, 2018 · 5 revisions

PICO-8 is a fantasy console for making, playing, and sharing small games. PICO-8 is a commercial product by Lexaloffle Games LLP. Versions are available for Windows, mac OS, Linux, and Raspberry Pi. The Raspberry Pi version runs on the GameShell, with some set-up.

Follow these instructions to get PICO-8 and install it on your GameShell. It will run in "splore" mode, which lets you browse, download, and play PICO-8 games.

Purchase a PICO-8 license and download PICO-8 for Raspberry Pi

Visit the PICO-8 website to create an account and purchase a license.

Once purchased, visit the downloads page and download the Raspberry Pi version. This file has a filename similar to: pico-8_0.1.11g_raspi.zip

Tip: Your PICO-8 license includes versions for all platforms. Download the version for your desktop computer, make PICO-8 games of your own, and run them on your GameShell!

Transfering PICO-8 to the GameShell

Connect your GameShell to your wifi network and get its IP address:

  1. Turn on your GameShell.
  2. If necessary, connect the GameShell to your wireless network: Settings, Wi-Fi.
  3. In the main launcher menu, select TinyCloud. This displays the IP address of your GameShell, such as 192.168.0.49.

You can transfer files to the GameShell using scp, a file transfer method based on ssh (Secure Shell). Some file transfer programs know how to do this, such as Putty SCP for Windows, WinSCP for Windows, or Transmit for Mac. Connect using the IP address, an account name of cpi, and a password of cpi.

On Mac and Linux (and also Windows with Putty SCP or the Windows Subsystem for Linux), you can use a Terminal to do this with a command-line interface and the scp command. To transfer PICO-8 to the GameShell using the scp command:

scp pico-8_0.1.11g_raspi.zip cpi@192.168.0.49:~/

Enter the password cpi when prompted.

Connecting to the GameShell's command-line interface with ssh

The steps that follow require running commands directly on the GameShell. On Windows, you can do this with an SSH client such as Putty for Windows. On Mac and Linux, open a Terminal window and use the ssh command. Connect to the IP address with a username of cpi and a password of cpi, as above.

To connect with the ssh command:

ssh cpi@192.168.0.49

Enter the password cpi when prompted.

Tip: My GameShell responds poorly over an SSH shell connection like this. Things I type don't appear right away. It's frustrating, but if you can get through these next few steps, you won't need it again.

Installing WiringPi

PICO-8 requires WiringPi to run. It uses this for features that access the GPIO pins on a Raspberry Pi. You probably won't use this feature with GameShell, but PICO-8 won't start without it.

At the GameShell Linux command prompt, run these commands:

git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
cd

Installing PICO-8

Also at the GameShell command prompt, run this command:

unzip pico-8_0.1.11g_raspi.zip

Adding PICO-8 to the Launcher

You will start PICO-8 using a new icon in the Clockwork Pi Launcher interface. To add this icon, run this long command at the GameShell command prompt. (I recommend copy-and-pasting this into your terminal window.)

echo >~/apps/launcher/Menu/GameShell/PICO-8.sh SDL_VIDEODRIVER=x11 DISPLAY=:0 /home/cpi/pico-8/pico8_dyn -splore -draw_rect 32,0,256,240

Restart your GameShell. An easy way to do this is to run this command:

sudo reboot

(Your ssh connection will disconnect after running this command. This is normal.)

Tip: The -draw_rect 32,0,256,240 part of this command tells PICO-8 to draw its screen stretched to fit a 256x240 region, with a left margin of 32 pixels so that the 256-wide rectangle is centered on the GameShell's 320x240 display. PICO-8's screen is a 128x128 square, so stretching it to a wide rectangle makes it a little wider than intended. You could make this exactly square with -draw_rect 40,0,240,240, but to fit these dimensions PICO-8 has to make every other pixel an odd size. I think 256x240 looks better, but you can experiment to find something you like.

Start PICO-8 for the first time

When GameShell has finished booting and you see the Launcher again, a "PICO-8" icon (a circle with a "Pi" in it) will be in the menu. Select it.

One of two things will happen:

  • PICO-8 starts with a chime sound, and it appears in a small square. You can use the cursor keys, but you can't use the ABXY buttons yet.
    • If this happens, press MENU, then press START to select "shutdown pico-8".
  • PICO-8 starts with a chime sound, but you only see the GameShell "Loading" screen.
    • If this happens, connect to the command prompt via SSH and run this command:
killall pico8_dyn

When PICO-8 shuts down (using either method), it creates its configuration file and some other things. We can edit this file to fix the remaining problems.

Configuring PICO-8

Re-connect to GameShell via SSH to get a command prompt. Run this command to open a file editor with the PICO-8 configuration file:

pico ~/.lexaloffle/pico-8/config.txt

"Pico" is a simple text file editor available on most Linux systems, including GameShell. It has nothing to do with PICO-8, it's just called "Pico" by coincidence.

Use the cursor keys to scroll down to the line that says fullscreen_method. Edit this value to 0:

fullscreen_method 0

Scroll down further to the line that says button_keys. Edit this value as follows:

button_keys 0 0 0 0 13 14 0 0 0 0 0 0 0

Press Control-O to save the file. Press Control-X to exit Pico.

Optional: Change the Launcher icon

The Launcher icon for PICO-8 works just fine with the default icon (the letters "Pi" in a circle). You can change this to the PICO-8 logo, if you like.

In your browser, download this image file by right-clicking and selecting "Save Image As..." (or the equivalent feature in your browser):

PICO-8 icon

Copy this file to your GameShell using scp or whatever file transfer program you used earlier.

You want this file to be named PICO-8.png, and to be located in the folder /home/cpi/apps/launcher/skin/default/Menu/GameShell. You can either find this location using your file transfer program, or you can transfer the image file to the home directory (/home/cpi/) then move it into place with a shell command. Connect via ssh, then:

mv PICO-8.png ~/apps/launcher/skin/default/Menu/GameShell

Restart your GameShell (sudo reboot). When the GameShell is finished restarting, the Launcher should have the new icon.

Welcome to PICO-8!

Launch PICO-8 from the Launcher. It should start reliably and at a comfortable size.

Move right to find the "Featured" section. If necessary, press B on [update] to load the list. Move up and down to find a game, then press B to start it.

PICO-8 games use one or both of the A and B buttons. Some games will refer to these as Z and X, or C and V, because these are the default keys on a desktop computer. Games may also refer to them as (O) and (X), which are their "fantasy console" button icons.

To exit a game and return to the Splore game selection menu, press the GameShell MENU button, then select "Exit to Splore". (You can also use the pause menu just to pause your game.)

To exit PICO-8 entirely and return to the GameShell Launcher, exit to Splore, then press MENU again and select "Shutdown PICO-8".

Tip: Be careful not to select "Exit to Console" from the shutdown menu. This puts PICO-8 in its game developer mode. It's a super fun mode, but you need a full keyboard to use it or get back out of it. Connect via ssh and run the sudo reboot command if you get stuck here.

Enjoy the games, and come visit the PICO-8 community in the forum to learn more!

Resources

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.