Hacker News new | ask | show | jobs
by wooly_bully 2967 days ago
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

3 comments

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.