Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

80 lines (57 sloc) 2.458 kB


This represents the direction Rubygame will be going in, but keep in mind that plans and details may change over time.

2.X (possible minor releases before 3.0)

Focus: Surface & Rect

  • Surface improvements

    • Make Surface instances copyable and marshalable

    • Support for palettes on 8-bit Surfaces

    • Export as OpenGL-ready 32bit pixel data.

    • To Fix: New Surfaces never have alpha channels

    • To Add: Surface#pixels= (set pixel data directly)

    • To Add: Surface.load_from_pixels (create from pixel data)

  • Optimize Rect for speed

Focus: Sprites

  • New sprite system

    • New Sprite, Scene, and Camera classes.

    • More powerful and simpler to use.

    • Integration with the Chipmunk physics library?

3.0 (next major release)

  • Backwards compatibility is broken:

    • Deprecated classes / methods retired:

      • Rubygame::Mixer module.

      • Rubygame::Mixer::Sample class. Use Rubygame::Sound.

      • Rubygame::Mixer::Music class. Use Rubygame::Music.

      • Rubygame::Surface.load_image method. Use Rubygame::Surface.load.

      • Rubygame::Ftor class. An alternative class will be provided.

      • Rubygame::MediaBag class. Use Surface#[], Sound#[], and Music#[].

    • Surface#get_at

    • Sprites::Group#collide_group

  • Change Sprites::Group#collide_group to scrap the 'killa/killb' stuff, take a block instead.

Possible future developments

  • Switch from SDL_gfx to SPriG for graphics primitives.

    • SPriG provides more functionality and flexibility, and a more consistent interface.

    • How does speed compare?

    • Is it buggy?

  • Alternative back-ends:

    • OpenGL (faster rendering, better Mac support)

    • Allegro?

  • Polygon, circle, and other geometric primitives

    • Drawing, with styles?

    • OpenGL drawing?

    • Collision detection?

    • Physical shapes w/ Chipmunk?

    • Generate bounding Polygon from an image automatically?

  • Path (Curve?) (graphs/plots for tracing position and other uses)

    • Can find the position N units along the path.

    • Can draw a line showing the path.

    • LinearPath (connect the dots, linear interpolation)

    • BezierPath (chain of continuous cubic Bézier curves)

    • CodePath (calculated from a code block)

  • Effect (Action?)

    • “Attach” to an instance, does something over time.

    • E.g. moves a sprite from point A to point B over N seconds.

    • Many types of effects, easy to define custom ones.

    • Takes parameters: start/end time, others depending on effect.

Jump to Line
Something went wrong with that request. Please try again.