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
- Resources
- Tutorials
- Tools
- Text Editors Language Support
- Hacks
- Articles & Posts
- Podcasts
- 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.
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 Englisch 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.
Tools
- Sprite Editor - External sprite editor compatible with Pico-8 and PicoLove.
- 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.
- Custom template - A simple and clean template, that fixes issues with fullscreen, mouse and just looks nice.
Text Editors Language Support
- Visual Studio Code: vscode-pico8
- 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
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.
Articles & Posts
- Indie Retro News - A great introduction to PICO-8 by @ABrugsch.
- Clear Code - 3 part series on how to write better pico-8 code.
Podcasts
- pico chat - A bite-sized podcast about Pico-8 and other tiny games.
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).
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.