Pico8

From Pico-8 Wiki
Jump to navigation Jump to search

PICO-8 (or "Pico-8") is a fantasy console by Lexaloffle Games for making, sharing, and playing small computer games and programs.

PICO-8 is available for purchase as an app for Windows, Mac OS X, Linux (Intel), and Raspberry Pi. It also came bundled with the PocketC.H.I.P. portable computer. See the PICO-8 website for purchasing information.

PICO-8 intends to capture the fun and creativity of writing programs for the small personal computers of the 1980's, without the hassles of an arcane platform. The specifications are purposefully limited so that making games is easy and fun. The console has built-in tools for creating graphics, sound, music, and code, all of which run within the console's 128-by-128 pixel screen. You program PICO-8 using the Lua programming language.

Games are saved as cartridges (or "carts"), which are just small files that can be shared over the Internet. You can publish a cartridge to the PICO-8 forum, where anyone can play it directly in a web browser without the PICO-8 app, discuss it, and download it to examine it in the app's tools. Publishing a cart also makes it accessible from within the app's Splore cartridge explorer.

You can also export cartridges with a standalone player that can be embedded into any web page, suitable for commercial publication on game networks such as itch.io.

PICO-8 has an active developer community, with hundreds of games, tools, and resources for learning how to make games.

Specifications

  • Display
    • 128 x 128 pixel resolution
    • 16 colors
  • Sound
    • 4 channels
    • 8 waveforms
  • Controls
    • two 6-button controllers (up, down, left, right, x, o) available from a PC keyboard
    • connect up to eight 6-button controllers via SDL
  • Cartridge size
    • 32 kilobytes per cartridge
    • 128 x 128 pixel sprite sheet
    • 128 x 32 tile map
    • 64 sound patterns, 64 music patterns
    • Lua code space limited by characters and tokens
  • Memory
    • addressable memory regions for graphics, sound, and general use
    • separate RAM for the Lua call stack
    • 64 values (256 bytes) persistent memory per cart
    • Raspberry Pi GPIO pins mapped to memory

See also

zh: