A Python toolkit for building, analyzing, and manipulating PICO-8 fantasy console game cartridge files.
Picotool is a Python-based toolkit for manipulating PICO-8 game cartridge files. It provides command-line tools and libraries to build, analyze, format, and minify cartridges, helping developers manage complex projects and optimize game code. It solves problems like modular code organization, asset assembly, and character/token limit optimization.
PICO-8 developers who need advanced tooling for cartridge management, code optimization, or automated build workflows. It's especially useful for creators working on larger projects that exceed the console's built-in editor capabilities.
Picotool offers a comprehensive, programmatic approach to PICO-8 cartridge manipulation that the native environment lacks. Its unique features like package support, multi-cartridge analysis, and Lua minification provide granular control over game assets and code, enabling more sophisticated development pipelines.
Tools and Python libraries for manipulating Pico-8 game files. http://www.lexaloffle.com/pico-8.php
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
p8tool build merges code and assets from multiple files, enabling complex project workflows beyond the native editor, such as combining sprites from one cart with Lua from another.
Tools like stats and luafind provide detailed metrics and search capabilities across cartridges, helping developers optimize token usage and study code patterns.
The require() system allows organizing code into reusable packages with build-time inclusion, similar to Lua modules, though it strips game loop functions by default.
Reads and writes both .p8 and .p8.png cartridge formats, ensuring seamless conversion and manipulation regardless of file type.
The library is under construction with no backwards compatibility promise, and the parser is described as 'jank', making it risky for custom tool integration.
picotool's token counting doesn't match PICO-8's exactly, which can mislead developers when optimizing for the console's strict limits.
With PICO-8's native #include support, some build features like modular assembly are less essential for simple projects, reducing picotool's unique value.