DragonRuby Game Toolkit

DragonRuby Game Toolkit is a professional grade 2D game engine. It's tiny (~3.5MB), fast, and cross-platform (including consoles and mobile). Ryan C. Gordon (Wikipedia) put together a 5-minute intro to DragonRuby Game Toolkit which shows the engine's hotload and deployment capabilities:

What Sets DragonRuby Game Toolkit Apart?

Zero Dependency Install

We've created a custom multi-level runtime specifically tuned for building games. There are no outside installers or OS level prerequisites. Everything is self-contained. Even a Raspberry Pi can be used to build games.

We handle the compilation, packaging, and execution of your code, letting you concentrate on what matters.

Indie and Community Focused

We understand the challenges that indie devs face (the creators of the engine are indie game devs themselves). We want you to succeed and ship your game. Our Discord Channel is very active and there is always someone around to help.

Editor Agnostic

We don't vendor-lock you into an IDE (and by extension we don't collect usage data about your). You can use whatever editor you like. All commands to build are accessible via a simple Command Line Interface.

Lean and Fast

Optimized for size and speed. This is not the same Ruby you'd use for building web apps with Rails (far from it).

DragonRuby is powered by highly optimized C code written by Ryan C. Gordon. He is one of the core maintainers of libSDL and has worked on many critically acclaimed games (Psychonauts, Braid, Quake, and Unreal Tournament to name a few).

It's been battled tested by indie game creator Amir Rajan who's already released games with it to the Nintendo Switch. It powers real world games that have amassed millions of downloads (The New Yorker).

Oh, and it's tiny. Like really tiny. The entire toolkit is ~3.5 megabytes.

Cross Platform

Turn key builds for Windows, MacOS, and Linux with seamless publishing to Itch.io.

DragonRuby targets every platform: PC, Mac, Linux, Web Assembly, iOS, Android, Nintendo Switch, XBOX One, and PS4 (console compilation requires a business entity, NDA verification, contact Amir at amir.rajan@dragonruby.org for more info).

Intuitive, Data-Oriented APIs

Dirt simple APIs capable of creating complex 2D games. Game Toolkit keeps you moving fast with hot-loaded code. You'll see changes in real time and receive instant feedback without having to rebuild. The in-game Console let's you make quick state changes and execute code on the fly. Hello world is just one file and one method.
# Define a tick method in main.rb which will be executed at 60hz.
def tick args
  # Render a label at the top left showing the current tick count.
  args.outputs.labels << { x: 10, y: 10.from_top, text: "#{args.state.tick_count}." }

  # Render a sprite at the bottom left
  args.outputs.sprites << { x: 10, y: 10, w: 100, h: 100, path: 'player.png' }

  # If the mouse is clicked, play a sound.
  args.outputs.sounds << 'fx.wav' if args.inputs.mouse.click

Online Sandbox

You can play around with the engine using our Online Sandbox. The source code for the sandbox is available on GitHub if you want to run a local instance of the website. You can use the sandbox to go through the free game development course at WNDX School.

Limited Time Discount

For a limited time we are running a deep discount for the Professional License (as a thank you to all of our early supporters). Your subscription will always be the discounted amount as long as you keep it active.

Income assistance is available for those that cannot afford to pay (more information about that at the bottom).

$49.99 one time
✓ Windows
✓ Linux
✓ Web Assembly
✓ Raspberry Pi
✓ Itch.io Automation
Professional (Early Access Discount)
$239.99/year $42.00/year
✓ Windows
✓ Linux
✓ Web Assembly
✓ Raspberry Pi
✓ Itch.io Automation
✓ Early Access to New Features
✓ C Extensions
✓ iOS (Requries MacOS Catalina+, Device, and Apple Developer Account)
✓ Android (Requires Device or Android SDK + Emulators)

Free Unrestricted Standard License

You are eligible for a free license if any of the following items pertain to you:

  • Your income is below $2000 (USD) per month.
  • You are under 18 years of age.
  • You are a student of any type: traditional public school, home schooling, college, bootcamp, or online.
  • You are a teacher, mentor, or parent who wants to teach a kid how to code.
  • You work/worked in public service or at a charitable organization: for example public office, army, or any 501(c)(3) organization.
  • Just contact Amir at ar@amirrajan.net with a short explanation of your current situation and he'll set you up. No questions asked.