1 Todo and Idea List for Tennix
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 Tennix 2009 Edition (2.0)
5 ~~~~~~~~~~~~~~~~~~~~~~~~~
7 Target release date: 19.02.2009
11 3. Always save running game and allow to restart later
12 (fwrite GameState, BUT check for input issues and pointers!)
13 4. Make AI player a bit more intelligent & beatable
14 10. Clean-up the menu appearance / style to be more consistent
15 (remove buttons as much as possible and replace with gfx)
19 1. Proper collision detection for ball <-> racket
20 (Different sound + random movement when edge hit)
21 Maybe: make racket less visible until power value is reached
22 7. Allow navigating menu with joystick / keyboard in addition to
23 mouse ("cursor" state that is modified instead of directly
24 using the mouse my mx coordinates)
25 8. Flip coin to determine which player serves
26 (Using the Animation framework + some inkscape'd pictures)
30 2. Give a visual clue where the ball goes when serving (blinking)
31 (Only when power reaches a certain level)
32 5. Rain moves ball in the negative direction (z -= RAINSPEED)
33 6. Reduce current "power" value when moving in Y direction
34 9. Retrieve the ball when it goes offscreen or into the net
35 (Either via Balljunge mode, long referee hand or "hand of god")
38 ==================================================================
40 ==================================================================
42 FROM --------------> TO
49 + "tween functions" (sin, 1-p, exp, ...)
51 ==================================================================
52 MENU AND NAVIGATION (COSMETIC)
53 ==================================================================
55 -> Make options menu same style as main menu
56 -> add picture to left side of main menu
58 Physikalischer Tennis-ball im Hauptmenü zum herumspielen
60 ==================================================================
62 ==================================================================
72 * (maximum) Speed (or: speed curve)
76 ==================================================================
77 PARTY MODE AND INPUT ISSUES
78 ==================================================================
80 Input selection like Fifa 96 (left / right)
81 Proper gamepad axis support (can we do this in general?)
82 Tournament config / setup / frontend (GTK+/Qt/[...]?)
84 read keyboard input mappings from config file and generate bindings
85 dynamically or even allow new bindings configured in the UI
88 ==================================================================
90 ==================================================================
92 * Ball + racket buying/selling/upgrading
93 * Schläger: upgrades [name, verbesserung, kosten, haltbarkeit]
94 * Person, Training: Laufgeschwindigkeit, Vorhand/Rückhand
95 * add wear (abnutzung) to ball and racket, so one has to buy new
96 stuff every now and then ("design charge" vs "current charge")
99 ==================================================================
101 ==================================================================
103 * Weather-verlauf pro location gegeben über W-vtlg. mit anschl.
104 berechnung des wetterverlaufs über simulierte stichprobe
107 ==================================================================
109 ==================================================================
111 * Grafische Darstellung der hit points des Balles am Ground
112 * Wind (modifies the ball movement)
113 Wind darstellen über die rot-weiße "Windfahne"
114 * Snow (christmas edition?)
115 * Sunshine (=current, normal behaviour)
117 Schiri spannt Schirm auf, wenns es regnet
119 Shadow computer-generiert?? (und für schläger zusätzlich?)
120 Shadow x2/x4 wenn Nacht-Modus (weil scheinwerfer!!)
122 Kleinere Schläger, dafür mehr Sprites für die Animation
123 Schläger einfärben per SDL möglich? (HUE-verschiebung)
125 Sound effect groups: Group the same types of sounds (e.g. voice,
126 racket, ground) in one sound "GROUP" that shares a channel.
128 Trainings-Modus mit Zielscheibe
130 Möglichkeit, ans netz zu gehen, aber dann kann man sich nur mehr
131 einen kleine bereich auf- und abbewegen (by mario).
133 ==================================================================
135 ==================================================================
137 librsvg for rendering the SVG source files in-game instead of
138 shipping pre-rendered PNG files (would allow us to modify XML)
140 "Satz vom sportlichen Statistiker" (add statistics features to AI)
142 Garbage collector für c/c++?
146 ==================================================================
148 CC-Licensed photos from Flickr:
149 Public Tennis Court: http://flickr.com/photos/dan4th/1387725497/
150 Tennis mit Palmen: http://flickr.com/photos/a2gemma/251846846/
151 Melbourne Tennis-Stadium: http://flickr.com/photos/snips/32925154/
152 Tennis Court Nightly: http://flickr.com/photos/exfordy/394570878/
154 Tennis in der wueste: http://flickr.com/photos/mthird3rd/471720012/
156 click sound: http://freesound.iua.upf.edu/samplesViewSingle.php?id=34099
157 rain: http://www.freesound.org/samplesViewSingle.php?id=34067
161 Fix sounds (wav, mp3? - ogg doesn't seem to be supported)
162 Widescreen support - 800x480 (make "outer areas" input-accepting)
167 Make sound deactivatable (or sound volume settings?)
168 User-settable "sets to win" (2 or 3)
171 Change between full screen and windowed mode in Windows
173 Implement "hit in the right area on serving"
174 Correct serve repeat when serving into the out