The DragonRuby logo
The DragonRuby logo


DragonRuby is a Ruby-based game toolkit that I first stumbled across in a charity bundle over on (the best ten dollars I ever spent)

I had tinkered with Ruby in the dim and distant past (back when Ruby On Rails was new and shiny), so I knew it was a language I sort of understood, and the whole DragonRuby package had a lot of things going for it:

  • Cross Platform; releases can be trivially built to Windows, Linux, MacOS and even browsers. Since I first picked it up, there's been other targets added - iOS, Android, various consoles and even Oculus!

  • C Extensions; if I really hit areas I couldn't work out how to Rubify, I can fall back on the One True Language.

  • Super Rapid Prototyping; because the underlying engine does a lot, you can get up and running ridiculously quickly. I've used it to prototype game ideas in an afternoon, even when it's not going to be the final target.

  • Integration into; seriously, every toolkit should come with a single-line way of sending projects straight to distribution. It was what made me an publisher!

Of course, despite all this good stuff, I did suffer from the fact that I'm not a natural Ruby developer. And it's not helped by the fact that for any given task, there are 7,300 different ways of achieving it in Ruby. So, fast to get into but easy to get bogged down in trying to figure out the "right" way of doing stuff.

The Games

I've always believed that the best way to try out a new game toolkit is to remake a game you know intimately. It means you don't get distracted by working out game mechanics, and allows you to focus completely on how to do stuff.

Tetris (specifically, Tetris for Terminals consumed more of my time at university than I care to think. It was also where I did some of my first game coding so it tends to be a good test case for a new environment.

The source can be found lurking on GitHub, but do remember that this was the first thing written for DragonRuby, in a language I hadn't touched for years so ... it's not pretty.

This is another (slightly later) "write what you know" style game; anybody who used Windows in the last millenium will have wasted hours of time playing Minesweeper.

The original plan, I think, was for this to be a better written, more 'instructional' game to help others get up to speed with DragonRuby but I'm not sure it ever really got there. But, it's a fun little game nonetheless.

As always, the source is available

Only a month or two after I started getting more seriously into DR, they hosted a Game Jam - something they continue to do on a fairly regular basis, usually with free DR licenses handed out to let everyone get involved.

The theme for this first jam, though, was 'minigames' - something I'm not very familiar with, having not grown up on a console. The key aspects, though, were for games to be:

  • short - 20 seconds or less, ideally
  • simple - a single game mechanic
  • basic - limited to one or two controls

As with so many creative activities, being forced to make something I would never normally consider playing, let alone writing, sparked some interesting results and I'm pretty happy with both of these games.

I ended up keeping the source for both games in the same repository, for reasons that currently escape me.