Moving towards Rubygame 2.3
| Published: | Comments: 5 | Filed under: Development
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.
Comments