Beep8 and BeepMini – a Retro Games Library

I’ve always had a soft spot for retro games. Born in the 80s, I was lucky enough to be raised on them—though they weren’t retro at the time. For a while now, I’ve wanted to build something that makes rapid game creation easy. At first, I imagined a Mario Maker-style tool, but the more I thought about it, the more I realised I needed a solid game engine to build on top of. So, I decided to create an open-source retro games library, inspired by fantasy consoles like Pico-8.

A screenshot of my game Chomper, a Pacman inspired game with skeletons chasing a blob that just wants to eat all the dots.

A screenshot of my game Chomper, a Pacman inspired game with skeletons chasing a blob that just wants to eat all the dots.

I’m always on the lookout for interesting projects, and last year I stumbled across QX82, a fantastic open-source JavaScript library. It did a lot of what I needed, but the structure didn’t quite match my style. So, I forked it and started turning it into something of my own—and that’s how Beep8 was born.

What drew me to QX82 was its use of textmode graphics, using a black-and-white tileset to build visuals. The graphics are loaded once and then recoloured so each tile has a foreground and background colour. This gives loads of flexibility with very few assets. It also creates a natural retro feel, thanks to the limited colours and chunky tiles. I also loved the idea of making games with only built-in assets—no need to create custom artwork (despite being a designer). That meant I could focus purely on gameplay.

One of my early changes was adding support for flexible pixel tiles, so Beep8 could be used for all sorts of games. I was inspired by artists like MrMo Tarius, Batfeula, and others. I wanted tiles that would work in many different settings—platformers, puzzle games, dungeon crawlers, whatever.

A screenshot of Crate Crew, a crate pushing game where you control from 1 to 4 different characters trying to organise the warehouse.

A screenshot of Crate Crew, a crate pushing game where you control from 1 to 4 different characters trying to organise the warehouse.

While digging around online, I also found Kenta Cho’s (ABA Games) minimalist library, Crisp. Kenta is well known in indie circles for his stripped-back, fast-paced shooters—especially TUMIKI Fighters. Crisp is written in JavaScript and designed to make games with minimal effort. Title screens, music, sound effects—it’s all baked in, with no external assets. I loved that approach and wanted something similar for Beep8.

A big part of the project has been the tilemap editor and loader I built. Drawing and loading elements is now both fast and fun. These tools will be available to everyone eventually.

A screenshot of the Beep8 level editor/ graphic editor tool showing the tools and tiles on the left, and what has been drawn on the right.

A screenshot of the Beep8 level editor/ graphic editor tool showing the tools and tiles on the left, and what has been drawn on the right.

I also wanted a games arcade—a home for my beep8.com creations. Inspired by last year’s release of UFO50, I thought it’d be fun to “find” an old console and restore its games so others could play them on modern hardware. That led to BeepMini. I found the console in my grandfather’s attic and have been restoring games ever since.

A screenshot of my game Tumble, a heavy debt is owed to Tetris for the inspiration.

A screenshot of my game Tumble, a heavy debt is owed to Tetris for the inspiration.

I’m loving working on Beep8 and BeepMini—I haven’t felt this inspired since I first started building Brush Ninja.

If you’re curious or want to join the adventure, the Beep8 code is on GitHub, the docs are at beep8.com, and you can play some games at beepmini.com.

How was it for you? Let me know on BlueSky or Mastodon

Link to this page

Thanks for reading. I'd really appreciate it if you'd link to this page if you mention it in your newsletter or on your blog.

Related Posts

03 Aug 2016

Legend of Dad – A HTML5 Game made with Phaser

In April I entered the #LowRezJam, a game jam about making a game in a limited resolution. I had to make a game that fit within a screen that was 64×64 pixels. Quite small. I spent 5 days on it....
30 May 2005

My Next Game

I have been working on my next game for a while now. It’s going to be an updated version of Bubble Bomb. This may seem like a strange choice since Bubble Bomb is essentially ‘Yet Another Colour Matching Game’ (YACMG?)....
02 Oct 2005

Dev Diary : Game Design

Before working out what sort of game to make I need to find out what is in a design document. These are new to me so a quick Google threw up a handful of sites. The most likely was found...
27 Oct 2017

Pixel Peak – a Teeny Weeny Skiing Game

The start of August this year brought with it the #LowRezJam. A game jam where game developers make games with a size limit of 64×64 pixels. That’s really small. Really really small.I took part last year, and really enjoyed it,...
06 Sep 2005

What I do at Miniclip

I do lots of different things during my day job at Miniclip, web design, graphic design, animation, and programming – I have to turn my hand to whatever is required, and I seem to be working on something different every...
29 Jun 2005

Video Game Usability

Usability is an integral part of software development and has been so for the past 20 years. For one reason or another, usability has not gained similar popularity in game development. This, however, is about to change.There is an article...