Fantasy consoles explained: CHIP-8, TIC-80 and WASM-4
Most of the platforms on FredyGames were real machines: consoles and computers that sat under televisions and on desks. A few of them never existed as hardware at all. CHIP-8, TIC-80 and WASM-4 are virtual machines, designed from the start to run in software, with screens, sound chips and memory sizes that their creators simply decided on. People call them fantasy consoles, and they host some of the most inventive small games around. This guide explains what they are, how each one came about, and which of their games to play first.
What is a fantasy console?
A fantasy console is an imaginary computer. It has a fixed specification, just like a real console: a screen of a certain size, a palette of a certain number of colours, a set of buttons, a limit on how big a game can be. But instead of chips on a circuit board, it exists as a program, an emulator for a machine that was never built.
The limits are deliberate. A modern computer can do almost anything, which can be paralysing for someone who just wants to make a small game. A fantasy console narrows the choices: you get sixteen colours, or four, a small screen and a fixed amount of space, and everyone making games for it works within the same rules. Many fantasy consoles also bundle everything needed to make a game, such as a code editor, a sprite editor and a music tool, so there is nothing else to install.
The term became popular in the mid-2010s, largely thanks to PICO-8, a commercial fantasy console with a 128×128 screen and sixteen colours. Its success inspired a wave of others, including the free and open-source TIC-80. But the idea itself is much older: in a sense, CHIP-8 was the first fantasy console, nearly four decades earlier.
CHIP-8: a virtual machine from 1977
CHIP-8 was created by Joseph Weisbecker at RCA and first used on the COSMAC VIP, a hobbyist computer kit, in 1977. Writing programs for such machines in raw machine code was tedious, so CHIP-8 offered a simpler instruction set that a small interpreter would run. It was, in modern terms, a virtual machine.
The specification is tiny:
- A 64×32 pixel screen, in two colours: each pixel is on or off.
- 4 KB of memory, with the first 512 bytes historically taken by the interpreter itself.
- Sixteen 8-bit registers, an address register, a small stack and two timers that count down sixty times per second, one for delays and one for a buzzer.
- A 16-key hexadecimal keypad, laid out in a four-by-four grid.
- About 35 instructions, each two bytes long.
Drawing works by flipping pixels: a sprite is combined with what is already on screen, and the machine reports when a lit pixel is turned off. That doubles as collision detection, but it also means objects that move are erased and redrawn, which gives many CHIP-8 games their characteristic flicker.
CHIP-8 found a second life around 1990 on graphing calculators, where an extended version called SUPER-CHIP added a 128×64 high-resolution mode and other improvements. Because different interpreters handled some instructions slightly differently, games written for one may misbehave on another. These differences are known as quirks, and a good emulator lets each game choose the behaviour it was written for. Our player sets them per game, using the settings recorded by the community archive the games come from.
XO-CHIP and Octojam
In 2014 John Earnest released Octo, a friendly high-level assembler and online environment for CHIP-8, along with XO-CHIP, a further extension. XO-CHIP adds a second drawing plane, which allows four colours, raises the memory to 64 KB and provides a more flexible sound channel, while staying faithful to the spirit of the original.
Octo also gave the scene an annual event: Octojam, a game jam held every October. Most of the CHIP-8 games on FredyGames were made for it, and their authors placed them in the public domain or under similarly open terms.
CHIP-8 games to start with
All of these are on the CHIP-8 platform page.
- An Evening to Die For is a murder mystery in a mansion, with the victim, weapon and culprit shuffled every game. A whole detective story on an XO-CHIP machine.
- Into the GarlicScape is a miniature roguelike written by John Earnest as an example for Octojam, and a complete game in its own right.
- Black Rainbow sends you through a randomised underworld of 25 rooms against the clock.
- Super NeatBoy is a short platformer made for speedruns, and Skyward is a vertical climb through randomly assembled areas.
- Civiliz8n compresses a city-builder into a few minutes of tile placement, and Rockto is a turn-based digging puzzle where boulders fall when you remove the dirt beneath them.
TIC-80: a full studio in a tiny computer
TIC-80, first released in 2017, imagines a 1980s-style computer with a 240×136 screen and a palette of sixteen colours, which each game can redefine. Sound comes from four channels driven by a built-in synthesiser. Up to four gamepads with eight buttons each are supported, as well as a mouse and keyboard.
What makes TIC-80 special is that the whole development environment is part of the console. Press Escape and you find:
- a code editor, with Lua as the default language and others such as Fennel and JavaScript available;
- a sprite editor for drawing the game's tiles and characters;
- a map editor for laying out levels across a large world;
- a sound effect editor and a music tracker.
A finished game is a single cartridge file containing the code, graphics, map and music. TIC-80 itself is open-source software under the MIT licence, with an optional paid "Pro" build that adds extra features for developers. That openness matters to us: on many fantasy-console sharing sites, cartridges are posted without a licence or under non-commercial terms, which a site with ads cannot use. The TIC-80 games here are ones whose authors chose a free licence themselves.
TIC-80 games to start with
All of these are on the TIC-80 platform page.
- 8 Bit Panda is a classic side-scrolling platformer across six islands, written in Lua, and the most traditional "console game" of the set.
- this is my mech is a short comedy adventure about a giant robot team that cannot agree on who forms the head, written in Fennel for a Lisp game jam.
- GORGOION packs a small metroidvania, with abilities that open new areas and a fairy companion, into one cartridge.
- Amethyst Waters is an underwater shoot 'em up with procedurally generated caverns, and Cauliflower Power is a stealth twist on box-pushing puzzles.
- Urbanity is a turn-based city builder, and DOT DASH PIT lets you destroy enemies by tapping out letters in Morse code.
WASM-4: a fantasy handheld built on WebAssembly
WASM-4, released in 2021, takes the idea in a different direction. Its specification is even tighter than TIC-80's:
- a 160×160 screen with only four colours, chosen by each game;
- a d-pad and two buttons per player, with up to four players, plus a mouse;
- 64 KB of memory, and cartridges no bigger than 64 KB;
- 1 KB of storage for saved data;
- four sound channels: two pulse waves, a triangle wave and noise.
The other key idea is in its name. WASM-4 games are WebAssembly modules, and WebAssembly can be produced by compilers for many languages. Instead of one built-in language, WASM-4 lets developers bring their own: C, Rust, Zig, Go, Odin, Nim, Nelua, AssemblyScript and more. It provides no editors, so you use your usual tools and the console provides a small, fixed target.
Game jams have been central here too. Several of our WASM-4 games were written for the official WASM-4 jams in 2022, in a week or less.
WASM-4 games to start with
All of these are on the WASM-4 platform page.
- Tau Flight Simulator is a genuine flight simulator, with a physical model of the wings and control surfaces and a cockpit view, written in Zig. It is startling on a four-colour, 160-pixel screen.
- ZxZ is a science-fiction puzzle game set in one large connected station, where walking into things pushes, triggers and redirects them. Written in C in four days for the first WASM-4 jam.
- One Slime Army is a one-hit arena survival game in which your shield reflects enemy shots, and Micro Quest! is a compact seven-room tower climb written in Nelua.
- Explore the Grotto is a short top-down adventure where your choice about the cave's bats decides the ending, and Glowfish is complete chess, with a computer opponent, written in Rust.
Why limits help
It is tempting to see these specifications as handicaps, but most people who make games for fantasy consoles describe them the other way round. A fixed palette means you never agonise over colours. A tiny screen means every pixel has a job. A size limit forces a game to be about one idea, explored well. And because everyone shares the same constraints, games are easy to compare, learn from and remix.
The limits also make these games quick to understand as a player. Most of them can be learned in a minute and finished in an afternoon, yet the best ones keep revealing new depths. Playing a few CHIP-8, TIC-80 and WASM-4 games side by side is a good way to see how much design can fit into very little space.
Playing them here
CHIP-8 games run in the emulator from Octo, TIC-80 games in the official TIC-80 web player and WASM-4 games in the official WASM-4 runtime. Each game page lists its controls, and saves stay in your browser. For practical tips on keyboards and gamepads, see playing retro games in your browser. To learn how we confirm each game may be shared, read how we check licences, and if you like small hardware with big ideas, continue with tiny open consoles: Arduboy and Uzebox.