Moving towards Rubygame 2.3

I've been really busy with work and other non-Rubygame things lately, so not much progress recently. I did get Music#jump finished, and there's not really that much more work to be done on Sound/Music for 2.3.

And, yes, I've decided there will be a Rubygame 2.3, which has the new Sound and Music classes alongside the old ones.

The old, deprecated classes/methods will emit a warning when you use them (if you run ruby with warnings turned on, e.g. "ruby -w"), and future versions (e.g. 2.4) will have this same policy of offering a warning if you're doing something deprecated. This offers a handy way for game developers to check whether their game will work when Rubygame 3 comes out, and gives them plenty of time to migrate. The warnings won't appear when running without warnings enabled, so users won't have their consoles flooded with warnings when playing your game.

If you're interested in following the progress towards Rubygame 2.3, you can take a look at the checklist I'm using to organize my efforts.

Regarding why I decided to have a Rubygame 2.3 instead of just "chugging along" towards Rubygame 3, it's simple.

All ventures, whether commercial or volunteer, need fuel to keep moving forward. Commercial ventures use money as the fuel, as the means of keeping the workers motivated. As long as they are getting money for their efforts, they can keep going forward; but if they run out of money, they will slow to a halt.

It's the same way with volunteer ventures (like Rubygame), except the fuel is feedback and user appreciation instead of money. For a volunteer developer (like me), receiving constructive feedback or a thank-you email is like receiving a pay check; it keeps the developer motivated. But if the expense (the effort involved, which consumes motivation) is more than the income (the feedback/appreciation, which increases motivation), then the project slows to a halt.

So, keeping Rubygame afloat is very similar to keeping a business afloat. I have to balance the "expenses" against the "income". If I receive extra "income" (motivation from feedback), I can use it to move forward. And just like in the business world, one good way to get new income is to release a new product.

If I could release Rubygame 3, I think the amount of feedback and appreciation would be quite large — Rubygame 3 is becoming very, very cool. But right now, I don't have enough motivation to get all the way to Rubygame 3, so I have to invest my motivation wisely, and try to gain more of it.

Fortunately, I _do_ have enough motivation to reach Rubygame 2.3, and releasing that would probably give me enough fuel to reach Rubygame 2.4, and so on, until finally reaching Rubygame 3. So that's my current plan.


ippa submitted a comment on #

will we get the sexy magic hooks in 2.3? .. my eventloop is dirty :)

Phil Crosby submitted a comment on #

Alright John, although am eagerly awaiting 3.0 ;-)

Shawn Anderson submitted a comment on #

Thank you for all your work, I am trying to get a decent sized game that can be fun built and rubygame is a huge part of that! Keep up the good work. Oh, there was talk in #rubygame to maybe have a Jacius endorsed gui library for buttons/text/checkboxes for rubygame. I have some basic starts in my game, I’d love to share/contribute. Also, I get an error when building rubygame trunk from svn:

sanderson@shiny:~/code/rubygame_svn/trunk$ rake

(in /Users/sanderson/code/rubygame_svn/trunk)

Linking compiled files to create rubygame/rubygame_mixer.bundle

/usr/bin/ld: multiple definitions of symbol _cMusic

ext/rubygame/rubygame_mixer.o definition of _cMusic in section (__DATA,__common)

ext/rubygame/rubygame_music.o definition of _cMusic in section (__DATA,__common)

John Croisant submitted a comment on #

@ippa: The event stuff is a very likely candidate for 2.4, which should come fairly soon after 2.3.

@Phil: Me too. ;)

@Shawn: Ah, there’s a collision between variable names used for the two music systems. I’ll check in the fix tomorrow.

Beoran submitted a comment on #

Tog ice you some more “income”: good jovb. I’m eagerly awaiting Rubygame 2.3, and 3.0. :)

Have something interesting to add to the discussion? Email your thoughtful comments to