Rapid Game Development with Ruby and Gosu
This proposal by Belén Albeza has been chosen by the community to be given at Ruby Manor 4.
updated 2 months ago; latest suggestion 2 months ago
Gosu is a light game development library that, combined with Ruby, allow us to develop games really quickly. This is a perfect environment to develop prototypes to try our new game mechanics, or to release a game as soon as possible.
In this talk, we will get an intro to Gosu and game development in general, with sample source code, along with other resources we can use in our games (like physics libraries).
- Why Ruby? Pros & cons
- Hello Gosu
- Quick explanation of the most-basic game dev techniques
- The main loop
- Image drawing
- Player input
- Delta time
- Sprite lists
- BB collisions
- Overview of other techniques (FSM's, pathfinding, tile maps, scripting, physics, etc.)
- How to distribute Gosu games
PS: thanks for the feedback!
I've not had great experiences writing GUI applications in Ruby in the past: a responsive interface seems hard to achieve without real threading.
I'm really interested to know how Gosu handles this - especially if it provides a solution!
This sounds really interesting, mainly because it's quite far removed from what I do on a day to day basis :)
I'd like to see "real" examples of games in Ruby. Would you really recommend someone to write their next game in Ruby or is it a bit of a toy at this stage?
- Packaging - can I deliver a game with this?
- How does this compare with shoes? (any colour, though look at Shoes4)
- How does this compare with using web solutions like playmycode.com?
- Where do you draw the line at "prototype" and "time to use C"
If I pick up gosu + ruby to write a game am I left at a blank slate in terms of my game development? Say I just want to write a particular type of game (jrpg, point and click adventure, platformer &c.) are their libraries that will get me some way there (e.g. are there gems on top of gosu - or c libraries - like Adventure Game Studio) ?
If you have time, I would like to know how you package your games up for wider distribution. Do you use Releasy or similar gems that package ruby scripts up? It's the biggest hurdle that stops me developing games in Ruby with earnest, so would like to find out how other developers are tackling this issue.
I'm really interested in this. Ruby is obviously useful beyond web development and I'd love to hear more talks about other areas where it shines.
Would you have time to talk about downsides too? Are there any? At what point (if any) would I need to abandon my Ruby prototype and rewrite it in C++?