I've been playing around with a Pico-8, trying to get it to do 3D. It's been going pretty well.

This is about 200 lines of code, and 25% of the Pico's pretend CPU cycles.

Follow

(If you've not used it, the Pico-8 is an emulator for a console that never existed. It has a 128x128 resolution, 16 colours, and a strictly limited number of operations per frame to simulate a ~SNES-era CPU.)

Β· Web Β· 1 Β· 2 Β· 4

Anyway this whole thing has got medium out-of-hand and now I have forcefields that open on timed switches.

Show thread

Plus: half-height walls! They do exactly the same thing as normal walls but you almost can't have a game without them because how else are you supposed to say to the player "look, here's a thing, no you can't have it"?

Show thread

what is "zero"? what purpose does it serve? mathematicians have speculated but nobody is sure

Show thread

@avetozar It's very neat! They've picked the limitations really well so you can do loads of things but you can't take things too far in any particular direction. I really like it for building out ideas without spending too long on them. And I adore the 16-colour palette, it's so much more vivid and characterful than the old Windows default 16.

romanzolotarev.com/pico-8-colo

@andrewt ooooh, this is gorgeous!
how is the sdk for it?

do they have RTL for the platforms and are they even feasible to be made "flesh"?

@avetozar The game code is all Lua, and each thing you can do (call a function, assign a variable) uses a number of pretend CPU cycles β€” so it has old-hardware-style limitations but you aren't expected to write assembly
pico-8.fandom.com/wiki/CPU

You can do stuff like peek and poke the video memory directly, though, if you want to do things the in-built drawing functions won't do fast enough.
hackernoon.com/pico-8-lighting

I suppose you could build it, but it'd still need a Lua interpreter so... _kind of_?

@avetozar There's an editor for sprites, sound and maps in the console itself, which is really handy. There's a decent script editor in there too but it's much easier to do that in a real text editor.

@andrewt ah, i see. i guess then it wasn't designed as actual hardware, but rather a system that approximates the interface and resources to build games on old consoles?

@avetozar Yeah, I think so. I'm not sure if they could have made it so accessible otherwise. Maybe they could, that would have been very slick.

Actually maybe I should check if there's a good SNES software devkit knocking about that outputs ROMs, that would also be really cool.

@andrewt yeah, i don't even think it would be that crazy difficult to build something like that in vhdl/verilog.
i'm sure there are hdmi driver implementations that are open source and work on existing fpga boards, and then it's just a matter of designing the architecture that is on par with consoles 40 years ago (but with modern clock rates, so much easier)

@andrewt i remember looking into open source psp devkits some 10 years ago and they were pretty nasty from the user friendliness point of view.

@avetozar I believe that. I don't imagine there's a huge overlap between 'people capable of making an entire console devkit' and 'people good enough at ux to make an entire devkit'. Even without the weird nerd snobbery they're both very specialist skills very few people can have time to master both of.

@andrewt too true!
although, today it might be possible, as you can just piggyback on something widespread like vscode and build the devkit as a (set of) plugin(s) for it..

@avetozar Oh, that's a point. That'd be a really nice project for someone who definitely isn't me πŸ™‚

Sign in to participate in the conversation
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!