Hacker News new | ask | show | jobs
by hungariantoast 2966 days ago
Maybe this is a good time to plug PICO-8 which describes itself as a "fantasy console for making, sharing and playing tiny games and other computer programs."

https://www.lexaloffle.com/pico-8.php

I don't even know the difference between the two programs, but someone interested in TIC might also be interested in PICO.

5 comments

The PICO-8 is where the current trend for fantasy consoles began. There's a growing number of them (I'm making one myself). They all have slightly different areas of focus.

Some are scripting language based, some emulate CPUs. TIC-80 programs are "64KB of Lua or Moonscript or JavaScript". My own is 8-bit AVR (128k rom, 64k ram). Z80 seems a popular base as well.

Celeste, which was released to rave reviews this past year for the Switch, started life as a PICO-8 game. I played it on the PICO-8 at first and was blown away!

Enjoy: https://www.lexaloffle.com/bbs/?tid=2145

PICO-8 (and I assume, TIC-80 as well) are actually great for prototyping bigger game development projects - specifically due to its harsh constraints, which force a limited scope and sharp focus on the design.

I'm actually in the process of making SlipWays, a fast-paced 4X game for PC that started as a PICO-8 prototype (https://krajzeg.itch.io/slipways). A major reason for the tight game design of the game were the tight confines on the console.

I love SlipWays! It's really impressive that you crammed a game that deep into such a small system. That and Celeste were big inspirations to look into PICO-8 myself. Looking forward to the full release.
One of the coolest hidden easter eggs in the main release of Celeste is stumbling upon the little room with the PICO-8 version of the game (https://i.imgur.com/7iNbBNA.png). I didn't know PICO-8 was a thing, so imagine my surprise when I found an entire complete game built into the main game!
Do you know how it was ported to the Switch?

TIC-80 uses SDL, which doesn't have a working port (for the Switch) so far as I know.

The commercial release of Celeste is a new game, written from scratch, implemented in C# (XNA/FNA/MonoGame). It includes a port of the original. I'm kind of curious if they actually wrote a PICO-8 emulator for that or just ported it to C#.
They have a Github repo with some of the source code up (mostly just stuff to do with character movement and control).

https://github.com/noelfb/celeste

Apparently it's based on this framework:

https://bitbucket.org/MattThorson/monocle-engine/src/default...

They ported the PICO-8 version line by line to C#. Since there aren't that many lines, apparently it wasn't that hard.
There is an SDL port for the Switch but it's under NDA and you need to request access for it [1].

[1] https://twitter.com/icculus/status/981730137736712192

There's an SDL port, but it can't be publicly distributed due to NDAs.
Boy, wouldn’t it be fun if there was a Z80-based retro console with an 8-bit color screen and easy access from modern machines (USB, etc)?
Amstrad CPC with a HxC card...
To me it seems that trend started somewhere along with Notch's dcpu16 and assorted virtual hardware from 0x10c.
Pico 8 and Voxatron (its predecessor/3d succesor) both predate the 0x10c experiment I believe.
Hmm, I can only trace PICO-8 as far back as late 2014, while 0x10c happened in 2012. However Lexaloffle likes to label it, Voxatron is hardly a fantasy console, it's a voxel game engine (with fantasy console features retrofitted in later on).
That's interesting. I'm currently building a Chip-8 emulator using an Atmega1284, keypad and SSD1306.

What ram chip are you using? I've been looking at 23K640 but it's proving a nightmare to get running on a breadboard.

PICO-8’s limits are partly tbere to try to ensure all games run on all platforms at full speed including raspberry pi.

it can export a stand alone game for windows, macos, linux, and html5

There is also LIKO-12 which is open source and has changeable "BIOS" and "OS." https://github.com/RamiLego4Game/LIKO-12
They are conceptually very similar and both obviously inspired by the old CHIP-8.

TIC-80 is a bit more 'powerful' in that it's a bit higher resolution with double the sprite count.

The most substantial differences:

>PICO-8 has its own BASIC-like language

>TIC-80 is programmed in Lua or JS

>

>PICO-8 is commercial software, costs $15

>TIC-80 is open source

Pico-8 is restrained by design.

> The harsh limitations of PICO-8 are carefully chosen to be fun to work with, encourage small but expressive designs and hopefully to give PICO-8 cartridges their own particular look and feel.

It can be a little frustrating at first, but if you focus on the other important elements of a good game it can be really satisfying.

In addition, there are some people doing some very cool stuff really pushing that limit as far as possible.

- https://twitter.com/paloblancogames/status/97765346516502528...

- https://hackernoon.com/pico-8-lighting-part-1-thin-dark-line...

Just to cherry pick a few. Personally, I like the restraints.

To add to the others, Pico-8 definitely uses a modified version of Lua 5.1/5.2.

PICO-8 may be commercial software for creators, but players can play PICO-8 games published via the web app for free.

The author, "zep" (of lexaloffle games), is also a wonderful human being that goes out of their way to support people who buy it / play PICO-8 games and deserves every penny for it.

While I hope they some day consider open sourcing PICO-8 so it may live on, for now, it provides them with meaningful income and lets them actively develop it, which I wholeheartedly support.

The author is actually Zep. Lexaloffle is the company.
As ungzd already said, PICO-8 doesn't use its own language, but instead uses a slightly modified version of Lua

https://www.lexaloffle.com/pico-8.php?page=manual

PICO-8 uses plain old Lua also; the editor downcases everything on save which is why it seems case-insensitive.
It also adds a couple of convenience language features and a simplified API, which is why it appears "BASIC-like".
The PICO-8 language is just Lua with some minor syntactic sugar.

It's also worth noting that TIC-80 has a $5 "PRO" version; the free (as in no cost) and open source version is basically shareware.

From the README:

> For users who can't spend the money, we made it easy to build the pro version from the source code.

So the pro version is still FOSS, their builds are just not gratis.

That's a nice mixed model.
PICO-8 uses Lua too.
pico-8 is a fantasy that probably couldn't have existed with out a whole subsystem below it. Mojang's DCPU-16 is probably closer to a fantasy computer.
PICO-8 is proprietary; TIC-80 is MIT-licensed free software. There is no reason to consider using PICO-8 now that TIC-80 exists.