All the latest version and update information can be found on the changelog page.

R-cade is a simple, retro, game engine for the Racket programming language with a few, specific goals in mind.

Designed for Kids

It is as simple as QBASIC was for me when I was learning to program oh-so-many years ago. But, as they become more comfortable, they can expand to a whole world of possibilities and learn some very powerful concepts provided by Racket.

No External Assets

You will never find asset loading code in R-cade (e.g. sprites, sounds, levels, etc). This is for two reasons:

  1. Often, what holds kids back is the presumption that they can’t create good assets. Or they lack access to the tools to make them.

  2. Sprites, sounds, etc. require added libraries that abstract away what’s really taking place. I want to expose the wires.


Those of us who grew up programming the Trash-80, C64, Atari 2600, GameBoy, NES, … learned a lot about VRAM, wave functions, virtual registers, etc. I want to expose kids to these in a safe environment where they can experiment without worrying about crashing.


With these goals in mind, here are the main features of R-cade:

  • Locked framerate with simple game loop
  • 16 color palette with 1-bit draw operations
  • Simple input controls and user-defined action bindings
  • 16-bit, PCM sounds with wave function and envelope
  • 16-bit, PCM music with wave function
  • Optional fullscreen, CRT shader

I also have a roadmap of features I’m working on.


If you think R-cade is for you, head over to the setup page and then read the tutorials to get up and running.