Fantasy Consoles: What would the retro console of your dreams look like?
Tags: pico8, tic80, fantasyconsole, gamedev
Published: 2023-03-16 16:31:33

_A Brazilian Portuguese version is available [here](https://dev.to/marciofrayze/fantasy-consoles-como-seria-o-console-retro-dos-seus-sonhos-1hc3)._

---

In the mid-1990s I had my first contact with a computer: a [Gradient Expert](https://en.wikipedia.org/wiki/Gradiente_Expert) ([MSX](https://en.wikipedia.org/wiki/MSX) 1) of my older brothers. At the time it was already an old computer but I had a lot of fun. And it was in this computer that I wrote my first lines of code, using the BASIC language.

![Animation showing the startup of MSX and creating a very simple program] (https://dev-to-uploads.s3.amazonaws.com/uploads/articles/891n93ixks0j2idfxtlt.gif) 

![Photo of a Gradient Expert computer, released in 1985] (https://dev-to-uploads.s3.amazonaws.com/uploads/articles/51n2rmk3o40c8qyeqqvq.png)

A few years later I had access to a 486DX2-66Mhz running the Microsoft DOS operating system and Windows 3.11. But I never had that same MSX's era feeling again. Pressing the power button and in a few seconds being in a terminal, typing lines of code right away, has become somewhat nostalgic. After that, on all computers had to wait several minutes, use the mouse, click icons, wait several more minutes... 😮‍💨

With the evolution of technology it was natural to expect the experience to improve, but it was not what I **felt**. Of course the experience has somehow improved: more memory, better graphics, disk space, dozens of times faster processors... but the **feeling** was that everything got worse, that before everything was more fun. Typing _Run_ and pressing _Enter_ was much nicer than clicking an icon on the screen. But you can't slow progress. At some point I surrendered to Windows and it's mouse (after all I also wanted to play the latest game releases!).

Perhaps because of this nostalgic feeling, when I first opened a _Fantasy Console_ I was very excited! The terminal was similar to the one I was used to as a teenager. The games too: simple sprites, without too much visual and sound effects. It was like using a computer from the 80s again, but in a thousand times more organized, practical and fun environment. This was my first sensation when using [PICO-8](https://www.lexaloffle.com/pico-8.php).

![Animation showing loading and running a sample created using PICO-8] (https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvo07e38cedusxycg4dy.gif) 
In the animation above you can see PICO-8 running with its terminal screens and code, sprites, maps, sound effects and music editors. Everything you need to create your games with a retro style! 🕹️

## Definition 

The term _Fantasy Console_ was coined by Joseph White, creator of the first console of its kind, [PICO-8](https://www.lexaloffle.com/pico-8.php). According to the [PICO-8 FAQ](https://www.lexaloffle.com/pico-8.php?page=faq): 
> "A fantasy console is like a regular console, but without the inconvenience of actual hardware. PICO-8 has everything else that makes a console a console: machine specifications and display format, development tools, design culture, distribution platform, community and playership. It is similar to a retro game emulator, but for a machine that never existed. PICO-8's specifications and ecosystem are instead designed from scratch to produce something that has its own identity and feels real. Instead of physical cartridges, programs made for PICO-8 are distributed on .png images that look like cartridges, complete with labels and a fixed 32k data capacity."

## Advantages 

The main advantages of programming for a console that never existed is that real consoles like Atari 2600, NES, Master System and others were created in order to be as powerful as possible, spending the minimum required with _hardware_. This makes programming for these platforms not to be very beginner friendly, after all, this was never the intention. The focus was on major studios, with many professional game developers.

**Fantasy consoles** can afford not to worry about it so much. They do not need to be as fast as possible or worry about the _hardware_ production. Everything revolves around _softwares_. This makes the user experience much more enjoyable and a great way for beginners to enter the game development world.

## Limitations 

Every **fantasy console** imposes some artificial technical limitations. You will have to work with a lower video resolution, limited sound effects and music creation tools, reduced color palette, etc. At first this may sound like something very bad and it seems that it will be more difficult to program like this, but in practice these restrictions end up being very liberating and become one of the main attractions.

The goal is retro game development and the imposition of these limitations helps to maintain our focus. Besides, they force us to use more of our imagination. The end result is usually simple and fun to play games.

Each **fancy console** will impose its own restrictions. Games created with the PICO-8, for example, will have the following restrictions: 
- 128x128 pixel screen; 
- Palette of 16 colors; 
- 32Kb as the maximum "cartridge" size;
- Four sound tracks; 
- Lua programming language; 
- 256 8x8 _Sprites_; 
- Map with 182x32 _tiles_. 

There are other consoles that are even more limited than that! But also some way more flexible and powerful (and consequently more complex) systems.

## Some games developed for fantasy consoles 

### Celeste Classic 

You may have heard of a game called [Celeste](http://www.celestegame.com), available for Nintendo Switch, Playstation 4 and Xbox One. What you may not know is that it was based on an homonymous game (now known as Celeste Classic) developed by the same team. This original version was developed in 4 days in a _game jam_, using [PICO-8](https://www.lexaloffle.com/pico-8.php).

![Animation showing Celeste Classic game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8rt95drefvb84v4dnt9k.gif)
You can play Celeste Classic directly in your browser by going to [this page](https://www.lexaloffle.com/bbs/?tid=2145).

### Celeste Classic 2 

![Animation showing Celeste Classic 2 game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yhf8267cy1y1vssgdmwq.gif)

Celeste for Switch, PlayStation 4 and Xbox One don't have a sequel and the authors have said it probably never will. But to our joy, Celeste Classic has one! With new dynamics but the same high degree of challenge. You can play Celeste Classic 2 directly in your browser by visiting [this page](https://mattmakesgames.itch.io/celeste-classic-2).

### PakPok

![Animation showing the PakPok game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/36dwhepo80c5x8ik64s2.gif)

If you like platform games that mix puzzles and precision movements to advance to the next screen, you'll probably like [PakPok](https://www.lexaloffle.com/bbs/?pid=67558#p)

### NanoMan

![Animation showing the NanoMan game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijm0dhetta1sns9h534a.gif) 

Remember MegaMan (RockMan in Japan) from the NES console? I loved this game! And I love this version of NanoMan, inspired by this game. Another really cool game made using PICO-8. You can play it in the browser in [this page](https://www.lexaloffle.com/bbs/?tid=29017).

### Fetch Quest

![Animation showing the Fetch Quest game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufcvyomye2fnb8zvzcju.gif)
 
[Fetch Quest](https://lumpytouch.itch.io/fetch-quest) is another platform game where you also have to solve puzzles, but this time you're in the role of a dog!

This game was created using the [TIC-80](https://tic80.com).

### Everdawn

![Animation showing the Everdawn game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g2cnsnkx7if6ol3egko7.gif) 

While fantasy consoles are great for 2D platform creations, there are a myriad of other games of the most diverse styles! Among them is [Everdawn](https://lucentbeam.itch.io/everdawn). An RPG also created using the [TIC-80](https://tic80.com).

### And many others!

You can find more games created using PICO-8 [on this page](https://www.lexaloffle.com/pico-8.php) and others created for TIC-80 [on this](https://tic80.com ) and [on this other](https://itch.io/c/110298/games-made-with-tic-80) page.

## Programming language and development environment

Each **fantasy console** will have its own development tools. Some will allow you to use several different languages and allow you to program in external editors, even containing _plugins_ to program using the famous _VSCode_.
Others will require you to program in a more traditional and limited way, forcing the use of only the editing and programming tools built into the system.

## Which fantasy console to start with?

There is a huge amount of fantasy consoles (and computers). A list with a summary of the characteristics of each one is available [here](https://paladin-t.github.io/fantasy).

You have options that will allow you to program in JavaScript, Lua, BASIC, Python, among many others. Some consoles will restrict you a lot, others will leave you very free.

Because there are so many options, some similar and some very different, it is very difficult to choose which one to start with. So I'll leave here two suggestions for you: one that needs a license to use and one free.

### PICO-8

My favorite **fantasy console** is still [PICO-8](https://www.lexaloffle.com/pico-8.php). This was the first project of its kind and the author managed to keep all the initial philosophy. It's not the most powerful but that's exactly the beauty of this project!

To develop your games you will use the famous [Lua programming language](https://www.lua.org) and you will have at your disposal a very simple editor to use. In it you'll create your codes, your _sprites_, maps, sound effects and music: everything already included, very intuitive and easy to use.

But this is proprietary software. At the time of writing this article, the license costs $14.99. And you can choose to pay $5 more and also receive a copy of the _alpha_ version of [Voxatron](https://www.lexaloffle.com/voxatron.php), a **fantasy console** for 3D gaming that it is still being developed by the same team as PICO-8.

While there are rumors that they are working on a mobile version, PICO-8 is currently only available on major _desktop_ platforms (Windows, Mac and Linux).

### TIC-80

[TIC-80](https://tic80.com) is another popular **fantasy console**. It is more versatile than the PIC-8 and in addition to supporting the main _desktop_ platforms, it also has [an Android version](https://play.google.com/store/apps/details?id=com.nesbox.tic ). That's right! You can run and create your games on this **fantasy console** right from your mobile phone!

Another very positive point of TIC-80 is that it is _open-source_ (source code available [in this github repository](https://github.com/nesbox/TIC-80)) and that it can be downloaded for free.

![TIC-80 demo](https://tic80.com/img/demo.gif) The animation above was taken from the website [tic80.com](https://tic80.com).

---

And you? Have you ever developed games with a retro style? What are your favorite tools? Tell me about your experience in the comments!

## References
- [PICO-8 Official Page](https://www.lexaloffle.com/pico-8.php)
- [TIC-80 Official Page](https://tic80.com)
- [_Fantasy video game console_ page on Wikipedia](https://en.wikipedia.org/wiki/Fantasy_video_game_console)
- [PICO-8 Official Twitter](https://twitter.com/lexaloffle)
- [Celeste game page on Wikipedia](https://en.wikipedia.org/wiki/Celeste_(video_game))
- [Games made with TIC-80](https://itch.io/c/110298/games-made-with-tic-80)
- [Voxatron, a fantasy console for 3D games](https://www.lexaloffle.com/voxatron.php)
- [List containing various fantasy consoles and computers](https://paladin-t.github.io/fantasy)

---

Did you like this text? Checkout my other articles at: [https://segunda.tech/tags/english](https://segunda.tech/tags/english) and follow me on [twitter](https://twitter.com/marciofrayze).