Making real games for pretend computers

Speaking notes

PICO-8 is a pretend computer for making video games.

  • Building software is more complicated than it used to be, by default.
  • In times of yore, you just plugged a box into your TV, and you just had a screen of code.
  • You could manipulate each pixel individually with a single command.
  • There are a whole bunch of tools that make programming in general easier.
  • PICO-8 goes directly for the Commodore 64 experience of making it easy to make lo-fi games.
  • It runs on just about any desktop.
  • It costs like $15. Your personal license is automatically covers an entire school if you're a teacher.
    • If that's too much, check out PICOLOVE, a re-implementation using the LÖVE framework.
  • Distribute as standalone HTML5 apps, via BBS hosting, or AS GIFS. YES YOU CAN DISTRIBUTE LITTLE CARTRIDGE GIFS THAT HAVE THE GAME IN THEIR METADATA IT'S ADORABLE.
  • Limitations inspire creativity. It's science. Display: 128x128, fixed 16 colour palette
    Input: 6 buttons
    Cartridge size: 32k
    Sound: 4 channel, 64 definable chip blerps
    Code: Lua (max 8192 tokens of code)
    Sprites: Single bank of 128 8x8 sprites (+128 shared)
    Map: 128x32 8-bit cels (+128x32 shared)

The working memory of the machine is exposed to the developer. Your cartridge is in some of that memory. The display buffer is in another part. You can poke into memory and do math on the display to do snazzy stuff like reflections or water ripples or screen transitions.

PCIO-8 is a very simple IDE. You have editors for code, sprites, maps, sounds, and music, which is just sounds on a grid. Every project you make is stored as a plain, simple text file. You can just open it up in an editor and immediately see how things work and make changes. (reload command is your fiend).

CODE
_update() Called once per update at 30fps
_draw() Called once per visible frame
_init() Called once on program startup

COMMANDS
reboot
run
splore
load demos/hello
load demos/api