
PX8 – A PICO-8 compatible fantasy console written in Rust - felipebueno
https://github.com/Gigoteur/PX8
======
Ursium
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](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
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](http://www.picopicocafe.com/?id=picotachi-en)

------
lelandbatey
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...](http://www.lexaloffle.com/bbs/?mode=carts&cat=7&sub=2&orderby=rating)

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](http://www.lexaloffle.com/pico-8.php)

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

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

~~~
0xcde4c3db
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.

~~~
bootload
_" 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"_

Look beyond the technology and you see a tool that allows you to; play games
other people make; let you tinker with; or build your own.

~~~
0xcde4c3db
I'm not trying to suggest that there's something deficient in the approach,
just that it makes it harder to answer the sorts of questions I have. I mostly
want to know:

1) What does it mean for PX8 (or any other program) to be "PICO-8 compatible"
in this context?

2) Does PICO-8 resemble CHIP-8 only in general concept and name, or also in
structure?

~~~
vvillena
2) CHIP-8 is a tiny computer with a case, a keyboard, a screen, and PICO-8
preloaded.

~~~
0xcde4c3db
I'm talking about this:

> CHIP-8 is an interpreted programming language, developed by Joseph
> Weisbecker. It was initially used on the COSMAC VIP and Telmac 1800 8-bit
> microcomputers in the mid-1970s. CHIP-8 programs are run on a CHIP-8 virtual
> machine. It was made to allow video games to be more easily programmed for
> said computers.

[1]
[https://en.wikipedia.org/wiki/CHIP-8](https://en.wikipedia.org/wiki/CHIP-8)

------
ld38_ninja
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/Huginn18/status/855857089960345600)

[https://twitter.com/quaIiaa/status/855878802563633152](https://twitter.com/quaIiaa/status/855878802563633152)

[https://twitter.com/topkeki69/status/855743127616970752](https://twitter.com/topkeki69/status/855743127616970752)

[https://www.youtube.com/watch?v=dISx_dR6kLI](https://www.youtube.com/watch?v=dISx_dR6kLI)

~~~
Clownshoesms
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.

------
Grognak
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!)

~~~
shakna
Pico-8 already has great licensing for schools [0], and honestly, in that
environment, its easier to say "Buy this" than "this is free".

[0]
[https://www.lexaloffle.com/info.php?page=schools](https://www.lexaloffle.com/info.php?page=schools)

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

------
felipebueno
In case anyone is interested in learning more about PICO-8 and it's "clones",
I started one of those 'awesome lists' for that last year.

[https://github.com/felipebueno/awesome-
PICO-8/](https://github.com/felipebueno/awesome-PICO-8/)

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

