Fantasy consoles are all the rage lately, and with good reason. They represent a return to the roots of game development, as well as a great environment for learning the more fundamental aspects of creating a video game. But what are fantasy consoles?
Before you can understand what a fantasy console is, you need to know what emulators are. For those of us a little more advanced in years, emulators are quite familiar, as they were the only way we could play the games from our childhoods without sourcing original hardware. These days we have the option to pay (again) for a version of those games that run on our phones or modern computers, but once upon a time, we would need an emulator. In fact, even today, emulators are often preferable, as modern ports of those classic games aren’t always true to the original, and some re-releases of classic games are actually packaged emulators.
Emulators create a software representation of original hardware, allowing the code from those original games to run as though it was plugged into the actual console it was designed for. In the beginning, these emulators would just try to run the game code as authentically as possible, but as the scene matured, additional features like being able to save a snapshot of the current state of the emulator were added—essentially adding save game functionality to games that never had it. Emulators started adding aesthetic features like being able to simulate the scanlines of an older CRT television, and these days you can even create dedicated emulator devices using hardware like the Raspberry Pi.
So, how does this relate to fantasy consoles?
The best analogy we have for what a fantasy console is, is essentially an emulator but for fictional hardware. It allows developers to make up their dream technical specification, not limited by what the physical hardware of the time could do.
There is an element of nostalgia, for sure. The combination of late Gen Xers and Millennials—including yours truly—now make up a significant portion of the online community, and the kind of hardware that is typically emulated or recreated speaks right to our childhoods, but there is more to it than that. The early days of consumer computing hardware—the Commodore 64s, Sinclair Spectrums, TRS80s, and many more—offered a much more involved experience. The user was much closer to the hardware, and that made learning the fundamentals much easier.
And, of course, it is fun!
Being able to change the look of a game by directly messing with a specific memory address is the kind of thing that you can’t do on modern computers without a great deal more knowledge than you would have needed back in the day. And, with all the layers of essential software between you and the hardware in a modern operating system, you could cause serious problems poking and peeking around like that. With the hardware of yore, the worst that would happen could be fixed with a quick reboot.
Of course, when you poke and peek with a fantasy console, you are not truly messing around at the lower, hardware levels, but the experience is the same, and you can immerse yourself in that retro hardware environment.
Examples of Fantasy Consoles
Okay, enough waxing on about why fantasy consoles are cool, let’s take a look at some examples you can find to play around with yourself.
If you’ve heard of fantasy consoles before, there’s a strong chance that you’ve heard of Pico-8. Like many fantasy consoles, Pico-8 is a full environment, complete with boot up screen and built-in code and sprite editors. Code is written in Lua, with plenty of documentation and a helpful community behind the console to help you get started.
You are limited to sixteen colours at one time, with a total pallet of thirty-two colours to choose from. Your resolution is a modest 128×128, and you have a whopping thirty-two kilobytes of memory to play with.
One of the more interesting aspects of Pico-8 is that games—or “carts”—are stored in .PNG files. We’re not talking about some custom format that happens to share the same extension as the image format, but actual .PNG files. If you look at a cart as an image, you will get a nice little image of a retro-styled game cartridge with the title and a screenshot on the front, but inside that image file is all the information for the game, code, sprites, music, and all.
After describing Pico-8, the easiest way to describe Pyxel would be to say it’s basically the same kind of deal but using Python, rather than Lua, as its coding language of choice.
To delve a little deeper, however, Pyxel is not quite as restrictive as Pico-8. For one thing, you get twice as many pixels to play with onscreen thanks to the 256×256 resolution. Another bonus for Pyxel is that it is open source.
TIC-80 follows the same basic blueprint that Pico-8 does, but with slightly different restrictions. For one thing, your resolution is 240×136, which is somewhat more reminiscent of popular gaming consoles like the Nintendo Entertainment System, and Sega Master System, rather than home computer systems like the Commodore 64.
Like Pico, you get a full environment that includes the code, sprite, and audio editor, and games can be packed up into a cross-platform player
If you’re looking for a platform to make your game development fortune on, fantasy consoles are very unlikely to be the way to go. There is at least one example of a fantasy console game being a big success—Celeste went from a Pico-8 game to a fully-fledged release—but generally speaking, fantasy consoles are more of a fun hobby than a means of developing a release-ready game.
That being said, there’s nothing wrong with a good hobby!