speed-dreams/TODO.txt

118 lines
6.3 KiB
Plaintext

Top TODO list (some may be included in 2.1.0, some others not):
---------------------------------------------------------------
Note: This material is not yet integrated into our Wiki, but should.
See http://sourceforge.net/apps/trac/speed-dreams, Developers corner.
Cars:
- improve damage management (see Andrews ideas in the the devel list,
under the title "Thoughts on collision damage").
Menus:
- enable intuitive double-click for "Select/Unselect" action in the scroll-lists
of the driver select menu
- new menu for human driver car setup : may be only a reduced set of parameters
would be accessible first, with default values for others ; some thinking work
about which go in this set wand which don't.
- Go on with Brian's XML menu infrastructure :
* move new guimenu.h/cpp functions Create*, Get*, Load*, Read*
to a new dedicated source file (guixml.h/cpp ?)
* rename these functions to be consistent with Gfui API (add a GfuiXML prefix ?)
* add support for keyboard shorcut XML description
(with defaults like for F1, F12 ... and also customizable ones).
* add support for dynamic background image.
* move the whole thing to a GfuiXMLMenuDescriptor class, for nice access
to menu properties, controls, objects ... by their name or index (in the XML file)
Robots:
-
Program:
- network gaming - take over Brian's unfinished work, or restart from scratch
(using graphics data transmission rather than physics one,
see devel list discussions)
- as we want to increase the details (cars, tracks, ...), think about better and deeper
management of the level of detail, filtering-out objects that are not in the focus
of the camera (if not already done somewhere ?), from a "high" level for close objects
to a "low" level for very far objects, with 1 ou 2 intermediate distance levels.
As an example, use the auto-generated 3D wheel model for low levels (decrease its details),
and the designer-shipped one for high level (increase its details : more round wheels).
=> rather rewrite the graphics engine from scratch with some modern engine
like OSG, Ogre3D, Irrlicht ...
- replay feature - Work in progress by Simon Wood (Mungewell)
- ABS, TCL, EPS implemented in simuV4 as optional feature per car type
Can be enabled/disabled by driver/robot in the setups.
TODO: Enable/Disable while driving as human player
Test the parameters used by human drivers (Same fo all cars at the moment)
If needed define car type specific parameters.
Other:
- finish the Mac OS X port (with CMake) : ~95% done. Compiles completely but does not run.
Plib is the biggest source of headaches. CMake integration still unfinished in that way.
- think about how to integrate Haruna's fictious racing teams backstories in the game
(ex: LS1 in 'LS1 team "backstories" (for fun)' devel list post)
TODO for 2.1.0 or after (some are current on sdl-port and career branches)
--------------------------------------------------------------------------
Cars:
- create / setup new LMP1 car set (Andrew)
- complete / setup MP1 (RL = F1) car set (including Formula One by Andrew Sumner,
F1-torcs by Vincente Marti, and models converted by Xavier from GP4 game)
BUT: what about Manfariel's F1 2009 models?
- add petrol, bewy and mf1 to SuperCars set, as proposed by Wolf-Dieter
BUT: There are still no front-engined cars!
=> see also discussion on dropping the TRB1 set and reuse its nice models
in other existing / future sets.
- check in the Pacejka book to see if the way mu is computed from tire load
(= tire load sensitivity) is OK (simu V2 / wheel.cpp / SimWheelUpdateForce function)
- ALL CARS: create LOD models to reduce graphical stress in big-grid races or on low-spec CPUs
(or worse, both :/)
- rework the current stock car model to the newer model 'Car of Tomorrow'
- Hillclimb car with over 800 bhp?
BUT: Is it fun?
- increase volume of backfire sound and gear shift sound (OpenAL)
- implement low-pass filter (OpenAL extensions)
Robots:
- setup USR and Simplix robots for reworked 4WD carset.
- setup USR and Simplix robots for new LMP1 carset.
- setup USR and Simplix robots for new Indy carset.
- setup USR and Simplix robots for completed F1 carset.
Menus:
- Smart 3D view showing the selected car when choosing it
Program:
- improve command key management in human.cpp (there's 2 arrays indexed
by the unicode of the keys (!), whereas we only use no more that 25
different keys ; for the moment, these arrays were limited to 4096 items,
but this is probably not sufficient in Japan or China ...
=> we must find a better indexing of these array, to use the really needed
minimum number of key entries in these arrays (may be with some king of
indirection ?)
- Support for 3rd party robots, cars and track. 3rd party robot builders
should be able to use our CMake macro's, so we need to make some changes
to these macros and install them in such way that a robot can find it
during compilation.
- Done: Implemented simple memory leak detection by overriding
malloc, calloc, realloc, strdup, free, new, delete ... etc
in order to save informations about the caller in the allocated block.
To collect infos about the caller the return address is taken from the stack
( __LINE__, __FILE__ ... cannot work without changing all the callers code)
(Solved and tested for VC++, outstanding of MinGW/gcc).
- introduce human driver assistance features, like Line Assist System (LAS)
and Instructor's Braking System (IBS) ;
also improve human skill level management in order to prevent rookie players
from winning too easily (by limiting car capabilities, and particularly removing
the extra-grip and replace it by driving assistance) and to scale driver assistance
availability / capabilities ;
add also something for preventing you from smashing into the back of the car in front
(see Haruna's detailed post on the subject
and associated thread http://sourceforge.net/mailarchive/forum.php?thread_name=e17477d90904182050lc339f5cy6b4908ed8dc1723%40mail.gmail.com&forum_name=speed-dreams-devel)
- introduce AI vs AI duel tournament mode for casual robot programmers (similar to
R-TYPE FINAL's 'VS AI' mode); with varying car types, tracks, and robot competence
- Add co-driver/navigator signals and sounds for dirt and certain road tracks to be
used in rallying game modes