6 ms·
Pico-8 Virtual Fantasy Console is an idealized constrained modern day game maker
- otachack 7y agoThis is one of my most favorite inventions within the past 5 years that still sticks out. I think it's ingenious and a great gateway to game development for anyone, be it a hobbyist or professional. I've spent a ton of time trying to get into game development only to get stuck in researching the many frameworks, programs, and even the idea of making my own engine. Pico-8 just packs everything you need in it including code editor, mapper, pixel editor, sound editor, etc. so you can focus on making the game instead of figuring out your tech stack. Highly recommend it and well worth the money ($15)
- cabaalis 7y agoI've made a game with PICO-8 with my 6-year-old watching along with me and telling me what to put into it. It was a great experience. I do think it's very nearly almost too constrained, specifically in the code editor. But, it did it's job. A QBASIC-like interface would be appreciated.
- xahrepap 7y agoI wish you could configure your constraints. I understand why you can't. But I just want unlimited tiles and map sizes. :)
- Moru 7y agoWhen I was looking around the fantasy computers, I found one that was configurable. It had presets for different popular machines. I saved the link and closed the rest but when I was about to start I realised I saved the wrong one and I haven't been able to find it again. Did I just dream it? The one I started on instead was tic-80.
- Impossible 7y agoPixelVision8: https://www.pixelvision8.com/ https://www.pixelvision8.com/ Found it via this list https://github.com/paladin-t/fantasy https://github.com/paladin-t/fantasy.
- jamesgeck0 7y agoYou can kinda skirt some of the limitations with Pico-8's multi-cart feature. It gives you more storage space via a simulated cartridge swapping system.
- codesushi42 7y agoYou can use Pico 8 with Atom: https://www.lexaloffle.com/bbs/?tid=3440 https://www.lexaloffle.com/bbs/?tid=3440
- willio58 7y agoI love the idea of using Pico-8 as a platform for prototyping simple games. It forces you to simplify your code and focus on perfecting the limited functionality you can support. Celeste is a great game. If I remember correctly you can actually play the pico-8 version within the newer version.
- derefr 7y agoI'd love a PICO-16: a fantasy console almost-but-not-quite like a GBA, extended in some ways (e.g. resolution, sound channels) and reduced in others (e.g. palette, maximum ROM size.) There are tons of these little "retro console" devices lately—the Bittboy, LDK-game, etc.—that people just treat as emulation devices, when they actually have hidden potential for running native game software as well, with more power than you can get out of them through an emulator. (They're actually usually as powerful as the original PSP, but only have the GPU capabilities of the GBA, making these consoles into a sort of unique alternate-history blend of 2001-2004 era gaming.) But no games are being written directly for these devices, because they're all slightly-differently specced: different screen-sizes; different amounts of RAM; etc. A hypothetical PICO-16 "platform", in my mind, would basically be an abstraction over the cross-section of native capabilities of these devices (with maybe some additional tasteful constraints on top), while still allowing to take advantage of the full hardware in a way you can't by just e.g. writing SNES or GBA homebrew. Maybe the "platform" could even come in a few separate "profiles", where games could be either targeted to a specific minimum profile, or could respec themselves to the highest profile supported (sort of like how Z-Machine games work in detecting the VM's multimedia capabilities.) Take it far enough and PICO-8 could just be the base PICO-16 profile!
- Lerc 7y agoIt is something I have considered. The Fantasy console I'm making is currently uses an 8-bit AVR instruction set, but I have wondered about making the same virtual hardware interface accessible from WASM.
- mntmoss 7y agoI'm working on something like this, but as time has gone on I've made technical constraint less of a priority and focused more and more on the I/O and "bus" model itself, because that's where the ultimate bottlenecks lie. If you have all the processing power in the world but only a 256x256 space to draw in and a limited number of commands to draw with, you still have an interesting constraint. One of the things I found myself doing with PICO-8's setup was prematurely optimizing code for size, which presented a new kind of puzzle(how to express things in fewer Lua tokens) but didn't feel good in terms of authoring finished work(I made a nice 3D maze wireframe renderer - and then stopped there). So with my own fantasy console I'm prioritizing other things beyond size/retro aesthetic, while still thinking about limitations. "Diversity" has become one of those things: you will have some ability to swap out graphics and sound cores, and use a variety of programming languages. The fixed spec approach makes it harder to make each part really distinctive and not just another "tiles and sprites and chiptunes" doddle. Since I made the foolish decision to support 3D cores it's taken a while to get a renderer going, though, and I finally decided to speed things up by releasing with 2D first and adding more later.
- mlrotter 7y agohere are some other fantasy consoles: https://github.com/paladin-t/fantasy https://github.com/paladin-t/fantasy
- RodgerTheGreat 7y agoSeems to be missing the original virtual console, CHIP-8: https://en.wikipedia.org/wiki/CHIP-8 https://en.wikipedia.org/wiki/CHIP-8
- perilunar 7y agoI have an ETI-660 that I built in the early 1980's around here somewhere. Possibly it even still works, though I'd need to find an old CRT TV to try. (probably need to replace the capacitors too). Coding in CHIP-8 was my intro to programming.
- RodgerTheGreat 7y agoI designed and maintain an IDE for CHIP-8 development (http://octo-ide.com http://octo-ide.com) which you might find enjoyable. If you wanted to run your programs on an ETI-660 I could easily make the assembler's base address configurable to suit that machine's memory map.
- perilunar 7y agoThanks for the offer, but I'm not even sure if any of my code from that era survives. I'll have a look sometime. Cool project btw!
- michaelbrave 7y agothis might be childish wishful thinking, but I'd love to make something like that but with a physical console also. Share the software created between the physical console and the fantasy console, maybe allow alternate software evolutions (imagine an internet that diverges with something other than html). It's a fun little daydream at least
- NuSkooler 7y agoHave you seen http://makenesgames.com/ http://makenesgames.com/ ?
- pjc50 7y agoThere's lots of possibilities with Arduino or similar hooked up to small LCD displays. Unfortunately HDMI output makes a system no longer simple.
- jamesgeck0 7y ago> imagine an internet that diverges with something other than html Pico-8 has the "cartverse," which allows you to link between carts in various ways. It's all centralized around the BBS right now, though.
- slowhadoken 7y agoQuadplay is cool too https://github.com/morgan3d/quadplay?fbclid=IwAR0T92CL6D90ObL3ao1mpKP3UeHhwrGZakq8rDJWYCK1PiqZRpX7aSTVEFs https://github.com/morgan3d/quadplay?fbclid=IwAR0T92CL6D90Ob...
- RadioHacker 7y agoInteresting that it's just an "8-bit look" but not really "8-bit". Code is written in Lua which will be either 32- or 64- bit depending on what platform the Lua interpreter is compiled on. (From the name, I went to read the docs, because I thought they emulated an "ideal" 8-bit processor, too.)
- jamesgeck0 7y agoYeah, it's all on the Lua VM. It does behave kinda like an 8-bit computer in that you can go poking around in the RAM to create various effects or glitches.
- markus_zhang 7y agoActually, considering I'm learning C and pretty much enjoy the process, I'm thinking about doing some game dev for some of the retros. NES and SNES are pretty fun platforms, I'll probably use Assembly for NES but maybe I can use C for SNES? It's always fun to do some low level stuffs in these days.
- visualphoenix 7y agoIf you're into the idea of a portable linux gaming handheld check out the community at https://sudomod.com https://sudomod.com The Discord server and Forums are very active and friendly. Specifically, Helder's Minty Pi[0], or various incarnations of the Game Boy Zero: Kite's Circuit Sword CM3+ AIO PCB[1], RenegadeLab's Game Boy Zero AIO PCB[2], and the always out of stock (but can be found on ebay with a markup) Retroflag GPi Case[3]. [0] https://heldergametech.com/shop/mintypi/mintypi-v3-pcb-kit/ https://heldergametech.com/shop/mintypi/mintypi-v3-pcb-kit/ [1] https://sudomod.com/forum/viewtopic.php?f=38&t=8488 https://sudomod.com/forum/viewtopic.php?f=38&t=8488 [2] https://www.renegadelabs.net/product/gameboy-zero-aio-pro-pcb-kit/ https://www.renegadelabs.net/product/gameboy-zero-aio-pro-pc... [3] https://www.amazon.com/Retroflag-CASE-Raspberry-Zero-Shutdown/dp/B07RT9VGS4 https://www.amazon.com/Retroflag-CASE-Raspberry-Zero-Shutdow...
- tcbawo 7y agoDavid Murray (The 8-bit Guy) and others are building an expandable, C64ish computer with sourceable parts and modern I/O connectivity (eg. VGA). They're calling it Commander X16. It's very early, but it looks promising as a retro gaming/educational platform. Due to hardware limitations (eg 6502-based CPU), it will probably be fairly limited to Basic and assembly programming and w/o networking capability. But, it will be expandable, so who knows. I think they will eventually have a Kickstarter. Should be a lot of fun! https://m.youtube.com/watch?v=ayh0qebfD2g https://m.youtube.com/watch?v=ayh0qebfD2g
- Impossible 7y agoI'm a huge Pico-8 fan and suggest that anyone that is interested in Pico-8 watch Joseph White's (the creator) Practice (NYU game designer conference) talk about the design philosophy of Pico-8. https://www.youtube.com/watch?v=87jfTIWosBw https://www.youtube.com/watch?v=87jfTIWosBw. The TLDW of the talk is that he explicitly tried to built a "cozy" game development environment with enough constraints in place to encourage creativity without the stress of starting from a completely blank canvas. At the end Scott Hanselman has a footnote about building or buying a physical Pico-8 console. One thing that is missing is most Pico-8 consoles focus on the play aspect of Pico-8, not the creation aspect of Pico-8 which is just as important to me if not more so. I own a PocketCHIP and the device is a decent handheld computer, but there are many aspects of it that make it painful to use, not due to the form factor but due to the quality of various components. The keyboard is bad although there are a variety of solutions, including 3D printed covers (https://www.thingiverse.com/glitchpudding/collections/pocketchip https://www.thingiverse.com/glitchpudding/collections/pocket...) or rubber feet (https://androidarts.com/Amiga/PRBOOM.jpg https://androidarts.com/Amiga/PRBOOM.jpg). The quality of the screen and touch is also not great, so it was hard for me to draw pixel art on the device. I'd like to build a custom handheld computer primarily for Pico-8 development built around this display https://shop.pimoroni.com/products/hyperpixel-4-square https://shop.pimoroni.com/products/hyperpixel-4-square, probably using a Raspberry Pi Zero. One of my issues with Pocketchip was that the entire system felt kind of slow\high latency and more compute might be one of the only fixes for that, so rpi zero might not cut it. I'd probably have to print my own case and I still haven't found a great keyboard solution. The best option I've seen is Teensy Thumb keyboard (https://www.pjrc.com/handheld-tactile-switch-keyboard/ https://www.pjrc.com/handheld-tactile-switch-keyboard/), but I might go with a standard bluetooth thumb keyboard. If anyone on HN has built a handheld computer or has good resources I'd love to hear about it. My goal is to get something that feels like a Nintendo handheld (Switch, DS, GB) with good feeling physical thumb keyboard and can also be used to draw pixel art.