Awesome PICO-8
A curated list of PICO-8 resources, tutorials, tools and more. Inspired by the awesome list thing. You might also like awesome-lua and awesome-love2d.
PICO-8 is a fantasy console for making, sharing and playing tiny games and other computer programs. When you turn it on, the machine greets you with a shell for typing in a subset of Lua commands and provides simple built-in tools for creating your own cartridges.
Contents
- Community
- Demoscene
- Resources
- Tutorials
- Tools
- Assets
- Text Editors Language Support
- Hacks
- Hardware
- Articles & Posts
- Talks
- Clones
- Contributing
- License
Community
- Lexaloffle
- Subreddit
- #pico8 on Twitter
- #pico8 on Freenode
- Pico-8 Console News
- Pico-8 Wiki
- Slack Team - PICO-8 Slack chat.
- Discord Server - PICO-8 Discord chat.
DemoScene
- Pico-8 demos on Demozoo
- Pico-8 demos on Pouet
- Article with demoscene effects code
- Pico-8 demos on Youtube
Resources
- Official Manual - Placeholder dump of pico-8.txt! (Proper manual coming soon).
- Cheat Sheet - by Neko250. Based on the official manual, with edits where found appropriate.
- PicoZine #1, #2, #3 and #4 - PICO-8 Zine is a 48-page fanzine made by and for PICO-8 users.
- Going from Lua 5.2 to PICO-8's Lua - This document is here to help folks with a proficiency in Lua understand the limitations and discrepencies between Lua and PICO-8's Lua.
- Cheat Sheet (printable) - A reduced cheat sheet in a printable format. German and English version available.
- Cheat Sheet (wallpaper) - An enhancement of the printable cheat sheet for use as a desktop wallpaper.
Tutorials
- Music Tracker Tutorial Series - Making audio with PICO-8.
- Tron Lightcycle game from scratch - A quick introduction to PICO-8 writing a game from scratch.
- A PICO-8 Spaceshooter in 16 GIFs - Screencaptures of writing a Spaceshooter game step by step.
- Token optimization - tips&tricks for saving tokens.
- Tweetjam, BBS thread - cards which code fits in a tweet (really useful to learn some fun techniques).
- Sample code on the BBS - the search is not 100% accurate, but some of those cards features some nice tricks you can re-use in your future code.
- Newgrounds Medals Tutorial - a little tutorial to add Newgrounds Medals to PICO-8 games.
- Binary save system - Custom game save system that supports various data types
Tools
- Sprite Editor - Keyboard only 8x8 pixel art tool.
- pico2png - Spritesheet extraction written in perl.
- Spritesheets and tools for the PICO-8 Palette - Compilation of works assest and tools using the PICO-8 palette.
- Pico8Utils - Compilation of lua scripts based on the unix philosophy for working with .p8 files.
- picotool - Tools and Python libraries for manipulating Pico-8 game files.
- p8dl - Carts Downloader - Python - Downloads cartridges into the correct folder (looks at your config.txt).
- Pico-8 Carts Downloader - Bash - Downloads cartridge from the BBS (single cart, whole index or dump your favourited entries) & rename them according to their metadata.
- p8 responsive webplayer transform - Python script that makes your HTML export page responsive.
- Color Palette - Hex and RGB colors codes for web.
- PICO-8 font - by RhythmLynx.
- pico-test - PICO-8 testing framework.
- Lib-Pico8 - A Pico-8 library of useful common functions.
- pico8-missing-builtins - Provides Lua built-in functions to pico8.
- P8Coder - A programming tool that replaces the lua code in pico-8 cartridges (p8) with the code you write in P8Coder.
- Pico-Kit - An opinionated collection of Pico-8 helpers that make it easier to get going. Adds OOP, better debugging, and physics.
- picoDeploy - Deploy Pico-8 carts as standalone applications on desktop (Electron) and mobile (Ionic).
- pico8Grunt - A build system for pico8 games, using gruntjs.
- PICO-EC - A tiny scene-entity-component library created for the PICO-8 fantasty console.
- PICO-Tween - A small library of tweening/easing functions for use in the PICO-8 fantasy console, inspired by Robert Penner's easing functions.
- p8 - A dependency manager and build tool. Lets you share code/sprites,
require()
dependencies, and auto-reload carts on save. Works with any external code editor and supports MoonScript. - MIDI to PICO-8 - A tool to convert MIDI files to PICO-8 music.
- midi2pico - A MIDI to PICO-8 converter.
- Denote - Converts MIDI files into SFX data-- interactive and web based.
- Custom template - A simple and clean template, that fixes issues with fullscreen, mouse and just looks nice.
- Fillp Tool - A simple helper tool for generating fillp patterns.
- Depict - Converts image into a dithered image using PICO-8 colors and reduces it to a maximum size of 128 x 128.
- picoCAD - A PICO-8 program to build and texture lowpoly 3D models.
- pico8-deploy - An easy way to export and deploy PICO-8 projects to itch.io
- yap8b - Build tool for creating pico carts from multiple source files.
- TS-PICO-8 - Create PICO-8 games using TypeScript.
- Shrinko8 - A minifier that aggressively shrinks Pico-8 code size. Also includes a linter and other tools.
Assets
- midilib - Custom SFX instruments
Text Editors Language Support
- Visual Studio Code: pico8-ls - PICO-8 Language Server, providing full language support for the PICO-8 dialect of Lua.
- Atom: language-pico8
- Sublime: Sublime PICO-8 - PICO-8 plugin for the Sublime Text editor (color scheme, font, build system, code completion, snippets...).
- Vim: vim-pico8-syntax
- Emacs: pico8-mode
Programming Fonts
You might be interested to install pico-8 programming fonts they support the pico-8 custom characters as well as various fonts (bitmap and regular anti-aliased fonts). Check the BBS thread here.
How to install the font(s):
- Linux: copy the files on ~/.fonts and
sudo fc-cache -f -v
- Windows: copy the files on c:/windows/fonts/
Hacks - undocumented PICO-8 features
- Mouse - How to retrieve mouse coordinates (with demo).
- p8keyboard.js - Javascript "keyboard adapter" for the Pico-8. Send ASCII characters to a Pico-8 program running in a browser.
- SFX Modifications - Four effects that can only be applied by modifying memory (with demo).
- Tracker State/Audio Memory Locations - How to access and modify audio data as it is playing.
Hardware
- GameShell - A modular handheld game console that allows you to play & modify retro games and DIY new devices. Check the GameShell Docs for how to run PICO-8 on the GameShell.
- PocketChip - A handheld designed for playing and coding anywhere. Officially supported by pico-8. PoketChip version of pico-8
Articles & Posts
- Indie Retro News - A great introduction to PICO-8 by @ABrugsch.
Talks
- Sharing the love - Making games with PICO-8. linux conf au 2017 - Hobart, Australia
Clones
- TIC-80 by Nesbox - Tiny Computer, available on HTML 5, Windows, Linux 32/64bit, Android & MacOSX
- PicoLove - Pico-8 Reimplementation in LÖVE.
- LIKO-12 - An open source fantasy computer made using LÖVE with 96kb RAM.
- PX8 - Open Source Fantasy Console (128x128 pixels) in Rust (with Python/LUA code support).
- tac08 - tac08 is an emulation of the runtime part of the Pico-8 fantasy console, running on RG350 handheld game console.
- LowRes NX - Fantasy Console available on IOS, MacOS, Windows, Linux, and GameShell (BASIC code support)
I Want to Contribute!
Great! 😃
Please, read the contribution guidelines first.
License
To the extent possible under law, Felipe Bueno has waived all copyright and related or neighboring rights to this work.
See LICENSE for more information.