PICO-8 Fantasy Console

PICO-8 from https://www.lexaloffle.com/ is a virtual console that was developed for people having fun to create small games focused on game play and based on simple pixel graphics.
The games are to be programmed using LUA language and you can share your games online to be played in a web browser.

Like real consoles there are technical limitations for memory graphics and sound and with PICO-8 they are really challenging.

Graphical Summary

Display: 128x128 pixels
Sprites/Tiles: 128 sprites of 8x8 pixels each or up to 256 if no tile map is used
Tile Map: 128x32 overall
Colors: fixed color palette with 16 entries Transparency: color index "0" is considered to be transparent by default. Can be changed programmatically.

Sprites and tiles are effectively the same. So you can decide which graphic portions are used for sprites and which are used in background tile maps or even mix them.

The Pro Motion project preset for PICO-8 uses the standard palette (first 16 colors) but it is extended by some special color orders and groups to quickly select colors for certain graphic portions like stone, metal, plants etc. . You can define your own color groups in the palette area, but remember to never change the value of a color. Always use copies from the original color definitions. PICO-8 will remap every pixel to the standard palette when you load the graphics into it.

Because of the graphics being very tiny and PICO-8 displays everything zoomed anyway you should also increase the zoom value in the animation playback window.

PICO-8 can load and save a sprite sheet PNG file of 128 x 128 which contains all sprites/tiles and the tile map. The first half of 128x64 contains 128 sprites/tiles and they are placed side by side. The second half can contain either additional sprites/tiles or the tile map data. Do not change the second half data if you use the tile map feature in PICO-8, otherwise you might corrupt the tile map when importing the image back into PICO-8.

Editing Tiles

If you want to edit tiles statically then you can just load the PNG file from PICO-8 as an image file to start a Pro Motion project and edit the tiles in place.
You can create additional frames in your project to place tiles that form larger objects and draw there but you must copy them back to the image that you want to export to be used with PICO-8.

Animating Tiles/Sprites

To animate the sprites or tiles you can load the PNG file as a sprite sheet see Menu File and use "Load Animation". You will be asked about the size of a single sprite. Enter 8 as frame Width and height. This will result in an animation of 256 frames where the last 128 frames are either pure tile map data that should not be touched or they are just more sprites if you don't use tile maps. Now you can use the animation functions of Pro Motion. For example, go to the first frame you want to animate and use menu Animation/Mark Playback Start to define the first frame for playback. Go to the last frame you want to animate and use Animation/Mark Playback End.
Save the file as animation and use a PNG sprite sheet file type.
You should not add/remove frames to always have the 256 frames.

Find more information about PICO-8 here:

Last modified: 04 July 2020