I’ve finally finished updating my Gosu Extensions. It’s far from perfect, but it’s in a good spot and I’m relatively happy with it. It feels good to get something “done”.
Although my coding process hasn’t been 100% TDD, I would say at least it’s been test centric and irregardless of whether I actually do anything with this, I think it’s been a good experience.
I plan on updating some of my “games” to use this new version, so I can see if these extensions actually save me any work.
Here are a few of the highlights
- Wrappers for Gosu Images, Samples, Fonts and Text
- Bounding Boxes for basic collision detection
- Easy cursor support
- Basic grid / matrix support
- Basic scheduling system
Enough chit chat, Download the code!
I Just finished up a Breakout knock off using Gosu and some basic extension classes I’ve been tinkering around with. There’s only “level” and I’m certain the paddle / ball bounce routine is totally incorrect but I’ve had enough fun with it for tonight. The samples were lovingly provided by http://freesoundfiles.tintagel.net/Audio/, but those swanky graphics were all me.
Download the Code!
I just finished up my first pass on Conway’s Game of Life with the Ruby version of Gosu while watching season 2 of Dexter. It’s ripe for refactor and I still have some work to do to make it worth running, but yeah, first pass.
To run it, you just need to run init.rb
I made a few small updates to Target Practice tonight. The biggest addition was sound although I made a few other little tweaks under the proverbial hood.
I had originally wanted to pack it up and release it as a single executable file but I was having some issues which I’ll post about once I figure out what the heck I’m doing.
Speaking of lazing, there are a few things I’d like to do differently in Target Practice. Most notably I’d like to abstract out out the media to some manager or another, and also my target manager class has grown rather bloated which I take to be a good indicator that it’s doing more than it should. I don’t care enough about this program to fix either of these issues, but hopefully I’ve learned from these mistakes!
Half-Life is the game of choice at work, and sadly I’m terrible at it. I thought I’d try to write a little game using gosu to try and help me improve my accuracy. I just reached a good stopping point and I thought I’d share.
It’s really simple, the idea is to shoot little 20 x 20 “targets” (I’m artistically challenged) before they expire. Missing or letting 10 targets expire will end the game. Next version will include sound, improved visuals and maybe even a couple other fun features if your lucky.
The code is a bit over-engineered but I plan on incorporating parts into some “core extensions” that I’m working on that will hopefully make it a lot easier for me to bang stuff like this out. Finally, as I doubt anyone will ever download this, I didn’t bother to pack it up so you’ll have to have Ruby and gosu installed in order to enjoy it.
Download the code!
PS: I’ve been a Photoshop user for many years, but I used GIMP to make these images and I didn’t even hate it!