Other Virtual Consoles

We all know that Arduboy Emulator is the best virtual console on the internet thanks to @FManga but what other ones are out there?

Pico8 obviously but what other ones are out there that you’ve used and that you like.

What is your favorite virtual game console and why?

TIC-80 is a pretty nice one too and gets some more participation due to being open source. While not a console, PuzzleScript is also fairly popular for playing with 2D puzzle game ideas.

2 Likes

I like LGE and bitsy

2 Likes

CHIP-8 remains the original ‘virtual console’, and by far the easiest to implement (as long as you have 4KB of RAM to spare).

DCPU-16 from Notch’s aborted game 0x10c is also quite interesting.

It doesn’t really count as a virtual console, but one of the reasons I don’t like PICO-8 is because LÖVE does more or less everything PICO-8 does, but it’s free and open source.

I think ‘virtual console’ isn’t well defined anyway though. Or at least not enough to separate it from ‘virtual machine’.
(E.g. SWEET16 is a virtual machine, but what would it need to make it a ‘virtual console’?)

1 Like

I think just to have a designated end point or use case of making games.

Good point about pico8 not being free and open source.

Looking at doing a game jam for hackster and trying to see what platforms would work. I guess I never realized how valuable having an online emulator really is … I always viewed it as like a companion to the Arduboy or a way for people to show off their games but I see how much it really increases the accessibility.

I know people have built games entirely on the emulator… it’s really cool I think. Thinking more about this in the future…

1 Like

Without meaning to take this too far off topic…

Technically CHIP-8 and DCPU-16 aren’t exactly open source either, they exist more as specifications that people then implement. In a sense they’re closer to the Dewey Decimal Classification system, which is techincally proprietary and yet is implemented by thousands of libraries worldwide.

The difference is that because the implementations are open source, you’re free to disect them and use them how you want, whereas with PICO-8 you’re not allowed to peek behind the curtain.

The Arduboy is also different in that respect - anyone can peek behind the curtain and implement the library, but the hardware itself still sells reasonably well. Those who can build their own, will, but those who can’t or don’t want to build their own will typically buy the official hardware instead.

Though that does raise the question of what effect it has on sales.

  • Does the emulator make people more or less likely to buy an Arduboy?
  • How many people who use the emulator already own an Arduboy, how many go on to buy one, and how many never buy an Arduboy?

Until you can answer those questions with reasonable certainty, you can’t be sure whether it’s doing more harm than good or more good than harm.

1 Like

To throw another one out there: Leikr (also on Itch).
(Two of the creators, Torbuntu and PixelBath, frequent another forum that I also frequent.)

Those are good marketing questions don’t have a clue how I’d ask it. Although, I’ve been considering doing the “great Arduboy marketing survey” where I ask a bunch of these questions to people who’ve ever ordered from me. I’m also pretty interested to know how many people have gone on to build hardware or games that made money as a result of learning Arduboy.

1 Like

Check out this for more examples: GitHub - paladin-t/fantasy: A curated list of available fantasy consoles/computers.

And for something a bit unusual, uxn has an interesting “retro Japanese computer feel” to it: 100R — uxn

2 Likes

There’s another thing about PICO8. There is no limit to the performance of the PICO8 fantasy console. Therefore, many PICO8 programs require huge CPU performance. Therefore, it is not easy to implement PICO8 in portable hardware, especially using MCUs.

As I understand it the game uses a system of like coins or credits to denote how much you are “spending” on the performance of the system beyond it’s original limits? Like I think there is a base restriction on cpu cycles and memory but you can go beyond that.

It’s something I’ve wanted to do forever is take a selection of the best pico8games that are not resource hogs, cross compile them and release them on mobile hardware. Talked about it many times but unfortunately I’m not smart enough to figure that out enough to justify building the hardware for it.

If the chip shortage would end, getting a 128x128 IPS LCD version of the micro-arcade installed with the RP2040 I think could be a very interesting target to do something like this. But that’s a whole other can of worms.

You wouldn’t actually need to ‘cross compile’ them.

In most Lua implementations, including PICO-8, programs compile to bytecode, so you’d only need to replicate the environment - i.e. compile a virtual machine that can process the instructions and provide implementations of the necessary library functions.

(I’m under the impression that PICO-8 possibly uses a different bytecode format to the official Lua implementation. If so, that complicates things, if not then you could use the official Lua implementation as a base.)

Once you’ve implemented the virtual machine and the library functions, that’s more or less the whole job done.

With access to the source code of the games, you wouldn’t even need to interpret the bytecode, you’d only need to replicate the library and however PICO-8 does its arithmetic. (I’m under the impression it’s a form of fixed point rather than floating point as most Lua implementations are, but I don’t know what format.)

As I’ve mentioned before, the biggest problem with porting PICO-8 isn’t a technical one, it’s a legal one. It’s closed source and attempts to reverse engineer it are likely in breach of the licence.

As of the Google vs Oracle case (something that hadn’t been decided last time I brought this up) it’s possible you could get away with replicating the API if you’re brave enough to argue ‘fair use’ in court. But only the API, nothing more.


Honestly, I think that instead of trying to replicate PICO-8 it would be easier to make something similar - something that uses Lua for scripting, with a similar (but not identical) library and possibly a few modifications (e.g. fixed point arithmetic) to make it run better on low-end hardware. If nothing else, there would be fewer legal issues involved.

PICO-8 isn’t the only thing that’s achieved a Lua-scripted game environment, it’s merely the most well known example.

Here’s a few others:

https://www.computercraft.info/

ComputerCraft is how/why I learnt Lua in the first place - before I’d ever even touched C++. A handheld ComputerCraft-inspired console would be relatively easy to create because its screen is entirely text-oriented (i.e. it behaves like an old terminal, or the old VGA text-only screen modes) and it uses unmodified Lua.

CC Tweaked is basically ComputerCraft with added extras.

I’ve never tried PV8, but it looks very much like PICO-8 to me.

LuaG is one I just stumbled upon, I have no idea how well it works, but it’s open source at least, so you can do more or less what you want with it as long as you follow the licence.

(And conviniently my including of these links puts my response back on-topic.)

Yeah Pixel Vision 8 seems to be an open source version of Pico8.

There are already portable pico8s in the world. Whatever the case, the gaming industry is a very competitive place, even indie.

As far as I can see, there is a pico8 for linux. So it is enough to take a ready portable console that supports linux and install it there and on top of it the native pico8 software. Most of the inexpensive consoles designed to emulate snes/nes/gba will do…

Unfortunately, they don’t make those anymore. The company that made them became insolvent in 2018 - an example of what happens when a console doesn’t make enough money to stay afloat (depsite being relatively popular).

Yes, but then you need something powerful enough to actually run Linux. Theoretically PICO-8 (or at least Lua) ought to be able to run on something less powerful than what you’d need to run Linux.

I was under the impression that the point was to try to run it on lower-spec hardware.

As you say, anything that can run Linux will work, including anything based on Raspberry Pi. The PICO-8 website says as much:

PICO-8 is tiny to download, easy to install, and will run on almost anything! To use PICO-8, you’ll need either Windows, a Mac, Linux (i386 / amd64), or a Raspbery Pi (pictured) with ~700MHz CPU. Turn your old unused netbooks or microcomputers into PICO-8s!

(I think 700MHz might even be an overestimate for less resource intensive games.)

I reiterate what I said before: the real barrier is the legal situation, not the technology.

I would say that the real barrier in need and originality )
pico8 is probably the most popular fantasy console in the world today. And we can see that making portable hardware is not difficult, but communities do quite well without it. They don’t seem to need it very much. Speaking of originality I mean that the main pico8 ecosystem is built and operated and owned by lexaloffle. Any activity in this area is to the advantage of lexaloffle.

One I was playing around lately is microstudio
It’s similar to pico 8 but it runs completely on browser
Also they just got an update for 3D games

(I’ll post the lnk tomorrow, don’t know how to do it from phone)

Edit:
aha!!! i remembered!
here’s the link https://microstudio.dev/

1 Like