blob: 997151f2bf037169777e812aee785bf8e7e86504 (
plain)
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
|
# -*- org -*-
* Things To Do
** DONE Game loop
Provide a game loop structure that responds to input events,
updates the game state, renders the scene. Use a fixed update
timestep and cap the maximum FPS.
** TODO Input
Provide hooks to respond to keyboard, mouse, and joystick events.
Wrap SDL keycode, mouse button, etc. constants in our own
enumeration.
** DONE Sprites
Encapsulates an image and all of its transformations: position,
rotation, scale, color, etc.
** TODO Sprite batches
Efficiently render a large number of sprites. Only change OpenGL
context when necessary. For example, don't change texture when
rendering several sprites in a row that use the same one.
** TODO Tilesets
Break an image up into many small pieces. Useful for creating maps.
(make-tileset image tile-width tile-height padding margin)
** TODO Tileset animations
Given a tileset, an animated sequence of frames can be created.
(make-animation tileset frame-duration frames)
** TODO Tile maps
Create a loader for Tiled .tmx map files.
** TODO Scene graph
A tree structure that is traversed when rendering a game scene.
The graph is composed of groups and nodes. Transformations are
accumulated as the tree is walked.
** TODO Scripting
Provide a way for users to easily script 2D games using coroutines
(green threads)
** TODO Vectors and matrices
Vectors and matrices are needed constantly for games. Provide an
easy-to-use module that provides procedures for common
vector/matrix math operations
** TODO Fonts
Use Freetype to provide font rendering procedures.
** TODO A* pathfinding
A* is a commonly used pathfinding algorithm for games. Pathfinding
is such a common task that it would be nice to provide users with
a generic implementation.
** TODO Bounding box collision detection
Most games need simple bounding box collision detection. Provide an
efficient implementation that uses quad trees.
** TODO Particle systems
Provide a highly configurible particle simulation system.
|