February 2025

S M T W T F S
      1
23456 78
9101112131415
16171819202122
232425262728 

Style Credit

Expand Cut Tags

No cut tags
Monday, June 8th, 2020 11:58 am

"So, open source implementations of the API are great because it makes you feel safer that your cartridges are going to live forever and there's more things you can do with it. And, you know, in the long term, I'm, y'know, working hard to make sure that no one will lose their PICO-8 cartridges.

"But, ah, but there are good reasons for it being close source. Part of it is that there is a very large secret basement to PICO-8 that I don't want anyone to know about yet. (...please don't tell anyone.)" [audience laughter] "And also, I think if it was open source at this point, there would be many variations of PICO-8 that would sort of eat away at that shared experience. You know, everyone knows what PICO-8 is - how big a cartridge is, what the pallete and screen limitations are - and that why it's valuable, I think.

"So, over time, you know, it should be more open and fixable and safe, you know, safe in regards to preserving software; but it would be bad in the short term for that reason. So there's good and bad things about the open source business."

- Joseph White, PRACTICE 2018

The longer we have spent working with PICO-8 as a tool, the more we've come to appreciate that the virtual console idea is really the least important part of what PICO-8 does. "Virtual console" is a framing for communicating about PICO-8 - for telling us, people who are not Joseph White, that the thing he made will put restrictions on us, that it's not designed to use the full power of our computers, and that what we make with it is fully ours rather than just mods on someone else's thing - but PICO-8 was not designed to help people make games they would have made on the NES or Apple II or Commodore 64 or Amiga 1000 more conveniently.

PICO-8 was designed to inspire.

It won't do that for everyone, and that's fine - nothing will inspire everyone - but:

  • PICO-8's restrictions are there to condense the space of possibilities into one with a greater density of joy, and therefore to inspire.
  • PICO-8's scale is small to make small projects fun - you can't do much, so doing a little feels allowed, feels significant, feels worth being inspired about.
  • PICO-8's scale is small to keep it light - much of the optimization is done for you, so you don't have let the 'am I going make people's computers grind to a halt?' question get in the way of your inspiration.
  • PICO-8's options are restricted, so you can become familiar with all the pieces and connect any idea you have with what pieces it would use - and use the pieces themselves to inspire new ideas.
  • PICO-8 carts are easy to share, which means that there are a lot of them, which means that folks like us can get a feeling for "this exists, has an identity, and is available to anyone - and I'm an anyone, and I can play too".
  • PICO-8 makes a space for you. A new cart in PICO-8 has no source code, nothing on the map, and only eight pixels of a single "fyi this sprite won't work on the map" sprite drawn on the sprite sheet. You start it up or type "REBOOT" and there is nothing to clear out of your way before you start.
  • PICO-8 has competent documentation. ...*flails wildly* that is so useful and it frustrates me when tools don't have that. If you want to do something in PICO-8, you can probably look up what you need to know in the PICO-8 manual, and if it's not in the manual, it's probably in the regularly-updated-and-fairly-comprehensive wiki. You don't have to stop being inspired to go try to find a person who's available and willing to explain how something works - you can just read how to do it and do it.

There are a lot of reasons to not use PICO-8 - we have plenty of game ideas that we cannot fit on a 128x128 pixel screen or in a 32kb file, for example - but for anyone designing one, the words "virtual console" I think become an impediment to understanding PICO-8 and why it works. It works because it exists to inspire.