Skip to main content
GameDev.net gamedev.net

Videos on game programming in a minimalist language similar to Forth.

Started by pabloreda Sep 11 at 11:58 PM 3 replies 300+ views
Original Post
pabloreda
pabloreda

I’m making videos of recreational programming sessions where I build video games using my own minimalist language.
I’ve already uploaded episodes covering a version of Boulder Dash (a famous classic game), and I’m currently working on series for two original games.

For the past few years, I've been developing a minimalist, self-hosted stack machine environment and programming language heavily inspired by Chuck Moore’s ColorForth and the broader Forth philosophy.

The core motivation behind r3 was simple: zero bloat and instant feedback. Modern game development often requires multi-gigabyte engines, complex toolchains, and heavy standard libraries. I wanted to see how far I could push practical game development in the opposite direction—building a completely self-contained, live-coding creative suite with zero external dependencies beyond a thin C abstraction.

Technical Highlights

  • Ultra-Minimalist VM: The core engine (r3evm) is written in plain C99 and compiles down to an executable of ~40 KB. It runs seamlessly on Windows and Linux.

  • ColorForth-Inspired Semantics: Words carry structural/execution metadata rather than relying on heavy, complex syntax parsing. It uses concatenative, stack-based logic to keep execution fast and memory footprints negligible.

  • Self-Hosted & Live Environment: Running the binary directly boots into an integrated development suite (IDE, dictionary browser, code editor, and live-coding tools) written in r3 itself.

  • Instant Iteration: Because the VM compiles and executes code in milliseconds, game loops and graphics can be modified and tested on the fly without waiting for build pipelines.

  • Graphics & Multimedia: Native dynamic library support (.dll / .so) interfacing with SDL2 for sprite rendering, tilemaps, fonts, audio, and custom GLSL shader pipelines.

Quick Start (No Setup Required)

I wanted friction to be absolute zero for anyone curious enough to test it out:

  1. Windows: Download the release zip from GitHub, extract, and run r3.exe. No installation, no environment variables, no toolchains.

  2. Linux: Requires standard SDL2 libraries (sudo apt install libsdl2-dev). Download the binary and launch ./r3lin.

Running the executable without arguments boots straight into the interactive system containing built-in demos, games, and tools. You can also run standalone scripts via CLI: ./r3lin your_script.r3.

GitHub Repository: https://github.com/phreda4/r3

I'd love to hear your thoughts on the VM design, stack-based graphics architectures, or the general trade-offs of ColorForth-style systems!

Youtube channel: https://www.youtube.com/@pablohreda

bvanevery
bvanevery

pabloreda wrote:

Windows: Download the release zip from GitHub, extract, and run r3.exe. No installation, no environment variables, no toolchains.

These directions are wrong. Your GitHub has 1 release entitled "onyx demos for ia", dated 7 months ago. It does not contain the r3.exe you speak of. Since your goal is low to no friction, you'll want to correct this.

It looks like what you meant to say is, clone or download the entire Git repo. That's different from a RELEASE; "release" has a specific meaning.

r3.exe does run in Windows 11 when I click on it, so so far so good.

gamedesign-l pre-moderated mailing list. Preventing flames since 2000! All opinions welcome.
pabloreda
pabloreda

Thanks for taking the time to try it out.
I’m not using the "release" feature; you just need to download the repository: click the green "<> CODE" button and then "Download ZIP." I’ll fix that label—since I’m constantly adding things, I don’t want to create a release every two days.

bvanevery
bvanevery

Looks better at the repository now, there's no misleading "release" thing on the right sidebar.

I would further suggest editing your original post, in case anyone else comes through here at 100 miles per hour. Just say "download the repository", don't talk about releases. Don't explain anything about how to download the repository either - if they don't know how to use GitHub, they're not your target audience.

And similar edits if you've posted your work on any other forum.

gamedesign-l pre-moderated mailing list. Preventing flames since 2000! All opinions welcome.
Sign in to reply to this topic.