This represents the direction Rubygame will be going in, but keep in mind that plans and details may change over time.
-
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
-
New sprite system
-
New Sprite, Scene, and Camera classes.
-
More powerful and simpler to use.
-
Integration with the Chipmunk physics library?
-
-
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.
-
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.
-