I wrote a little utility to export PNG files to pico8 cartridge map files. I've got plans to automatically eliminate duplicate tiles and allow arbitrarily sized images, but in the meantime, here is my first proof-of-concept to show that I've got the cartridge format correct, and the basic idea works, using the good old red-eyed tree frog seen in all kinds of image processing demos (the pico8 palette is not too kind to it).
Not that this is not a game, it's an automatically generated cartridge. The real magic is in the generator (which I hope to publish when I'm happy with it).
There are some other tools already, some in Python, some in C#. You might want to have a look at the source codes...
I'm still waiting for a complete Pico-8 Studio solution (ultimate preferably) :)
> There are some other tools already, some in Python, some in C#.
> You might want to have a look at the source codes...
Not exactly what I have in mind here, but interesting. The cartridge format is pretty easy to understand from mere observation, but my ultimate goal is to make very large maps, by squeezing as much data into a cartridge as I can. Time to get creative.
My own prior art on generated carts and compression, in case it's useful to you:
The text demo uses LZW and a single corpus-wide dictionary to compress multiple short strings. This could be adapted easily to other kinds of data. I mostly used strings to pair it with source code processing, to demonstrate the automated extraction and compression of string literals in Lua code. Reusing the compression code to extract maps from multiple "source carts" to make a single "compiled cart" wouldn't be any more complex, and might even be simpler. :)
[Please log in to post a comment]