PICO-8

PICO-8 is a virtual machine and game engine created by Lexaloffle Games. It is a fantasy video game console that mimics the limited graphical and sound capabilities of the old 8-bit systems of the 1980s to encourage creativity and ingenuity in producing games without being overwhelmed with the many possibilities of modern tools and machines. Such limitations also give PICO-8 games a particular look and feel.

Coding on the PICO-8 is accomplished through a Lua-based environment, in which users can create music, sound effects, sprites, maps, and games.

Users are able to export their games as HTML5 web games or upload their creations to Lexaloffle's official BBS where other users are able to play the games in a web browser, and view the source code. PICO-8 games can also be exported as executable programs, which will run on Windows, macOS, or Linux.

Notable games released for the system include the original version of Celeste, which was created in four days as part of a game jam.

On March 16, 2024, Picotron was launched as a fantasy workstation that is conceptually similar to PICO-8.

Capabilities
The PICO-8 program integrates a Lua code editor, sprite and map creation tools, and an audio sound effect and music editor. The program can load games saved locally on a computer, in the form of text or as specially encoded .png images. The interface also supports a splore mode, where games uploaded to the BBS can be previewed and then played in the PICO-8 program.

PICO-8 games, as well as the program's interface itself, are limited to a 128 × 128 pixel, 16-color display, and a 4-channel audio output.

As of v0.1.11, users may export Pico-8 cartridges as stand-alone executables for Windows, Linux (64 bit), Mac and Raspberry Pi.

Color palette
The PICO-8 palette contains 16 colors. Colors in the palette can be replaced with a different set of colors by indexing a palette update with a color ID larger than 128. These colors are not officially recognized by the creators; however, they are embraced by the community and given unofficial names.

Development
Joseph White, who is better known with his nickname Zep, has started working on a BBC BASIC styled BASIC interpreter dubbed LEX500. Joseph later returned to LEX500 while working on another game engine called Voxatron. During development, Joseph switched from BASIC to Lua 2 syntax as the latter is easier to use and more capable as a programming language. He added built-in tools to it such as a music tracker and a map editor, and decided to rename it PICO-8.

Joseph got inspired from older system while setting limitations to PICO-8. 16-color palette was inspired from Commodore 64, 4-channel trackers from Amiga 500 and overall aesthetics from other 80s hardware such as Apple IIe and Famicom. He coined the term fantasy console to describe systems like PICO-8 that have deliberate limitations to fit a hypothetical hardware.

Hardware
As a fantasy console, PICO-8 doesn't have an official hardware that its based on and all of its limitations are purely emulated. Homebrew computer and hardware hobbyists in general try to fit PICO-8 in low-end devices. PICO-8 has an official image for Raspberry Pi and CHIP (shipped pre-installed in Pocket CHIP), and community managed to directly run the official software or the games via PICO-8 emulators available in RetroArch on other single board computers.

While its not possible to run PICO-8 itself on devices that are not at least i386/amd64 or ARM-64 due to several libraries, people managed to emulate p8 games on various low-cost handheld consoles via open source emulators such as Fake-08 and tac08, which can function even on devices based on 32-bit microcontrollers (most notably ESP32).

Adoption
The release of PICO-8 attracted the attention of programmers and video game developers who enjoyed the challenge of developing under these limitations, and spurred the development of similar game engines with intentional retro-style limitations. These engines are now commonly dubbed "fantasy consoles", based on a definition of the term on PICO-8's website, and roughly simulate the strict limitations of old game consoles and computers. Among these are TIC-80, which styles itself as a "fantasy computer," and Pixel Vision 8, which allows the user to specify the simulated hardware limitations they wish to develop under. The development of fantasy consoles, as well as development of games for them, has evolved into its own, almost exclusively hobbyist, sub-community of game development and programming.

PICO-8 gained additional attention in 2018 with the release of Celeste. Originally created as a PICO-8 game for a game jam, Celeste Classic became one of the most popular games on the PICO-8 BBS, prompting the developers to expand the concept into a more expansive, fully realized game. The original PICO-8 version of Celeste is fully playable as an easter egg in the full version of the game.

A low poly cad software named picoCAD is based on PICO-8 and can be used to make models for use in both inside and outside PICO-8, able to export models OBJ/MTL as well as GIF as a rotating model animation. Since its release, picoCAD is used in many 3D PICO-8 games in creation of models. The software got popularized in general pixel art and retro game development community due to its unique retro aesthetic.

Several remakes and demakes of well-known retro and modern games alike are made on PICO-8. Most notable ones include Terra (Terraria), Poom (Doom), Fuz (Fez), Low Mem Sky (No Man's Sky) and unDUNE II (Dune II).

PICO-8 has also seen interest among the demoscene, due to its harsh restrictions attracting programmers and musicians who wish to make retro-style demos for the console.

In March 2024, several PICO-8 games are added as cabinets to Arcade Legend, a VR game where players can play retro arcade games.