1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Big feature / task list for 2.0

  1. Roadmap
  2. Completion process
  3. Freeze
  4. High-level feature / task list (Hxx)
  5. Developer tasks (Dxx)
  6. Car tuners Tasks (Txx)
  7. Artists Tasks (Axx)

Roadmap

As for now, we target a 2.0 release at the end of 2010, with a beta release in October.

Completion process

  1. Brain storming in the chat meetings and in the devel list ... etc
  2. Vote for priorities (preferences) for high level tasks / features
  3. Decide / propose who will work on what, 1 sub-team for each task / feature, with a leader / responsible
  4. Estimate the amount of time / work for each task / feature
  5. Decide about kept and postponed features / tasks from estimated work and release date

Freeze

The task lists have been frozen at the end of march 2010.

High-level feature / task list

List here the big targets, no matter how and who will implement them, or if 2.0 will have them fully completed or even only started. Each one has a unique Hxx Id, that will not change ever, even if the task/feature is postponed or removed.

Id Feature / task Description
H01 Bug fixes A forever task : among the bugs we detected in release N-1, we have to select the ones we plan to fix for release N
H02 CMake build system Build SD through CMake on Windows / MSVC 2005, Linux / GCC 4, and Mac OS X / GCC 4
H03 SDL port Replace GLUT library by the more modern and actively maintained SDL
H04 Better artwork footprint/maintainability Deliver source material, get rid of RGB, move to JPEG when relevant (otherwise to PNG), clean-up useless files
H05 Improve FPS Be able to race against more competitors at the same time with higher and more stable FPS figures on every track
H06 Simu V3 or Simu V2 ? Study pros and cons, and decide if we can do it for 2.0 (Warning: implies reworking robots and cars setups)
H07 Less potential legal issues Fictional car logos, etc ...
H08 Cleaner / shorter code A medium / long term whole code improvement target
H09 Up-to-date-ness with TORCS A forever task : check TORCS changes on a regular basis, especially in the physics engines code, and apply the ones we find relevant and useful
H10 Career mode A special race mode for a driver's full life-time career
H11 Network racing Race again human friends and robots over the internet
H12 Timed sessions ?Need a description?
H13 Sky and weather realism Realistic sky according to choosen time-of-day and weather conditions at race start ; visual and grip-related rain simulation (1st step, 2.0) ; time acceleration would be useful for 24h-12h-6h-1000km-1000mile races ; random changes of weather and associated grip (2nd step, harder, post-2.0)
H14 Force Feedback Feel the cars reactions on one's hands with force feedback driving devices
H15 Race pause, save to disk and ... restore For long races, be able to save the race state to disk and restore it some days later in a new SD session.
H16 Menu refresh Continue to visually improve the menu and complete full menu skinability through simple XML files
H17 Car setup menu Enable non expert users to tweak with their cars ; see detailed brainstorming somewhere in Speed Dreams or Torcs-NG devel. team chat archives
H18 Car preview and selectable livery Enable the user to choose among multiple available liveries for his car when he chooses it, and so see how it looks in the same menu
H19 Human car choice in race config. menu Break the car <-> human driver hard link, at least in Practice and QuickRace mode (banned in other race types ?) : move the human car selection in the race config. menu, just as for opponents
H20 QuickRace configuration save to disk and ... restore It's always frustrating that you can't save your QuickRace configuration (track, race settings, opponent list) and re-use it later
H21 Telemetry Data extraction / post-processing GUI ; usefull for robot / car setups ; replace / enhance current telemetry system ?
H22 New 3D graphics module In the medium / long term goal to replace the old ssggraph (PLib) module, examine / test alternative libraries / systems : Open Scene Graph, Ogre 3D, ...
H23 Driving assistance Many possible features in this domain (see Haruna's post about that in early 2010 march
H24 New Track Editor Create a new Track Editor ?more details needed?
H25 Improved engine sounds Replace / improve pour ones (relevant to the car engine characteristics, nicer to the ears, louder, more balanced level, more stable in time)
H26 Improved simulated sound environment Better / level-balanced engine sounds, more consistent balance of the sources in the OpenAL backend, ...
H27 In-game music and menu sounds In-game music playback (menu only, or also in-race ?) and menu sounds on clicks and so on
H28 Advanced visual realism for cars Higher resolution textures, better shading, etc
H29 New cars Add new cars sets and associated USR / Simplix setups (F1, Rally, LS2, ...)
H30 More realistic cockpit view A dedicated 3D model for the cars cockpit, through 1 default one for each car set ; no animated gauges for the moment
H31 Improved tracks Texture rework and enhancements, better preview image (one some), reworked track name and description, track localization on Track Select menu (flag image, ...), etc ...
H32 New tracks Add new tracks (Salty, LongDay ? Wunstorf ? ...
H33 Race flags Blue / yellow race flags and rules
H34 Safety car Safety car for rolling start / neutralizing the race (depends on H33)
H35 Separate paths Separate paths for pits / alternative routes
H36 Replay Instant replay, and the ability to save and later review them
H37 Ghost cars A car representing a saved hotlap is also shown
H38 Realistic and consistent parameters for cars For some car parameters (in the <car>.xml file), we often have to use non realistic values to get a realistic behaviour ; this makes car setup difficult to achieve and maintain, if not unreadable by non experts

Developer tasks

List here the tasks that developers will have to achieve in order to implement the big targets described above. Many will probably be postponed when we'll assign priorities and make the list match with the release roadmap. Each one has a unique Dxx Id, that will not change ever, even if the task/feature is postponed or removed. In the possible assignment, names with a question mark (?) are only suggestions( please add the ? or remove your name if you are not sure or don't agree :-)

Id Task Description Status Possible assignment (dedicated sub-team) Dependencies
D01 Bug fixes See above : select the ones we want to fix and fix them To do Developers
D02 No more memory leaks Track them down (use valgrind under Linux) ; Customized memory allocation using a double linked list to allow garbage collection (similar to the single linked list used in the team manager code and the debug code checking for overridden block markers) (find a solution for the sooo huge slow down in race mode that makes valgrind nearly unusable) Linux: Mart Windows: Wolf-Dieter?
D03 SDL port See above + move input device management to SDL Implemented, might need testing and bug fixing Mart, Brian, Jean-Philippe
D04 CMake build system See above. Some last features to finish / add (out of source build, replace "TORCS_XXX" variables and macros by "SD_XXX", finish robot development framework install system Implemented, needs testing and last small features Mart, Jean-Philippe
D05 JPEG image support Useful at least for lighter menu background images Implemented, needs testing Brian
D06 Remove dependency on ALUT We only use it for loading/unloading WAV files into OpenAL buffers, and through 2 deprecated functions ; can be easily replaced by calls to SDL, as explained here ; at most 2 hours of work Jean-Philippe
D07 Try Python for menu code Try and integrate smoothly Python in the Menu system to see if it could one day replace C++ for non FPS critical code Jean-Philippe
D08 Code profiling Run an exhaustive study about where the CPU is consumed in the code (Physics engine, robots, graphic engine, ...), in the various relevant configurations (tracks, robots, simu. engine ...) Jean-Philippe, Wolf-Dieter, Mart
D09 Simu V3 or Simu V2 ? See above Depends on Christos plans, may be we can have an influence on it ... Jean-Philippe, Mart?, Andrew?, Wolf-Dieter, Kilo?
D10 Support for tracks graphics optimization May or may not be necessary, according to the conclusions of the artists task "Fix tracks that kill FPS" ?
D11 Support for multiple cars with same 3D model Would be usefull for the Indy car set, to avoid copying the same 3D model everywhere ?
D12 Support for 3D cockpit model Each car can have it own one, but the category default is here in case not Not implemented Jean-Philippe with Andrew's help ?
D13 Multi-threading preparation Start a whole code architecture / data flow review / study in order to identify how it could become multi-threaded one day and where / what changes must be done to achieve it ; if a simple first step can be found, do it Jean-Philippe, Wolf-Dieter, Mart?
D14 New 3D graphics module See above. Brian
D15 Up-to-date-ness with TORCS Se above To do Developers
D16 Career mode See above To be checked again (known problems with human driver) ; upgrade to Simplix, USR (and Kilo) robots Mart, Jean-Philippe
D17 Network racing See above Work in progress, needs testing , user feedback Brian
D18 Timed sessions See above Implemented for raceengineclient, need to be implemented for robots Mart, Wolf-Dieter, Andrew
D19 Weather simulation As a first "static" step, the weather is chosen at race start by the user or for a championship, the weather is taken on a probability in the xml track, and doesn't change, neither the track Mu (in a next post-2.0 "dynamic" step, the weather and grip could randomly change as in real life, but this may imply changes in the robots code) Implemented, need some changes to make better readable code / xml-files Xavier, Kilo
D20 Time-of-day simulation See above Implemented, need some changes to make better readable code / xml-files Xavier, Kilo
D21 Force Feedback See above. Decide if we use SDL or OIS or ... May also imply moving all input device code to the chosen library Not implemented Jean-Philippe
D22 Race pause, save to disk and ... restore See above ?
D23 Start from the pit in practice and qualification mode Just as in real life (Implemented before; potential problem with pit-sharing) Mart
D24 Allow 2 or more surfaces/sides in tracks Even 2 would help with realism, as it is common at turn exits on the outside that there is a kerb, then a narrowing gravel trap and finally a widening grass, which just could not be made in the current system. ? D43, D45
D25 Telemetry extraction Add telemetry data extraction in the code (what data, what format, where to collect, ...) Kristof, with help, Kilo?
D26 New menu controls Support for enhanced XML descriptors (more controls, generic constants for use in the code, ...) Work in progress, needs testing Brian
D27 A C++ menu API A cleaner and more modern menu API, to support enhanced XML descriptors, and make the code simpler. Also a nice step to make Python integration in the menu system simpler Jean-Philippe, Brian?
D28 Car setup menu See above (study what data should be editable, how to compute other necessary ones automatically, ... and prototype menu(s) layout with sd-menuview) Brian, Kristof, Wolf-Dieter
D29 Car preview and selectable livery See above. May imply adding a new "human garage" menu in the "Race configuration" menu sequence, and also change the "Driver select" menu Jean-Philippe?
D30 Human car choice in race config. menu See above. Probably through a new "human garage" menu in the "Race configuration" menu sequence Jean-Philippe?
D31 QuickRace configuration save to disk and ... restore See above ?
D32 More options in menus to switch off/on C/GPU demanding features Usefull for weak configurations, or to race against more opponents, etc ... Many ideas to collect, sort out and put into existing / new options menu Jean-Philippe
D33 Driving assistance See above. Study possible features and find a reasonable and consistent set to implement (see Haruna's post about that in early 2010 march ?
D34 Improved OpenAL sound Some improvements to achieve in the OpenAL backend : unbalanced / strange levels of sound components / sources, ... Jean-Philippe
D35 In-game music and menu sounds See above : add support for in-game music playback and menu sounds on clicks and so on ?
D36 Optimize robots computations Probably some of the computations that each robot does could be only done once for all at each simulation loop ; among drivers with the same genes, but may be also farther (between USRs and Simplices + Kilo) ; probably some other optimizations could be implemented ; needed inputs from the "code profiling" task Wolf-Dieter
D37 Easier USR setups for new car sets Improve code if possible in this purpose, as we'll get more and more car sets in the future ; The simplix skilling is nearly linear, the usr's not. Andrew?
D38 Kilo robot Add new robot and make it drive at least 1 car set (LS-GT1 ?) Implemented, need little SD integration and car setup Kilo
D39 All robots to Simplix 1-source / multiple DLLs scheme Avoid duplicating source code in USR and Kilo Wolf-Dieter? Andrew? Kilo?
D40 External GUI for telemetry data Create an external tool for telemetry post-processing / analysis ; language + GUI lib to be choosed => C++ / Python + Qt 4 ? Kristof
D41 sd-menuview tool Preview menus through their XML descriptor without running SD ; excellent for prototyping new menus to come Implemented, needs testing Brian
D42 Sound Editor Create a Sound Editor to help converting wild sound samples into SD sound engine compatible samples Work in progress ; already usable, but more accurate analysis and synthesis algorithms to be implemented Jean-Philippe
D43 New Track Editor See above Work in progress Mart
D44 i18n Translate the program into non-English languages Implemented before Mart
D45 Rewrite trackgen Rewrite trackgen to add features like separate path Mart
D46 Robot interface for future features Already add a robot interface for features which will not make it to 2.0. Mart
D47 Simpler way in the menus for first-time users Make things more obvious for them, through a first-time "wizard" : display options menu, then "give your name" page, then control configuration menu, then simpler race type choice menu, ... etc ; integrate new ideas coming from users' feedback ; ... ?
D48 Code for parameter translation Put code to simuv2 to change realistic parameters to ones giving realistic behavior Kristof
D49 Review and change surface parameters Make surface parameters concerning tire behavior more realistic. Kristof
D50 Review robot setups after parameters have been changed After the transition of track and car parameters and required changes in simuv2 review and if necessary correct robot setups Wolf-Dieter

Car tuners Tasks

Some will probably be postponed when we'll assign priorities and make the list match with the release road map. List here the tasks that artists will have to achieve in order to implement the big targets described above. Each one has a unique Txx Id, that will not change ever, even if the task/feature is postponed or removed. In the possible assignment, names with a question mark (?) are only suggestions( please add the ? or remove your name if you are not sure or don't agree :-)

Id Task Description Status Possible assignment (dedicated sub-team)
T01 Fine tuned LS1 setups Fine tune for better handling and robots compatibility ; valuable test-drive reports by Kristof and Kennet in the users and devel mailing list archives (early 2010) Haruna, Kristof, Wolf-Dieter
T02 LS2 setups To do A first try (6 cars) Haruna, Kristof, ?
T03 Rally car setups To do Andrew?, Haruna?, Xavier
T04 F1 car setups To do WIP (2 cars) Xavier
T05 Indy car setups To complete WIP (1 car model, 14 setups/textures) Xavier, Kristof
T07 GP1600 car setups To complete WIP (1 car model, 1 setup) Kristof
T06 Cross-carset consistency Make down force/ grip levels more realistic and consistent between different car sets, including already existing ones To do Kristof

Artists Tasks

Many will probably be postponed when we'll assign priorities and make the list match with the release roadmap. Each one has a unique Axx Id, that will not change ever, even if the task/feature is postponed or removed. List here the tasks that artists will have to achieve in order to implement the big targets described above. In the possible assignment, names with a question mark (?) are only suggestions( please add the ? or remove your name if you are not sure or don't agree :-)

Id Task Description Status Possible assignment (dedicated sub-team)
General
A01 Bug fixes See above : select the ones we want to fix and fix them To do Artists
A02 GIMP files should be stored in the "compressed XCF" format (natively supported by GIMP) as *.xcf.bz2 Team
A03 All RGB to PNG Convert all textures to PNG and now all textures must be PNG Xavier, Eckhard, Haruna
Cars
A04 Multiple liveries for cars Design alternative liveries for selected car sets / robots ?
A05 Advanced Realism for Cars Use Blenders texture backing for better shadings
See: Adding realism to car skins using Blender Texture Baking
Eckhard, Andrew, Haruna
A06 2048 car texture size Any new car texture should be 2048x2048 Team
A07 1024 wheel3d texture Any new wheel3d.png should be 1024x512 Team
A08 SC improvement 2048 textures and baked shadows, may some light optimizations,
the F360 right side needs a flipped mapping
1 of 6 Eckhard
A09 GP36 improvement More texture details on the GP36 car set and baked shadows Andrew, Eckhard
A10 LS1 car set Polish the LS1 car set templates: 4 of 7 ; liveries: 8 of 28 Haruna
A11 LS2 car set Finish the LS2 car set WIP in sdl-port branch (6 cars) Haruna?
A12 F1 car set Complete the F1 car set WIP in sdl-port branch (2 cars) Xavier?
A13 Indy car set Complete the Indy car set WIP in sdl-port branch (1 car model, 14 setups/textures) Xavier?
A14 Rally car set Replace the non-free and old PW set by a brand new free one, based on Andrew's one (to be resurrected) and/or Xavier's one Andrew's set exists but how much remaining work ? Xavier's one is in sdl-port, but needs free textures and tuned setups at least Andrew? Xavier?
A42 GP1600 car set Complete the GP1600 car set (as a monotype one : 1 only 3D model) WIP in sdl-port branch (1 car model, 1 setup/texture + 4 textures by Sebastian Heni) Haruna
Tracks
A15 Fix tracks that kill FPS Some tracks break FPS down on some sections (ex:front and back straights of Forza) ; find out why, how to fix it, and fix it ; may imply some work on the developers' side ?
A16 Alpine-1 Texture rework DONE but not checked in yet Eckhard
A17 G-Track-3 Texture rework and PNGed DONE but not checked in yet Eckhard
A18 Dirt-1 Finish rework 2 of Dirt-1 Eckhard width help from Andrew
A19 G-Track-2/ Aalborg Texture Improvement overall, convert all *.rgb images with prefix to PNG Eckhard
A20 Dirt-2,4,5,6 Remake all dirty tracks Xavier, Haruna, Brian, Eckhard, Andrew?
A21 Wunstorf Finish and add the new track by Sebastian Heni Sebastian, Andrew, Eckhard
A22 Forza GP Finish and add new track by Sebastian Heni ; verify textures for trademarks and Torcs name, convert to ACC Sebastian, Andrew, Eckhard
A23 Spring Finish rework Eckhard
A24 Michigan Speedway Texture rework DONE but not checked in yet Eckhard
A25 Salty Finish new track Work in progress Kilo
A26 Long Day Finish new track Totally lacks environment Kilo
A27 Petit Track is in SDL under Gprix, Pimp it up a bit Work in progress Kilo
A28 St Pete Waterfront Add new Indycar/ALMS city track with an airport runway involved Work in progress Kilo
A29 Nepliget Add new track (Budapest 36GP) Work in progress Kilo
A30 Texas Motor Speedway or Chicagoland Add new speedway track Work in progress Kilo
A31 Oval circuit set rework We need to cover all the bases of oval circuits: 1) Arena-style half-mile oval 2) Local quarter mile dirt track 3) 2.5 mile superspeedway 4) Trioval less than 2 miles 5) An Indianapolis clone (no Indycar set would be complete without one) 6) 1 mile speedway (oval-shaped) ; Michigan and A-speedway are OK, but not the others => rework or replace ; Texas Motor Speedway or Chicagoland (see above task) are in ; Daytona can be a base for the oval race and the Daytona 24h, too Kilo, ?
Other
A32 TrackSelect menu Better track names, and description (with location);
update some background images to show proper texture quality of the track
Track authors, team, Eckhard
A33 Menus layout Improved menu layout through enhanced XML descriptors (go on along 1.4.0 way) Brian, Eckhard
A34 Pylons Cool located pylons (country flag, track name, ...) for every track team, Eckhard
A35 Starting line lights For every track, on the pylons Already done for 1 track (which ?) ; support code ready team, Eckhard
A36 Dashboard Improved dashboard inside game and "Wrong Way" hint Team, Eckhard
A37 Car and Sponsor logos All created car type and fictional racing sponsor logos should be stored in SVN under /doc/design Team
A38 Gauges per category Speedometer and RPM display per car category Eckhard > GP36, SC; Haruna > LS1, TRB
A39 3D cockpit models A default simple one for 36GP, TRB1, LS1, SC Xavier, Andrew?
A40 Improved engine sounds See above. For all cars to be delivered. The Sound Editor can be of great help for that. Some improvements in the OpenAL backend code could be necessary (unbalanced / strange levels of sound components / sources) Jean-Philippe
A41 In-game music and menu sounds See above : find free nice music (a good choice on Jamendo like this ; Adam Spade also proposed to compose for us) and menu sounds (ex: option changed, screen confirmed , screen abort at the menu Hint) ?