top | item 14174427

PX8 – A PICO-8 compatible fantasy console written in Rust

207 points| felipebueno | 8 years ago |github.com

24 comments

order

Ursium|8 years ago

To understand why some people (including myself) are going nuts about Pico-8, here's one random feature: when you save your virtual cartridge as 'mygame.p8.png' it automatically generates a neat cartridge png representation with the screenshot of your choice from the game. Like so: http://www.lexaloffle.com/bbs/cposts/1/10022.p8.png.

Big deal you say! well, check this out: this png IS the game. It embeds the executable written in LUA. Try it for yourself - take the png I posted above, load it in pico8 then press escape: voila, full source code, sprite sheet, tracker data, etc. Type "RUN" and the game plays.

Pico8 (and its cousin voxatron) also contain an online cartridge browser that lets you discover and learn from everyone who contributed a cartridge.

Pico-8 is choke-full of these incredible little details that make all the difference. Unfortunately it's not open source itself, which some find a bit odd considering it encourages the open sourcing of the cartridge written for it. Good to see some projects such as TIC-80, LIKO-12 and now PX8 mixing things up a bit, that said it's still a nascent environment and let's not forget it's very much the arbitrary, sometimes amusing limitations imposed by the lead dev that makes these things fun.

rtpg|8 years ago

While Pico-8 itself isn't open, the creator has been pretty accepting of emulators for running the game.

I'm pretty interested in open source as a whole, but having pico-8 be a steady stream of revenue has let zep concentrate on it/voxatron, and help do things like maintain the BBS or run the monthly picotachi[0] events to help the community.

Though I wonder if there's more success in a patreon-style model...

[0]: http://www.picopicocafe.com/?id=picotachi-en

haberman|8 years ago

Great post! I have only the smallest correction, since many people aren't aware: the creators of Lua strongly prefer that people not write "LUA" (it is not an acronym). See: https://www.lua.org/about.html ("What's in a name")

mmjaa|8 years ago

Great intro to this wonderful tool .. for me, the lure of PICO-8 has really been based around the fact that a) the products it loads are open source, and b) there are almost daily new releases for PICO-8, easily available through the built-in SPLORE command .. which is, I think, one of the very key factors to PICO-8's success.

But yeah, its a wonderful toy environment, and provides weekly entertainment in my household, where the kids kind of prefer to SPLORE over their other, commercial-based game consoles ..

ld38_ninja|8 years ago

Just a quick heads up. Ludum Dare 38 is happening this weekend (theme: "a small world"). And I've certainly noticed an uptick in gamedevs targeting PICO-8 and SCUMM-8 platforms. Rather apropos given the theme, no?

A few Gifs of WIPs:

https://twitter.com/Huginn18/status/855857089960345600

https://twitter.com/quaIiaa/status/855878802563633152

https://twitter.com/topkeki69/status/855743127616970752

https://www.youtube.com/watch?v=dISx_dR6kLI

Clownshoesms|8 years ago

I've been hankering to do a Bolo port on Rust. I'm terrified of change and unable to adapt, being 40, but I will try.

lelandbatey|8 years ago

Wow, I've never heard of the PICO-8 before, but it's fantastic! This is exactly what I've always wanted, some ultra-simplified game console/emulator that's easy to create content for and easy to distribute that content. People have even built cool demoscene-esque content for it![2] And some of the games people have made are fantastic, and you can play them in your browser here: http://www.lexaloffle.com/bbs/?mode=carts&cat=7&sub=2&orderb...

Also, I was a bit confused by the term "fantasy console" so here's what I've been able to learn with some reading: it seems the PICO-8 is a kind of ultra-simple game VM with it's original implementation being in HTML/JS with access being sold by the creator[0]. At some point, the PICO-8 vm was ported by its creator to work on the CHIP computer, and now the PICO-8 VM is pre-installed on all CHIP computers[1].

What the OP link is for is an open source implementation of the PICO-8 VM in Rust. This isn't the only open source implementation of PICO-8.

[0] - http://www.lexaloffle.com/pico-8.php

[1] - https://getchip.com/pages/chip

[2] - https://www.youtube.com/watch?v=QTvnYkmtleI

0xcde4c3db|8 years ago

Is it an actual VM with its own bytecode and so on? As far as I've looked it's more like the idea of a VM built as a set of Lua APIs and memory constraints. However, the creator seems to be doing a Java-like push where the language, runtime, standard library, and development tools are all marketed as one "technology", so it's not especially clear to me.

greggman|8 years ago

AFAICT it did not start in html/js. it's C or C++ with lua. it exports to all kinds of formats including native executables for windows/Linux/Mac/iOS/android as well as html/js. the js impl uses asm.js

Grognak|8 years ago

My first thought is that such a focused environment for the code to run in might make this a helpful tool to teach kids programming in a fun and engaging way. I sincerely believe that game creation is the single best vector to get children interested in programming, and this seems like a cool possible vector. (Python is a great beginning language!)

dsnuh|8 years ago

My kids actually caught on to Voxatron (PICO-8's 3D sibling) a little easier than PICO-8. I think Minecraft has a lot to do with that.

AFAIK both are Lua based, not Python. Both programs are absolutely recommended and are a joy even if you don't have kids to share with.

dsnuh|8 years ago

Be sure to get the PICO-8 bundled with Voxatron for only a few bucks more!

Clownshoesms|8 years ago

I'm reminded of Intellivision for some reason. LibGDX is awesome for 2d mucking around too.