-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
236 lines (199 loc) · 7.95 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
AUTOTOOLS TEMP TODO:
- Should the documents be installed somehow? How about a man page?
- Check that all the options for configure actually works as
expected.
- make dist don't work on mother?!?
NORMAL TODO:
- Better viewpoint following (sure we can reuse some code, and generalize it).
- Make sure exploding tanks are visible!
- Maybe "global viewpoint" command?
- Lige nu - delta i aicasper.cc
- Client_Idle can not change mode when aborting a round????
- We need to encapsulate the canon parameters.
- For reasons I do not know, the ais seems to want to fire at the start
of the second round, and may fail nastily.
- Need to think of ways to test and debug the AI code.
Also, look in AI.txt.
Version schedule.
This is an overview of what features go where. This is subject to change.
The text () is the focus of the "series". E.g. 0.4.0 (AI) means that
everything starting with 0.4. is probably going to be related to AI. The 0.4.0 release
however, is the final release of the previous series.
- Consider; Making a TWorld, that contains the world; Wind, Terrain, Entities, etc?
Should probably be done, postpone to CVS access. For now, I put it into the map.
The game logic and such is still in TGame.
- Consider splitting the menuitems into a larger number of files
(Add TColorMenuItem for starters)
- Make skjalm fix the wind code.
- Should money have interest?
** 0.4.0 (AI)
- Implement wind before going AI. (Sort of done)
- Console
- Make a ceiling?
- Implement AI entities
- Connect to event pipelines
- Preconditiona for relasing version 0.4.0:
- Controls and saving state of
- Video
- Effects
- Make tanks rotation different from each other
- menu_players need to work better.
** 0.4.8 (Postponed menu and controls stuff)
- mouse bindings to axis
- make global variables to adjust the axis on the mouse
** 0.4.9 (Postponed clean up)
- Clean up dependencies between the different state variables
especially the menu stuff and TGame stuff.
- Remove dead code.
- Fix the public interface in a lot of classes.
- a lot of files depends on vector.hh!
- make copy constructors explicit.
** 0.5.0 (Ressource management)
- make flexible path support
- make texture ressource management
- make models ressource management
- make sound ressource management
** 0.6.0 (Models)
- On disk model format
- Loader
- Renderer
- model for missiles
- model for tanks
- Make sure that "heavy" code uses display lists or similar
** 0.7.0 (Map)
- Change format to allow for LOD, culling, etc.
- Use fog?
- make nice map slide stuff/max steepness, wear out when distance to "changereason"
increases
- support more map sizes
- slide on a map should be optional, as well as the max steepness.
- load landscape from file - with spawnpoints for tanks(?)
- LOD on landscape/only render stuff in front of viewer
- Check up on CPU usage during normals recalculation/hole making.
** 0.8.0 (Physics and gameplay)
- Look below for ideas and problems
- simultanous mode
- different tanks?
- direct hit should take out a tank
- support for moving the tank around
- better colision detection with tanks - projectiles should be checked against
tanks as well as the ground
- separate physics engine from code? How?
- use bounding boxes for collision detection with tanks?
- landmines, that explodes when hit
- smoke trail from missiles
- smoke from damaged tanks
- napalm
- rolling bombs
- more projectiles
- burning areas of the map
- trees, stones, bushes
- lakes???
** 0.8.5 (Customization)
- make real console
- support for storing a number of viewpoints for each player
- config/variable/alias/console system that is global for the game.
Maybe each entity should know its game?
- console
- controles
- configuration files
** 0.9.0 (Sound)
- lots of sound names are wrong and confusing
- use OpenAL for sound
- how to get sound into the design at present
- missile fligth sound
- landscape slide sound
- damping on distance
- display sound for in game menu
- better sounds! (Really needed)
** 0.9.5 (Graphics)
- Add a score screen, bound to tab?
- Make a radar display
- Nice rendering of scoll up and down menuitems
- find better textures
- blend textures when height changes. What does tuxracer do?
- better heigth related texturing
- shot animation (smoke?)
- nicer impact animation (smoke?)
- mipmapped textures (does this make a visible difference)
- change between different "stored" viewpoints.
- make nice dynamic HUD for multiple players.
- animate landscape slide/tanks falling?
- is it faster to minimize texture binds, or does it not matter when glList?
- experiment with field of view
- what about the textures - should they be mapped by steepnees, instead of height.
- world map sphere rendering? Skybox? Some kind of background picture
- burned ground texture where hits have happened
** 1.0.0 (User interface)
- Title screen
- Intro?
- Demo mode
- rpm and deb files?
- Publicity, freshmeat, linux games site, etc.
- Look below
** Post 1.0
- Improved graphics, eyecandy, etc.
- Improved sounds
- Network
** Postponed
- Write some documentation
- move data to consistent structure
- implement destructors
- tighten includes
- memory check code
- tidy code
- Make the init order more explicit (needed now?)
-------------------------------------------------------------------------------
* Menu system
- Make a menuitem that issues a command
- Make the menu system smarter, wrt the way it uses variables from the
gamestate
- Render nice background image?
* Design
- all references from display to the current map, should go through the
current game. Or should they? What about the display lists?
- check that we are on track wrt a dedicated server.
- what about "going into orbit" type of events?
- make all types of entities capable of damaging eachoter?
- should the display have the role of the client class, with respect to the
rendering of menus?
* Bugs (Note, some of these may be fixed)
- Is the grabbing of the mouse broken in windows? (Yes on fast pc's)
- The mouse "jitters" when used for movements, etc. Something is wrong.
- Sometimes, someone can not register a command. This may have something
to do with the order the global objects are being created in.
Need to fix this - Singleton pattern?
- visual bugs sometimes - underside drawn? Related to texturing or culling?
This bug may have gone away with the map now using floats for heights.
May be related to the resolution of the depth buffer. Test with moving near
plane farther away.
The conflicts with glu objects seem to be resolved with moving the
clipplane away. However, the problems with textures may persist.
Need to do collision checking with the viewpoint, keeping it "near"
away from everything.
- it seems projectiles that leaves the map explode in the wrong height.
This may be related to the Within method, that I have changed sligthly.
(This may even be fixed).
- there are some color issues when rendering lines with lighting
- checkout if the ostrstream.str operator has memory leaking problems (the
way it is used, that is).
- A vertical projectile sometimes never seem to hit anything!!!!
- explosions take place below the surface? Or is it only when they hit _exactly_
at the corner of a triangle?
- The top 4 lines seems to have a wrong color?
- The tanks are rather "dusty" - the lighting is probably fucked
- There are quite a bit of dead code.
- TMap::LowerAll does not take into account explosions that take place in the
air??? Or?
- Can we get stuck without beeing able to change turns?
- Tons of memory leaks
* Research
- 3d collision detection
- in-front-of/behind issues with planes (viewpoint) etc.
- LOD
* Gameplay/state
- seperate gamestate from "client" side?
* Clean up code
- encapsulate stuff in viewpoint(?)
* Network
- network support