DragonRuby Quake Console

Here's what's new!

  • Added the ability to create replays for your game. This lets you record a run of your game and play it back later,  for demos, automatic testing or just to show off how cool your stuff looks. We've added replays of most of the sample apps and scripts/batch files to run them with a single, tiny double-click.
  • Rendering of primitives now have sub pixel precision! You can use floating point coordinates now to render things between pixels!
  • Added easing sample app and easing APIs.
  • Added ctags for vim and emacs users (etc) to cover some basic API information.
  • Added a new sample app that shows a top down grid (like in zelda 1).
  • Added a run-me-first sample app that serves as a Ruby primer for those that are new and intimidated by the language (but don't be! It's so cool!)
  • Added a sample app to show how one primitive can be represented as another primitive:

  • Added a better render targets API. This is still experimental, but it's a little nicer to use!
  • DragonRuby will now start with a smaller (but still aspect-correct!) window if your desktop can't handle 720p.
  • The sounds sample app has been updated with better sounds and layout.
  • Border rendering is now more refined. Crisper, even!
  • We've reworked our rendering code to be more efficient behind the scenes. More improvements still to come, too!
  • The intersects_rect? method now accepts a pixel tolerance (which is defaulted to 0.1). The lower the number the less forgiving the collision is, but can lead to tuneling/getting stuck in geometries. The higher the number the lower the chance of getting stuck in a wall, but it's also less pixel perfect.
  • Lots of small but no less important fixes and improvements.
  • The HUD was removed, because it wasn't working out, but...
  • ...it's been replaced with the Dragon Console!

The Dragon Console solves a bunch of problems for us: you can read the logs without jumping to another window, you can read the logs at all on Windows, you can fire-and-forget lines of Ruby code into it, and no engine is truly complete until you can hit the tilde key to slide a console over your game window.  :)

Jokes aside, we think it's just a perfect mix of simple and powerful and hope you'll find it so useful.

We've taken some steps to make it customizable, too; if you feel you need a different font or color scheme, your game can tweak those variables trivially, and make it match your style.

Here's a five-minute rundown on the big idea here, including how it can help you build and debug your games, easy access to documentation, and what to do if you want to control your very own Blue Screen of Death:

And now that you've seen the console, here's Amir showing off the creation of a replay. This is him creating a replay from start to finish in Flappy Dragon. Did you see that we even track where your mouse is and show it during the replay? This turned out to be totally great for replays of the basic samples, too, because we could just slide your attention around the screen to what was relevant with a flick of the mouse.

Enjoy the new build! Amir and I are still going hard on the toolkit, and we'll have more cool things to show you soon, not to mention fixes and improvements that didn't make it into today's build. As always, feedback is the most powerful thing in any toolkit, so pop into the community forum or the Slack channel or even just ping Ryan or Amir on Twitter, and tell us your darkest desires.

...or at least your bug reports!


dragonruby-gtk-linux-amd64.zip 83 MB
Version 10 Jun 05, 2019
dragonruby-gtk-macos.zip 86 MB
Version 10 Jun 05, 2019
dragonruby-gtk-windows-amd64.zip 83 MB
Version 10 Jun 05, 2019
dragonruby-gtk-linux-raspberrypi.zip 83 MB
Version 2 Jun 05, 2019

Get DragonRuby Game Toolkit

Buy Now$32.00 USD or more


Log in with itch.io to leave a comment.

I just upgraded from version 9 to version 10, but my game stopped working with this new version. I get the following error at startup:

ERROR: Attempted to set the ^ key on the DragonRuby's Keyboard data structure, but the property isn't available. You should contact DragonRuby and tell them to add this key to the @char_to_method hash.
[KeyboardKeys#set, DragonRubyView#char_to_method]

I am running this on MacOS High Sierra 10.13.6.

Any way to fix this error? I am not blocked by this issue, but wanted to report the problem.