I had a good time with PICO-8 - and I think it retains its core appeal - but I've moved on to "genuine" retro hardware with the new crop of machines like CX16, Mega65, or my personal choice, Agon Light. The specification ends up being tighter when there's a board design, chips and I/O ports, and these new machines, like Picotron, are relatively uncompromised in what they can achieve within the I/O spec. You can emulate them, talk to the hardware directly, run BASIC or C or Forth or whatever other language.
Lua might be too slow to run interpreted on real 8-bits as in the Pico series, but it can be used as the base for a cross-compiler instead, and that presents a different spin on the specific coding challenge: Why not create an ultimate development environment, something that generates the precise code needed for that type of project? That's the direction that the highly optimized PICO-8 games took, and it is likewise seen in new demos for C64, Spectrum, A800 etc. - the "big hardware" is leveraged towards the old stuff in a way that can ignore the assumed paradigms of both.
> but I've moved on to "genuine" retro hardware with the new crop of machines like CX16, Mega65, or my personal choice, Agon Light.
I just wish these would move on from the same crop of retro CPUs (z80, 6502, maybe 8080) and clone VDPs on FPGA. I want a retro-style 2d/blit-based machine, but with more advanced hardware. Maybe a Cortex-M, z8000, 68000, low-end Risc-V, etc. Still give it BASIC in a boot ROM, but some more 90s style headroom to grow into.
I guess what I'm saying is, I totally get that all these people grew up on Commodore 64s and are trying to recapture that magic. However, the Amiga/Atari/BeBox/etc hacking days shine way more with me.
I would love to see the alternate world in which the z8k or 68k were finished in time for use in the IBM PC. Intel is dominant today almost entirely due to the 8086 being available 6-12 months earlier than competing 16- and 32-bit processors.
And open reference designs that fit on 4-layer boards (!!!!) despite using DDR2. Though I think most people would be more comfortable with 6-layer boards (which is possible with OSHPark today).
Something like an STM32 Discovery board is a good option for recapturing the mid-90s magic. You can get a ~200-MHz Cortex-M4 or M7 with a few MB of flash, external SDRAM, and a display for less than $100. They have really basic hardware 2D accelerators.
The on-chip peripherals are well-documented, but off-chip peripherals require some digging to figure out how to program correctly.
You can debug with GDB surprisingly easily, or find a Forth to throw on there and just start poking registers.
it looks like the agon light actually runs an ez80 which runs pretty fast and can address the whole 512k of ram without paging which does give you that sort of late-80s/early-90s headroom
I think this is less people who grew up with C64s and more people who didn't trying to capture the magic without having to learn assembly or making sprites with graph paper and a hex editor.
Enough already with retro hardware that reproduces the early 2d games aesthetic. We need to step up the game and make retro hardware that reproduces the early 3d aesthetic.
+1 My kids and I had a lot of fun with Pico-8, building simple games and learning basic geometry.
The community (inherited from Pico-8) is already implementing cat/wget/grep[1] and, of course, Minesweeper[2] in Picotron! Whatever Joseph White/zep is building brings back the early days of Internet and IRC where the everybody builds and shares unashamedly while having a ton of fun!
Thank you zep for making computing fun again for more mere mortals!
I'm curious how old your kids were when they started hacking on PICO-8 code?
My son (7yo) likes block-based programming (using Scratch, Scratch Jr and Octostudio) and Minecraft, but I'm wondering what a smooth on-ramp might be for PICO-8 or similar.
I got my first computer when I was about 10yo, so I was content to read through the books that came with it to learn the basics of BASIC and a little 6502 assembly. But I don't think that will work due to age, availability of other devices etc.
There are efforts to port pico8 to microcontrollers, but the real problem with lua is memory (easily requires 4MB of memory which is only available on high-end microcontrollers).
As much as I love Lua its very difficult to shoe-horn into an 8-bit CPU, especially with limited RAM... but there are other efforts to bring more modern languages to these platforms, and one that strikes me as interesting is dflat, from 6502Nerd:
I've been playing with this for 30 minutes, and I'm still smiling my head off. It's just so much fun. I have used Pico-8 a bunch in the past (so it was easy to jump into making stuff). Pico-8 is one of four bits of software that I put it in my basket of "software that sparks joy" along with Aesprite, Blender, and Propellorhead's Rebirth.
Pico-8 had so much care put into its goals and intentional limitations: and so far Picotron seems to have that same level of love and thought. It's delightful, and I don't want to stop making things with it.
I've used many of the clones of pico-8 and they all feel like they miss the point. They "improve" on the limitations, but are just... not satisfying. Funnily enough, I've tried three times to make my own JavaScript version of what Picotron is ("what if I made a more feature-rich version of Pico-8 to use for prototyping in game jams?") and each time abandoned it because it felt like the Pico-8 clones: adequate, functional, but not inspirational.
I don't know who makes Pico-8 and Picotron, but hats off to you amazing person/people for making such likable software!
I too put Aesprite in this category, but the big one for me is Godot. After years of from-scratch OpenGl projects and dabbling with Unity, I leaned into Godot 100% around 2020, and ever since it has been my #1 joy-sparking piece of software.
Around 2016 or so I had concluded that game dev has just stopped being fun, but luckily a friend talked me into trying pico-8. It's hard to describe what this little piece of software did for me, pure white magic!
Just around New Year Godot finally 'clicked' for me and once again I am super excited to tinker and prototype. I'm almost too scared to try out Picotron now. Almost.
Aside from the fun factor of an image containing a runnable game/program, the PNG format is lossless, uses the same compression algorithm as ZIP, with encode/decode libraries in various languages. That makes it a good candidate for an application data format.
In a world full of SERIOUS BUSINESS ALL THE TIME it’s nice to see something decide to be fun for the sake of it. It’s a cool digital homage to cartridges, which are basically also rectangles with cool graphics on them that run a game.
It’s fun, mostly. Also, PNG has a handy alpha channel you can use to store data. I believe the previous console from this developer, PICO-8, started the trend.
It's a fun little thing but BEWARE! It's still a bit buggy and crashy* and rough around the edges. You can kinda see what Zep is going for but a lot of it is quite mysterious and there's little in the way of API docs (as-in, people are having to print all the global lua tables to figure out how to do stuff)
*Not as much as 0.1a but there's still kinks to be worked out for 0.1c.
Pico-8 was and is one of the most pleasant pieces of software I have used. I can only imagine the wonders the community will produce for this thing.
Of course, despite the machine itself (pico 8 that is, and this thing too) being proprietary, all the user-programs are source-available if not open source. It's really educational and I love it.
There will be compatible implementations of this thing, but the pico-8 tools were so refined, and pico-8 was so cheap, that I can't imagine not giving the dude 10 bucks. (i.e. the open source implementations might just run the program but not come with all the cute tools like the IDE, the pixel sprite/map/etc editor, or the music tracker), that was well and truly worth the money. Pico-8 is one of the only pieces of paid-for software I haven't hated.
Tl;dr: I think pico-8 is wonderful, I think the community and free programs are wonderful, and I think given that, this will also be wonderful.
Can you – or someone else – write about why Pico-8 is so much better than other fantasy consoles? In particular, I've been intrigued by WASM-4 recently, and someone else mentioned TIC-80 which also looks good. I remember reading about Pyxel and getting inspired. All three of those have the benefit of being free, so why would I pay for Pico-8?
Pay because it’s inexpensive and you are supporting the development of a platform that brings joy to a lot of people (including children). It’s hosted (splore for finding games), a community forum is maintained and is a wealth of knowledge. It’s a hub for learning. Paying for pico-8 is like donating to Wikipedia. Basically, you are putting a few dollars towards a “good thing”.
>Pico-8 was and is one of the most pleasant pieces of software I have used
Indeed, but I have a gripe with it that I cannot get over, the editor's font is too damn hard to read, I tried get used to it but to no avail. The games however are very playable, fun, inspiring and the community couldn't be better.
It is throttled, although we’re still working out the exact details.
Practically, it’s not significantly more headroom than PICO-8 had because the screen is so much larger. You’ll have to use a low resolution screen mode if you want to do CPU-heavy things that wouldn’t fly in PICO-8.
Man this feels great to me. The Pico-8 feels a bit too old-school and janky to me despite being a great bit of software, the picotron feels a lot more like my childhood.
I'm excited to start playing with it!
Lua might be too slow to run interpreted on real 8-bits as in the Pico series, but it can be used as the base for a cross-compiler instead, and that presents a different spin on the specific coding challenge: Why not create an ultimate development environment, something that generates the precise code needed for that type of project? That's the direction that the highly optimized PICO-8 games took, and it is likewise seen in new demos for C64, Spectrum, A800 etc. - the "big hardware" is leveraged towards the old stuff in a way that can ignore the assumed paradigms of both.
I just wish these would move on from the same crop of retro CPUs (z80, 6502, maybe 8080) and clone VDPs on FPGA. I want a retro-style 2d/blit-based machine, but with more advanced hardware. Maybe a Cortex-M, z8000, 68000, low-end Risc-V, etc. Still give it BASIC in a boot ROM, but some more 90s style headroom to grow into.
I guess what I'm saying is, I totally get that all these people grew up on Commodore 64s and are trying to recapture that magic. However, the Amiga/Atari/BeBox/etc hacking days shine way more with me.
Very much in the spirit of the early home computers (inc a decent BASIC) but with a lot more oomph.
[1] https://geoffg.net/maximite.html
https://www.microchip.com/en-us/development-tool/linux4sam.o...
With well made compute modules: https://www.digikey.com/en/products/detail/microchip-technol...
And open reference designs that fit on 4-layer boards (!!!!) despite using DDR2. Though I think most people would be more comfortable with 6-layer boards (which is possible with OSHPark today).
The on-chip peripherals are well-documented, but off-chip peripherals require some digging to figure out how to program correctly.
You can debug with GDB surprisingly easily, or find a Forth to throw on there and just start poking registers.
The community (inherited from Pico-8) is already implementing cat/wget/grep[1] and, of course, Minesweeper[2] in Picotron! Whatever Joseph White/zep is building brings back the early days of Internet and IRC where the everybody builds and shares unashamedly while having a ton of fun!
Thank you zep for making computing fun again for more mere mortals!
[1]: https://www.lexaloffle.com/bbs/?tid=140771 [2]: https://www.lexaloffle.com/bbs/?tid=140678
My son (7yo) likes block-based programming (using Scratch, Scratch Jr and Octostudio) and Minecraft, but I'm wondering what a smooth on-ramp might be for PICO-8 or similar.
I got my first computer when I was about 10yo, so I was content to read through the books that came with it to learn the basics of BASIC and a little 6502 assembly. But I don't think that will work due to age, availability of other devices etc.
Would it necessarily be all that much slower than Basic? It's a very small and othogonal design.
https://github.com/DavidVentura/PicoPico
https://github.com/6502Nerd/dflat/wiki
(See language description here: https://github.com/6502Nerd/dflat/wiki/2.-Language-Descripti...)
Maybe something like this could evolve/be adapted for continued modern development needs?
Pico-8 had so much care put into its goals and intentional limitations: and so far Picotron seems to have that same level of love and thought. It's delightful, and I don't want to stop making things with it.
I've used many of the clones of pico-8 and they all feel like they miss the point. They "improve" on the limitations, but are just... not satisfying. Funnily enough, I've tried three times to make my own JavaScript version of what Picotron is ("what if I made a more feature-rich version of Pico-8 to use for prototyping in game jams?") and each time abandoned it because it felt like the Pico-8 clones: adequate, functional, but not inspirational.
I don't know who makes Pico-8 and Picotron, but hats off to you amazing person/people for making such likable software!
I too put Aesprite in this category, but the big one for me is Godot. After years of from-scratch OpenGl projects and dabbling with Unity, I leaned into Godot 100% around 2020, and ever since it has been my #1 joy-sparking piece of software.
I’m noticing a trend of newer indie software distributing assets in png files, what’s with that?
But even emailing scripts for work got flagged. This png format would probably avoid that.
Also good thing it’s lossless. Other wise those multiple save jpg artifacts could cause interesting bugs.
*Not as much as 0.1a but there's still kinks to be worked out for 0.1c.
Of course, despite the machine itself (pico 8 that is, and this thing too) being proprietary, all the user-programs are source-available if not open source. It's really educational and I love it.
There will be compatible implementations of this thing, but the pico-8 tools were so refined, and pico-8 was so cheap, that I can't imagine not giving the dude 10 bucks. (i.e. the open source implementations might just run the program but not come with all the cute tools like the IDE, the pixel sprite/map/etc editor, or the music tracker), that was well and truly worth the money. Pico-8 is one of the only pieces of paid-for software I haven't hated.
Tl;dr: I think pico-8 is wonderful, I think the community and free programs are wonderful, and I think given that, this will also be wonderful.
I'm a fan and have been for a while.
Indeed, but I have a gripe with it that I cannot get over, the editor's font is too damn hard to read, I tried get used to it but to no avail. The games however are very playable, fun, inspiring and the community couldn't be better.
I'm too spoiled by modern text editors to accept the embedded one for any long time
Is that ballpark, or throttled for consistency? The FAQ has a "How Fast is the CPU?" item, but that just discusses being fast and faster than PICO-8.
Practically, it’s not significantly more headroom than PICO-8 had because the screen is so much larger. You’ll have to use a low resolution screen mode if you want to do CPU-heavy things that wouldn’t fly in PICO-8.