Use SDL_ttf for font rendering; drop old font code
[tennix.git] / TODO
blob6bed1f1700cb39fb6a6c1e65c5c8da135b217740
1 Todo and Idea List for Tennix
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 RELEASE PARTY FEB 09 ("Tennix 2009 Edition")
6 ==================================================================
7 MENU AND NAVIGATION (COSMETIC)
8 ==================================================================
10  -> Make options menu same style as main menu
11  -> add picture to left side of main menu
12  -> NICE TO HAVE:
13     Physikalischer Tennis-ball im Hauptmenü zum herumspielen
16 ==================================================================
17 IMPORTANT GAMEPLAY ISSUES (NEEDS FIXING!)
18 ==================================================================
20  => RAIN SHOULD NOT CONFLICT WITH ANYTHING (i.e. "out" sound should not
21  stop rain sound from playing!)
23 basic user experience testing results:
24  * Fix "hit area" for racket -> make outside areas also hit the ball or
25                                 add a sound to make it audible that the
26                                 ball hit the edge area of the racket.
27                                  COLLISION DETECTION BEI RACKET!!!
28  * Give a visual clue where the ball goes when serving
30  * AI is currently broken
31    "Satz vom sportlichen Statistiker" (add statistics features to AI)
34 ** PHYSICAL PROPERTIES **
36 GROUND
37   * Restitution
39 RACKET
40   * Restitution
41   * "power"?
43 BALL
44   * (maximum) Speed (or: speed curve)
45   * Restitution
46   * Elasticity (???)
48 Regen erhöht gravity (oder ist fixes, negatives move_z??)
51 [####--->    ]   "Power bar" für schlagstärke
52    => "während man läuft, schlägt man nicht so gut, wie wenn
53        man steht"
56 ==================================================================
57 PARTY MODE AND INPUT ISSUES
58 ==================================================================
60 Multiplayer with Input manager / Input selection (like Fifa 96)
61 Proper gamepad axis support (can we do this in general?)
62 Tournament config / setup / frontend (GTK+/Qt/[...]?)
64 read keyboard input mappings from config file and generate bindings
65 dynamically or even allow new input devices configured in the UI
67 allow menu navigation with joystick / keyboard in addition to mouse
69 Münze werfen bei Spielbeginn
73 ==================================================================
74 CAREER MODE
75 ==================================================================
77   * Ball + racket buying/selling/upgrading
78   * Schläger: upgrades [name, verbesserung, kosten, haltbarkeit]
79   * Person, Training: Laufgeschwindigkeit, Vorhand/Rückhand
80   * add wear (abnutzung) to ball and racket, so one has to buy new
81     stuff every now and then ("design charge" vs "current charge")
85 ==================================================================
86 LOCATIONS
87 ==================================================================
89   * Grand slam locations
90   * Weather-verlauf pro location gegeben über W-vtlg. mit anschl.
91     berechnung des wetterverlaufs über simulierte stichprobe
94 ==================================================================
95 IN-GAME FX
96 ==================================================================
98  * Grafische Darstellung der hit points des Balles am Ground
99  * Wind (modifies the ball movement)
100    Wind darstellen über die rot-weiße "Windfahne"
101  * Snow (christmas edition?)
102  * Sunshine (=current, normal behaviour)
104 Balljunge (oder lange Schiri-Hand)
105 Schiri spannt Schirm auf, wenns es regnet
107 Ballgröße am Bildschirm verändert sich je nach Höhe (weil die
108 Kamera von oben ist) --> selbiges mit Shadow!
110 Shadow computer-generiert??
111 Shadow x2/x4 wenn Nacht-Modus (weil scheinwerfer!!)
113 Kleinere Schläger, dafür mehr Sprites für die Animation
114 Schläger einfärben per SDL möglich? (HUE-verschiebung)
115 Schatten für schläger (ebenfalls computergeneriert möglich?
117 Sound effect groups: Group the same types of sounds (e.g. voice,
118 racket, ground) in one sound "GROUP" that shares a channel.
121 Trainings-Modus mit Zielscheibe
123 Möglichkeit, ans netz zu gehen, aber dann kann man sich nur mehr
124 einen kleine bereich auf- und abbewegen (mario).
126 ==================================================================
127 TECHNICAL DETAILS
128 ==================================================================
130 librsvg for rendering the SVG source files in-game instead of
131 shipping pre-rendered PNG files (would allow us to modify XML)
133 Garbage collector für c/c++?
135 umsteigen auf c++?
137 umsteigen auf SDL_ttf?
138 => /usr/share/fonts/truetype/dustin
140 ==================================================================
142 CC-Licensed photos from Flickr:
143 Public Tennis Court: http://flickr.com/photos/dan4th/1387725497/
144 Tennis mit Palmen: http://flickr.com/photos/a2gemma/251846846/
145 Melbourne Tennis-Stadium: http://flickr.com/photos/snips/32925154/
146 Tennis Court Nightly: http://flickr.com/photos/exfordy/394570878/
148 Tennis in der wueste: http://flickr.com/photos/mthird3rd/471720012/
150 click sound: http://freesound.iua.upf.edu/samplesViewSingle.php?id=34099
151 rain: http://www.freesound.org/samplesViewSingle.php?id=34067
153 MAEMO WISHLIST
154 ~~~~~~~~~~~~~~
155 Fix sounds (wav, mp3? - ogg doesn't seem to be supported)
156 Widescreen support (??)
159 Brainstorming
160 ~~~~~~~~~~~~~
161 Make sound deactivatable (or sound volume settings?)
162 User-settable "sets to win" (2 or 3)
163 Save game and continue game later on
164 Highscore list
165 Setting player names
166 Change between full screen and windowed mode in Windows
167 Implement tie break
168 Implement "hit in the right area on serving"
169 Correct serve repeat when serving into the out