Big feature / task list for 2.0
- Roadmap
- Completion process
- Freeze
- High-level feature / task list (Hxx)
- Developer tasks (Dxx)
- Car tuners Tasks (Txx)
- 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
- Brain storming in the chat meetings and in the devel list ... etc
- Vote for priorities (preferences) for high level tasks / features
- Decide / propose who will work on what, 1 sub-team for each task / feature, with a leader / responsible
- Estimate the amount of time / work for each task / feature
- 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) | ? |