1 Todo and Idea List for Tennix
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 See the file "HACKING" for help finding your way around the tennix source.
8 1. Proper collision detection for ball <-> racket
9 (Different sound + random movement when edge hit)
10 Maybe: make racket less visible until power value is reached
11 7. Allow navigating menu with joystick / keyboard in addition to
12 mouse ("cursor" state that is modified instead of directly
13 using the mouse my mx coordinates)
14 8. Flip coin to determine which player serves
15 (Using the Animation framework + some inkscape'd pictures)
19 2. Give a visual clue where the ball goes when serving (blinking)
20 (Only when power reaches a certain level)
21 5. Rain moves ball in the negative direction (z -= RAINSPEED)
22 6. Reduce current "power" value when moving in Y direction
23 9. Retrieve the ball when it goes offscreen or into the net
24 (Either via Balljunge mode, long referee hand or "hand of god")
26 ==================================================================
28 ==================================================================
30 https://git.maemo.org/projects/rfk/gitweb?p=rfk;a=blob;f=rfk.c
32 + GLIB-Mainloop integration (aka while(g_main_iteration(FALSE));)
33 http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html
36 ==================================================================
38 ==================================================================
40 FROM --------------> TO
47 + "tween functions" (sin, 1-p, exp, ...)
49 ==================================================================
50 MENU AND NAVIGATION (COSMETIC)
51 ==================================================================
53 -> Make options menu same style as main menu
54 -> add picture to left side of main menu
56 Physikalischer Tennis-ball im Hauptmenü zum herumspielen
58 ==================================================================
60 ==================================================================
70 * (maximum) Speed (or: speed curve)
74 ==================================================================
75 PARTY MODE AND INPUT ISSUES
76 ==================================================================
78 Input selection like Fifa 96 (left / right)
79 Proper gamepad axis support (can we do this in general?)
80 Tournament config / setup / frontend (GTK+/Qt/[...]?)
82 read keyboard input mappings from config file and generate bindings
83 dynamically or even allow new bindings configured in the UI
86 ==================================================================
88 ==================================================================
90 * Ball + racket buying/selling/upgrading
91 * Schläger: upgrades [name, verbesserung, kosten, haltbarkeit]
92 * Person, Training: Laufgeschwindigkeit, Vorhand/Rückhand
93 * add wear (abnutzung) to ball and racket, so one has to buy new
94 stuff every now and then ("design charge" vs "current charge")
97 ==================================================================
99 ==================================================================
101 * Weather-verlauf pro location gegeben über W-vtlg. mit anschl.
102 berechnung des wetterverlaufs über simulierte stichprobe
105 ==================================================================
107 ==================================================================
109 * Grafische Darstellung der hit points des Balles am Ground
110 * Wind (modifies the ball movement)
111 Wind darstellen über die rot-weiße "Windfahne"
112 * Snow (christmas edition?)
113 * Sunshine (=current, normal behaviour)
115 Schiri spannt Schirm auf, wenns es regnet
117 Shadow computer-generiert?? (und für schläger zusätzlich?)
118 Shadow x2/x4 wenn Nacht-Modus (weil scheinwerfer!!)
120 Kleinere Schläger, dafür mehr Sprites für die Animation
121 Schläger einfärben per SDL möglich? (HUE-verschiebung)
123 Sound effect groups: Group the same types of sounds (e.g. voice,
124 racket, ground) in one sound "GROUP" that shares a channel.
126 Trainings-Modus mit Zielscheibe
128 Möglichkeit, ans netz zu gehen, aber dann kann man sich nur mehr
129 einen kleine bereich auf- und abbewegen (by mario).
131 ==================================================================
133 ==================================================================
135 librsvg for rendering the SVG source files in-game instead of
136 shipping pre-rendered PNG files (would allow us to modify XML)
138 "Satz vom sportlichen Statistiker" (add statistics features to AI)
140 Garbage collector für c/c++?
144 Clip rectangles and image blits to visible screen area
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
177 problems w/ tennix on the n900 (as reported by timeless)
178 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
180 0. most golf/sport games which use things like this have demos that walk you
182 1. the animation for the racket is wrong the head should move, not the handle
183 3. scoring doesn't use "all" or "love"
184 4. when i first used it, the background was black, and it was basically
185 impossible to see stuff
186 5. there needs to be a pause key! (esc <-> backspace)
187 6. sentences should start w/ capital letters (Out, Player %d scores,
189 7. you're supposed to let me Fault and then Double Fault before the other guy
191 8. you let me fault on a return - which is wrong :)
192 9. you gave the computer players names iirc, please use them instead of "player