You may be wondering what I’ve been doing this year since there’s been no posts. Readers, it’s because I’ve found something wonderful. I’ve found fantasy consoles. What is this, you may ask? I’ll tell you. Basically it’s a full game development environment, a bit like a retro emulator. The difference between a retro emulator and a fantasy console is that crucially, the fantasy console replicates the programming constrictions of something that never actually existed. Typically, a fantasy console game development environment also includes in one complete package everything you need to create games – a text editor to write your code, a sprite and map editor to create your graphics and maps/levels, a sound effects editor and a music editor.
Importantly, because these things emulate the hardware restrictions of some old piece of hardware there are various limitations to what you can do. Each fantasy console product (which we’ll get to in a minute) has a standard set of artificially imposed development constraints, such as restricted graphical resolutions, color palettes, RAM usage, or storage space. Often, sprites can only be a certain size with certain colours, you can only have so many lines of code before the memory is “full”, things like that.
And it’s fantastic.
Part of the allure of these things is that, due to the limitations each system imposes, your games can only be so big or complex. This not only forces you to think about what you really want to do but it also means that projects become completable….there’s literally no feature creep because there’s no room in the tiny runtime for it. It also means that, like the good old days of C64 and ZX Spectrum, games developed with each system tend to end up sharing the same aesthetic. All fantasy consoles seek to emulate the aesthetics and community of 1980s home computing for a modern audience.
So if you want to recreate the simple games of your youth, just enjoy the chunky pixel aesthetic or are simply short on time or knowledge and want to create your own little video games, here is a list of the most popular fantasy console environments available at the time of writing.
The PICO-8, first released in 2014 by Voxatron developer and creator Joseph “zep” White, is for “for making, sharing and playing tiny games and other computer programs.” This was the first “fantasy console” and is arguably the most famous. It comes with a (cut down) Lua interpreter for the code, a sprite and map editor, sound effects editor and music editor. The programs you create on PICO-8 can – ingeniously – be stored in a PNG image which PICO-8 will load happily that looks like an old video game cartridge with your game’s screenshot as the label. They can also be saved and distributed at *.p8 files. There is also an export feature for a Phaser-based HTML5 application so anyone can play what you’ve created. Native platform export binaries functionality is planned for the next release. PICO-8 has a token limit (the amount of code you can write) that is quite harsh but it keeps your ideas small-scale and it’s fun to see how much stuff you can squeeze into each game.
Cost: $14.99 USD.
Video Resolution: 128×128.
Palette: Fixed, 16-colour.
Export formats: HTML5/JS (browser), *.p8/*.p8.png cartridges (PICO-8 files). Native standalone binaries planned for 1.0 release (Win/Mac/Linux).
Built-in features: Code editor, Sprite Editor, Tilemap Editor, SFX Editor, Music Editor, Screenshot tool, GIF Recorder, and SPLORE (internet connected cartridge browser connected to the PICO-8 BBS where you can upload your creations)
Platforms: Windows, Mac, Linux, Raspberry Pi, PocketC.H.I.P.
The TIC-80 is a worthy adversary to the PICO-8 — with a wider, higher resolution display, a customizable 16-colour palette, 64k code (token) limit and up to 256 8×8 foreground sprites and 256 8×8 background tiles. The TIC-80 is a powerful fantasy console, although I would describe this as a fantasy computer to PICO-8’s fantasy console. It also works on Android! This would be my personal second choice after PICO-8.
Cost: Pay what you want.
Video Resolution: 240×136.
Palette: Customizable during development but fixed at runtime. 16-colour.
Export formats: HTML/JS (browser), *.tic cartridges (TIC-80 files). Native binaries (Win/Mac/Linux).
Built-in features: Code editor, Sprite Editor, Tilemap Editor, SFX Editor.
Platforms: HTML5/JS (browser), Windows (UWP), Mac, Linux, Android.
LIKO-12 is built on top of the rather awesome LOVE2D game engine which itself runs on Lua. This is basically an open source clone inspired by PICO-8 but without some of the limitations. It comes with a wider display, no token limits, more graphic memory and a different API…so while some code may be superficially similar to PICO-8, it’s different. But since it’s open source, it’s free baby!
Proprietary?: No, Open-Source.
Video Resolution: 192×128.
Palette: Fixed at runtime, 16-colour.
Export formats: *.lk12 cartridges (LIKO-12 files).
Built-in features: Code editor, Sprite Editor, Tilemap Editor, GIF Recorder.
Platforms: Windows, Linux, Mac, Android, iOS & Raspberry Pi through LÖVE2D.
PixelVision8 attempts to be all things really. Rather than defining itself as a fantasy console with specific, fixed limitations, the PixelVision 8 lets developers define the limitations they want to work within.
The PixelVision 8 currently offers a choice of four templates, each based on an existing 8-bit console like Sega Master System and NES. However, users aren’t restricted to these templates and they can change and expand the limitations as needed using the built-in development tools, which is a neat idea. The Pixel Vision 8 is still in early development right now, but it’s definitely one to watch.
Cost: $10.00 USD during early access. Will have free and pro versions after beta release.
Proprietary?: Open-Source API, proprietary official tools.
Video Resolution: Various, depending on settings & templates used.
Palette: Customizable during development, fixed at runtime .
Export formats: *.pv* files (Pixel Vision 8 files), other formats coming soon.
Built-in features: System Templates (NES/Famicom, Sega Master System, Game Boy, Sega Game Gear), Graphical File Browser, Display Configuration Tool, Sprite Editor, Tilemap Editor, SFX Editor, Music Editor.
Platforms: Windows, Mac, Linux.
So get crackin’. Choose your comfy development environment and start cranking out those games. You can play my first effort here.
I’ll get back to Linux stuff soon :-D I’m hoping the next version of PICO-8 has native binary support so I can create Linux versions for everybody.