forked from rubygame/rubygame
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ROADMAP
79 lines (57 loc) · 2.4 KB
/
ROADMAP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
= ROADMAP
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.