Awesome PICO-8 Awesome

PICO-8 tools code

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

  • 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.
  • parens-8 - Bypass the Lua token limit with a tiny lisp interpreter/compiler.

Assets

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

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.
  • Pikuseru - Open Source Fantasy Console in pure Rust [Core].
  • 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

CC0

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.