5 Documents and ideas: http://super-tux.sourceforge.net/milestone2
6 Wiki: http://netpanzer.berlios.de/supertux
7 esp. http://netpanzer.berlios.de/supertux/index.php/Forest
12 High priority [H]: milestone goals that should be implemented for next
14 Medium priority [M]: would be nice to have for next milestone, but should
15 be secondary to high priority goals
16 Low priority [L]: things that should be fixed sometime
17 ?: Things that need to be discussed to determine whether or not they should be
23 --Collision Detection Rewrite (all [H])--
27 - implement stalactite
28 - implement tree (really?)
29 - bring back stay on platform flag
30 ** implement ability to cary mriceblock (and other objects) around
31 * smoke clouds are too fast
32 * rethink slopes collision feedback... tux becomes too slow when walking up
33 and starts jumping when walking down
34 * think about an attachement mechanism for moving platforms
35 * implement paths for the moving platform, implement simple moving platforms
36 * fix bullet speed/behaviour
37 * check if unducking is actually possible or if something is in the way
39 * what to do when stuck under tiles (after using duck-sliding)
41 * do we want multi hit scores again? - not in the form of scores
42 * buttjump is deactivated
43 * implement quadtree or grid to speedup collision detection
45 --Code Refactoring/Cleanup/Optimisation--
46 [H] make the title using GameSession instead of reimplementing all the stuff
47 [L] rename gameloop.* files to gamesession.*
48 [L] rename GameObject::action to GameObject::update()
49 [L] use physfs for loading files
50 [L] change physics class y-velocity-coordinate to be like all other
51 y-coordinates again (positive y to go down)
52 [L] rename files like tile_manage.* to TileManager.* because they contain a
53 class named TileManager not tile_manager. Eventually use .hpp instead of .h
54 to indicate the usage of c++
55 [M] harmonize to 1 single gameloop that switches between title, worldmap,
56 ingame mode and eventually leveleditor mode
57 [L] introduce a special mode in DrawingContext for objects that want to draw
58 themselfes. This could speed up rendering of tilemaps.
59 [M] Make the gamelogic run in a fixed logical framerate
62 [?] think about how to implement scripting, and how to make a simple and easy to
63 use api for the scripting interface
64 (language will probably be lua - just have to figure out how well we can do
65 without OO support in the scripting language.
66 Other candidates are python, ruby and less likely java, mono/.net,
67 surely no own invention, perl or 1 of these c-like scripting languages)
68 [H] Create a "sound object" that is an object or area, that can be placed on the
69 map and constantly plays a .wav file to improve game athmosphere.
70 Good examples would be a water sound which can be placed at waterfalls,
71 a kuckoo sound that can be placed into the wood, bubling sound for lava,
73 The sound object should be configurable:
74 To be position independent (always play), to have a spot position so
75 that it gets louder when tux gets nearer to the spot (or a rectangular
76 area instead of the spot?). You should be able to configure the sound
77 to be constantly looped or to be played in some random fashion
78 (ie. play and then 5-10 seconds pause).
79 [H] Create a "sign" object, ie an object that can be placed on the level and
80 contains messages (like the run sign we have at the moment but
81 programmatically created so that we can translate it)
82 [H] Create an "info block" ie. a block with a lightbulb on it or so that
83 displays some info text when jumped against. The textbox should be done
84 indepently of the info block and could be reused in cutscenes later...
85 [H] Add a simple rock object that can be carried around
86 [H] Add a rope object on which tux is able to climb, also add a ? block that
89 [H] Buttjump related things
90 - enable buttjump again
91 - Should kill enemies with a certain range
92 - Done--now needs to be tweaked
93 - Animation (need images)
94 - Should be a powerup item (still to be discussed)
95 - Should break bricks if Tux is on top of bricks, otherwise it should
96 kill enemies within a close range.
97 - After enemy-kill is used, powerup should be removed from Tux
98 [H] Icebullet related things
99 - we should decide on specifics
103 - Tux's buttjump animation
104 [M] Save score on per-level basis to make high-score
105 [M] Save time on per-level basis to make low-time-score
106 [M] Add bonus score for extra time left when finishing a level
107 [M] when bumping a special with 2 blocks at once, it won't change direction
108 [M] tux get killed if he kicks a iceblock while at the same time bouncing on
109 [L] The camera does some nasty little jumps if you jumped up on a higher place
110 where the camera didn't completely follow yet and you fall down directly
111 again. This will suddenly raise the camera up.
112 [L] Allow any object to be inside of a [?] box, ie. trampoline or badguy
113 [L] There is a report that the joypad is always used on windows and more severe
114 it generates random up/down events, though it is callibrated correctly.
119 [H] Graphics+Animations for the Yeti
120 (see also http://netpanzer.berlios.de/supertux/index.php/Yeti)
121 [H] Graphics for the 5 keys in the forest world, graphics for the castle door
123 [H] New tiles for the forest worldmap
124 [H] Create a graphics to visually present reset points. (Maybe a bell that
125 starts swinging once tux touched it?)
126 [M] Add graphics for ropes
127 [L] Create graphics for bubbles and soap (not necessary for milestone2)
129 -new enemies need to be designed and added
133 - More things than just levels on the worldmap (similar to SMB3)
134 - if we have a logical framerate we could record/play demos by simply storing
135 the pressed keys in each frame...
138 We can just stay with jam for now. Compared to scons jam is at least faster and
139 doesn't suffer from the problems below.
141 * [H] Add an install target - done (however scons is creating stupid .sconsign
142 files at the install location :-/)
143 * [M] improve opengl check to work on win32 and eventually more strange
145 * [H] Make sure compilation on win32 and cross-compilation works
146 * [M] compile some test executables to test for SDL, SDL_mixer and SDL_image.
147 Also test for version of SDL_mixer and SDL_image
148 * [M] Create a distclean target
149 * [M] Create a dist target
150 * [M] Add instructions to the README
151 * [L] If all of the [H] and [M] issues are fixed, remove autoconf/automake
152 * [L] Take a look if it is possible to make it a bit more quiet. (Similar to
153 linux kernel, samba or jam output would be optimum, ie.
154 C++ build/linux/src/bla.o
155 C++ build/linux/src/blup.o
156 C++ build/linux/src/error.o
157 Error on line xx in error.o: This source contained an error
159 g++ -Wall .... -o build/linux/src/error.o src/error.cpp