Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Flexible game creation library for Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


 = Rubygame README

 == What is Rubygame?

 Rubygame is a cross-platform game-development extension and library for Ruby,
 inspired by Pygame. The purpose of Rubygame is to empower game developers by
 providing them with powerful and flexible high-level concepts. Instead of
 worrying about low-level technical details, you can focus your energy on
 more interesting things (like making a fun game).

 Rubygame's core is written in C to bind low-level SDL functions into Ruby.
 On top of that is a pure Ruby library for higher-level behavior like
 event and game object management.

 === Relevant Links
 1. Rubygame:
 2. Ruby:
 3. Pygame:
 4. SDL:

 == Requirements

 You will definitely need these software packages to compile Rubygame:

 * ruby        >= 1.8 
 * SDL         >= 1.2.7
 * rake        >= 0.7.0    (for build/install system)

 It's highly recommended that you have these packages as well, or some
 cool features won't be available!

 * SDL_gfx     >= 2.0.10
 * SDL_image   >= 1.2.3
 * SDL_mixer   >= 1.2.7
 * SDL_ttf     >= 2.0.6

 (If you don't have some of those, you have to disable those features
 by passing some flags to the build process. See "Advanced Install", below.)

 If you are compiling source on a binary-based Linux ditribution,
 you will also need the "dev" packages of ruby, SDL, SDL_gfx, SDL_image,
 SDL_mixer, and SDL_ttf. (Really, you just need the header files.)

 And of course, if you are compiling the source, you will need a C compiler!
 These versions of gcc worked fine when I tried them; other compilers might
 work too:

 * gcc 3.3, 3.4, 4.0, 4.1

 == Install

 === Basic Install

 Extract the archive and enter its top directory.
 Then run ($ indicates as user, # as root):

  $ rake build
  # rake install

 === Advanced Install

 The build and install tasks can be configured by providing certain commands
 to rake:

 no-sdl-gfx::    do not build modules which depend on SDL_gfx
 no-sdl-image::  do not build modules which depend on SDL_image
 no-sdl-mixer::  do not build modules which depend on SDL_mixer
 no-sdl-ttf::    do not build modules which depend on SDL_ttf
 no-opengl::     do not build modules which depend on OpenGL

 no-sdl-config:: do not guess compiler/linker flags using `sdl-config'

 debug::         build modules with debbugging flags enabled
 universal::     on MacOS X, try to compile for both PPC and Intel
 verbose::       display the build commands as they are run

 Additionally, the build process respects certain environmental variables.
 In particular, CFLAGS and LDFLAGS are important for users compiling with
 the no-sdl-config command.

 CC::            C compiler command
 CFLAGS::        flags passed to the C compiler
 LDSHARED::      linker command
 LDFLAGS::       flags passed to the linker
 RUBYARCHDIR::   where to install platform-specific compiled extensions
 RUBYLIBDIR::    where to install platform-independent interpreted libs

 IMPORTANT: if you are missing any optional SDL_* libraries, you must specify
 "no-*" flags for those libraries. For example, if you don't have SDL_gfx:

  $ rake no-sdl-gfx build

 If you don't disable the features, the compile will probably fail when it
 looks for the headers and libraries. (The build system is not smart enough to
 automatically disable missing features.)

 === Generating documentation

 You can generate documentation for Rubygame's API by running:

  # rake rdoc

 Documentation will be generated as HTML in the 'html' directory.
 Open 'html/index.html' in a web browser to get started.

 == Usage
 See the documentation (online at, or
 generated locally with the 'rake rdoc' command). 

 We also recommend that you take a peek at the demo applications in
 the 'samples' directory, especially chimp.rb.

 == License

 Rubygame is distributed under the terms of the GNU Lesser GPL.
 See LICENSE for more details.

 Some of the sample files are distributed under licenses other than the
 GNU Lesser GPL. See 'samples/README' and 'samples/GPL' for more details.

 John Croisant (jacius at
Something went wrong with that request. Please try again.