Show HN: Driftmania – an open source PICO-8 racing game

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • PICO-8

  • I've been spending a lot of my spare time over the last year creating this little racing game. It's built in PICO-8, which is a really fun “fantasy retro console” that's been mentioned on HN several times. The console has strict limits and I wanted to see how far I could push them

    The source code for the game is over here: https://github.com/maxbize/PICO-8/tree/master/Driftmania. It's a bit of a mess, but I'm happy to answer any questions on it or development of the game. Cheers!

  • pyxel

    A retro game engine for Python

  • Nice work, gives me very Micro Machines vibes for the NES. The only thing I don't like about PICO-8 is that its completely closed source. An open source alternative that seems very promising is Pyxel. It has similar retro / pixel art limitations, a built-in sprite editor, music tracker, etc.

    https://github.com/kitao/pyxel

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • retro8

    PICO-8 implementation with SDL2/SDL1.2 and RetroArch back-ends (by liartes)

  • TL,DR: If PICO-8 is your highest priority, no preferable alternative exists anywhere near the RGB30's price point. The next best options are probably the TRIMUI Smart Pro or the Miyoo Mini v4, but both have serious shortcomings relative to the RGB30, including the fact that neither can run the PICO-8 binary natively, and the workarounds they employ can negatively impact performance¹ ². At any price, Android or FPGA-based devices are non-starters, and I would strongly discourage you from considering anything with a 640x480 (or 320x240) display. The Steam Deck might be the best handheld for playing PICO-8, but it's much more expensive and a fundamentally different device. Similarly, the Anbernic RG552 could be an attractive option if it isn't your primary/only gaming handheld AND price isn't a factor.

    ==========

    A good PICO-8 handheld has one absolutely mandatory quality, it must be able to run PICO-8. That may seem ridiculously obvious, but it's important to note that there is no Android port of PICO-8, and therefore most Retroid, AYN, and AYANEO offerings, as well as many Anbernic devices (as well as any other Android-based retro handhelds) can't run PICO-8 natively. While emulation is technically possible, it's incredibly complicated and only barely works³. (Sidenote: other than the RGB30, the only 1:1 720p retro handheld in development that I'm aware of is the ZPG A1 Unicorn⁴. Regrettably, it will run Android, which is a huge bummer.) This issue is even more pronounced on FPGA-based devices like the Analogue Pocket. The Pocket's 1600x1440 screen is nearly perfect for 1:1 content, but PICO-8 obviously doesn't have any native hardware to be emulated (or whatever terminology you prefer to use, I don't want to get drawn into the FPGA holy wars). Theoretically someone could develop a powerful enough x86 Pocket core to run an OS that you could maybe run the PICO-8 runtime and its Lua interpreter inside... but that's so convoluted it hardly merits discussion.

    In short, you need a Linux-based handheld, which is a good start, because there are lots of them, and plenty of custom OSs/frontends under development like EmuELEC, ArkOS, JELOS, MinUI, OnionOS/GarlicOS etc. Only some of these will run the PICO-8 binary natively, but as is the case with so many retro handheld topics, Retro Game Corps has a guide that can be useful for sorting out the specific details for each device and OS⁵.

    Next, it would stand to reason that for the best PICO-8 experience you'd want a handheld with a square-ish display. However, I'd argue that aspect ratio doesn't actually matter very much, and what you're really looking for is something with enough vertical pixels to get you clean integer scaling of the PICO-8's native 128x128 output with minimal black bars at the top and bottom of the screen. The black bars on the left and right don't matter very much, in my opinion. Shaun Inman's Console to Screen tool⁶ is very useful for visualizing these details. Using that tool, if you set the console to PICO-8, enable integer scaling, and select any of the devices with a 640x480 resolution, you'll see that the top and bottom black bars are mostly responsible for the PICO-8's square output looking like a postage stamp when it isn't utilizing enough of the screen. In contrast, devices like the RGB30 and Steam Deck can reach 5x and 6x integer scaling respectively, while sacrificing very few vertical pixels. Impressively (and somewhat inexplicably), the Anbernic RG552 features a 1920x1152 IPS display, which accommodates 9x integer scaling without a single wasted vertical pixel, but that was an expensive device with some serious warts when it came out over two years ago. Its price-to-performance ratio was bad then, and it's even more difficult to recommend in 2024. Having said that, Russ from Retro Game Corps loves it⁷, and I could imagine the RG552 filling a very specific role for someone who owns several gaming handhelds and has already made their peace with spending way too much money on this hobby.

    The TL,DR spoiled the ending, but the two affordable retro handhelds I could find featuring PICO-8-friendly resolutions are the TRIMUI Smart Pro and the Miyoo Mini v4. The v4 is particularly interesting to me because the original Miyoo Mini is the device that sent me (and many others) down this rabbit hole in the first place. Eventually, Miyoo couldn't keep up with demand for the Mini because they could no longer source the original display component (reportedly an OEM Blackberry replacement screen). So they slightly redesigned the Mini, critically (for the purposes of this discussion) swapping out the original 640x480 display with a 750x560 panel. Those 80 additional vertical pixels enable 4x integer scaling for PICO-8, as illustrated by this graphic from a post on Reddit⁸. The leftmost image is a screenshot of maximally integer scaled PICO-8 on a Miyoo Mini+, then on an original Miyoo Mini, followed by the v4, and finally an isolated screenshot of a comparable PICO-8 frame without black bars. That slight improvement in resolution really does make a difference. Disappointingly, the Miyoo Mini's lack of wireless connectivity options means no access to Splore. That leaves us with the TRIMUI Smart Pro, which I have never even seen in person, let alone used. I'm probably the wrong person to offer any recommendation here. But Russ from Retro Game Corps⁹ and TechDweeb¹⁰ both gave it positive reviews, and its 1080x720 display, responsive controls and decent performance check all the relevant boxes for this exercise.

    The other important-but-perhaps-not-essential feature is built in Wi-Fi. Sure, PICO-8 games are small, and easy to move around, and there are plenty of places to find them. (Including OP's game on itch.io. You should try it! It's fun!) So downloading game files on the web, doing the MicroSD card dance, and importing them manually on your handheld isn't the end of the world. But why would you do any of that when you could just use Splore? Splore is maybe the coolest thing about PICO-8. It's the hook that makes me open PICO-8 first when I turn on my RGB30 without any specific intention, just looking for something to play for a bit. The lack of wireless connectivity in the Miyoo Mini v4 may be a dealbreaker with this in mind, and the TRIMUI Smart Pro might therefore be the only direct RGB30 competitor, for now anyway.

    1. https://www.youtube.com/shorts/wT-8T71edmk

    2. https://github.com/liartes/retro8/releases/tag/retro8-trimui...

    3. https://www.lexaloffle.com/bbs/?pid=104423

    4. https://twitter.com/Z_Pocket_Game

    5. https://retrogamecorps.com/2020/11/12/guide-pico-8-on-retro-...

    6. https://shauninman.com/utils/screens/#src_screen:17,src_nn:1...

    7. https://www.youtube.com/watch?v=IUjJa1pA9tE

    8. https://preview.redd.it/3tg9khrr9cic1.jpg?width=1232&format=...

    9. https://www.youtube.com/watch?v=gUEED4ht3lQ

    10. https://www.youtube.com/watch?v=_36Sv5pFlr4

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts