Save and load the current game on quit/start
[tennix.git] / TODO
blobb5153a98bb801ae33c55f83528050e5971646f68
1 Todo and Idea List for Tennix
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 Tennix 2009 Edition (2.0)
5 ~~~~~~~~~~~~~~~~~~~~~~~~~
7 Target release date: 19.02.2009
9 RELEASE-CRITICAL
11  4. Make AI player a bit more intelligent & beatable
12 10. Clean-up the menu appearance / style to be more consistent
13     (remove buttons as much as possible and replace with gfx)
15 HIGH-PRIORITY
17  1. Proper collision detection for ball <-> racket
18     (Different sound + random movement when edge hit)
19     Maybe: make racket less visible until power value is reached
20  7. Allow navigating menu with joystick / keyboard in addition to
21     mouse ("cursor" state that is modified instead of directly
22     using the mouse my mx coordinates)
23  8. Flip coin to determine which player serves
24     (Using the Animation framework + some inkscape'd pictures)
26 LOW-PRIORITY
28  2. Give a visual clue where the ball goes when serving (blinking)
29     (Only when power reaches a certain level)
30  5. Rain moves ball in the negative direction (z -= RAINSPEED)
31  6. Reduce current "power" value when moving in Y direction
32  9. Retrieve the ball when it goes offscreen or into the net
33     (Either via Balljunge mode, long referee hand or "hand of god")
36 ==================================================================
37 ANIMATION FRAMEWORK
38 ==================================================================
40              FROM --------------> TO
41                position (grav+x/y)
42                        zoom
43                      rotation
44                     opacity (??)
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
55  -> NICE TO HAVE:
56     Physikalischer Tennis-ball im Hauptmenü zum herumspielen
58 ==================================================================
59 PHYSICAL PROPERTIES
60 ==================================================================
62 GROUND
63   * Restitution
65 RACKET
66   * Restitution
67   * "power"?
69 BALL
70   * (maximum) Speed (or: speed curve)
71   * Restitution
72   * Elasticity (???)
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 ==================================================================
87 CAREER MODE
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 ==================================================================
98 LOCATIONS
99 ==================================================================
101   * Weather-verlauf pro location gegeben über W-vtlg. mit anschl.
102     berechnung des wetterverlaufs über simulierte stichprobe
105 ==================================================================
106 IN-GAME FX
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 ==================================================================
132 TECHNICAL DETAILS
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++?
142 umsteigen auf c++?
144 ==================================================================
146 CC-Licensed photos from Flickr:
147 Public Tennis Court: http://flickr.com/photos/dan4th/1387725497/
148 Tennis mit Palmen: http://flickr.com/photos/a2gemma/251846846/
149 Melbourne Tennis-Stadium: http://flickr.com/photos/snips/32925154/
150 Tennis Court Nightly: http://flickr.com/photos/exfordy/394570878/
152 Tennis in der wueste: http://flickr.com/photos/mthird3rd/471720012/
154 click sound: http://freesound.iua.upf.edu/samplesViewSingle.php?id=34099
155 rain: http://www.freesound.org/samplesViewSingle.php?id=34067
157 MAEMO WISHLIST
158 ~~~~~~~~~~~~~~
159 Fix sounds (wav, mp3? - ogg doesn't seem to be supported)
160 Widescreen support - 800x480 (make "outer areas" input-accepting)
163 Brainstorming
164 ~~~~~~~~~~~~~
165 Make sound deactivatable (or sound volume settings?)
166 User-settable "sets to win" (2 or 3)
167 Highscore list
168 Setting player names
169 Change between full screen and windowed mode in Windows
170 Implement tie break
171 Implement "hit in the right area on serving"
172 Correct serve repeat when serving into the out