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 [H] Create a "sound object" that is an object or area, that can be placed on the
63 map and constantly plays a .wav file to improve game athmosphere.
64 Good examples would be a water sound which can be placed at waterfalls,
65 a kuckoo sound that can be placed into the wood, bubling sound for lava,
67 The sound object should be configurable:
68 To be position independent (always play), to have a spot position so
69 that it gets louder when tux gets nearer to the spot (or a rectangular
70 area instead of the spot?). You should be able to configure the sound
71 to be constantly looped or to be played in some random fashion
72 (ie. play and then 5-10 seconds pause).
73 [H] Create a "sign" object, ie an object that can be placed on the level and
74 contains messages (like the run sign we have at the moment but
75 programmatically created so that we can translate it)
76 [H] Create an "info block" ie. a block with a lightbulb on it or so that
77 displays some info text when jumped against. The textbox should be done
78 indepently of the info block and could be reused in cutscenes later...
79 [H] Add a simple rock object that can be carried around
80 [H] Add a rope object on which tux is able to climb, also add a ? block that
85 [?] think about how to implement scripting, and how to make a simple and easy to
86 use api for the scripting interface
87 (language will probably be lua - just have to figure out how well we can do
88 without OO support in the scripting language.
89 Other candidates are python, ruby and less likely java, mono/.net,
90 surely no own invention, perl or 1 of these c-like scripting languages)
91 [H] Buttjump related things
92 - enable buttjump again
93 - Should kill enemies with a certain range
94 - Done--now needs to be tweaked
95 - Animation (need images)
96 - Should be a powerup item (still to be discussed)
97 - Should break bricks if Tux is on top of bricks, otherwise it should
98 kill enemies within a close range.
99 - After enemy-kill is used, powerup should be removed from Tux
100 [H] Icebullet related things
101 - we should decide on specifics
105 - Tux's buttjump animation
106 [M] Save score on per-level basis to make high-score
107 [M] Save time on per-level basis to make low-time-score
108 [M] Add bonus score for extra time left when finishing a level
109 [M] when bumping a special with 2 blocks at once, it won't change direction
110 [M] tux get killed if he kicks a iceblock while at the same time bouncing on
111 [L] The camera does some nasty little jumps if you jumped up on a higher place
112 where the camera didn't completely follow yet and you fall down directly
113 again. This will suddenly raise the camera up.
114 [L] Allow any object to be inside of a [?] box, ie. trampoline or badguy
115 [L] There is a report that the joypad is always used on windows and more severe
116 it generates random up/down events, though it is callibrated correctly.
121 [H] Graphics+Animations for the Yeti
122 (see also http://netpanzer.berlios.de/supertux/index.php/Yeti)
123 [H] Graphics for the 5 keys in the forest world, graphics for the castle door
125 [H] New tiles for the forest worldmap
126 [H] Create a graphics to visually present reset points. (Maybe a bell that
127 starts swinging once tux touched it?)
128 [M] Add graphics for ropes
129 [L] Create graphics for bubbles and soap (not necessary for milestone2)
131 -new enemies need to be designed and added
135 - More things than just levels on the worldmap (similar to SMB3)
136 - if we have a logical framerate we could record/play demos by simply storing
137 the pressed keys in each frame...
140 We can just stay with jam for now. Compared to scons jam is at least faster and
141 doesn't suffer from the problems below.
143 * [H] Add an install target - done (however scons is creating stupid .sconsign
144 files at the install location :-/)
145 * [M] improve opengl check to work on win32 and eventually more strange
147 * [H] Make sure compilation on win32 and cross-compilation works
148 * [M] compile some test executables to test for SDL, SDL_mixer and SDL_image.
149 Also test for version of SDL_mixer and SDL_image
150 * [M] Create a distclean target
151 * [M] Create a dist target
152 * [M] Add instructions to the README
153 * [L] If all of the [H] and [M] issues are fixed, remove autoconf/automake
154 * [L] Take a look if it is possible to make it a bit more quiet. (Similar to
155 linux kernel, samba or jam output would be optimum, ie.
156 C++ build/linux/src/bla.o
157 C++ build/linux/src/blup.o
158 C++ build/linux/src/error.o
159 Error on line xx in error.o: This source contained an error
161 g++ -Wall .... -o build/linux/src/error.o src/error.cpp