less_retarded_wiki/fantasy_console.md
2024-04-30 19:29:49 +02:00

4.4 KiB

Fantasy Console

Fantasy console, also fantasy computer, is a software platform intended mainly for creating and playing simple games, which imitates parameters, simplicity and look and feel of classic retro consoles such as GameBoy. These consoles are called fantasy because they are not emulators of already existing hardware consoles but rather "dreamed up" platforms, virtual machines made purely in software with artificially added restrictions that a real hardware console might have. These restrictions limit for example the resolution and color depth of the display, number of buttons and sometimes also computational resources.

The motivation behind creating fantasy consoles is normally twofold: firstly the enjoyment of retro games and retro programming, and secondly the immense advantages of simplicity. It is much faster and easier to create a simple game than a full fledged PC game, this attracts many programmers, simple programming is also more enjoyable (fewer bugs and headaches) and simple games have many nice properties such as small size (playability over web), easy embedding or enabling emulator-like features.

Fantasy consoles usually include some kind of simple IDE; a typical mainstream fantasy console both runs and is programmed in a web browser so as to be accessible to normies. They also use some kind of easy scripting language for game programming, e.g. Lua. Even though the games are simple, the code of such a mainstream console is normally bloat, i.e. we are talking about pseudominimalism. Nevertheless some consoles, such as SAF, are truly suckless, free and highly portable (it's not a coincidence that SAF is an official LRS project).

Some fantasy consoles may blend with open consoles, e.g. by starting as a virtual console that's later implemented in real hardware.

Notable Fantasy Consoles

The following are a few notable fantasy consoles.

name year license game lang. specs. comment
CToy 2016 zlib C 128x128 suckless
IBNIZ 2011 zlib own 256x256 32b, 4M RAM for demos, by Viznut
LIKO-12 2016 MIT Lua 192x128
MEG4 2023 GPL C, Lua, ... 320x200 8b, 576K RAM
microw8 2021 unlicense webassembly 320x240 8b, 256K RAM
PICO-8 2015 propr. Lua 128x128 4b likely most famous
PixelVision8 2020 MS-PL (FOSS) Lua 256x240 written in C#
Pyxel 2018 MIT Python 256x256 4b
SAF 2021 CC0 C 64x64 8b LRS, suckless
TIC-80 2016 MIT Lua, JS, ... 240x136 4b paid "pro" version
Vircon32 ??? C, assembly 640x360, 16M RAM aims to be implementable in HW
uxn 2021 MIT Tal very minimal

Apart from these there are many more (MicroW8, PX8, WASM-4, ZZT, ...), you can find lists such as https://paladin-t.github.io/fantasy/index. There even exists a Brainfuck fantasy console, called BrainFuckConsole74.

See Also