Skip to content

TORCS extended with intersections and scriptable control of drivers

License

Notifications You must be signed in to change notification settings

mlab-upenn/torcs-extended

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction
------------
This is an all in one package of TORCS. Be aware that some included
artwork has non free (in the GPL sense) licenses, you will find a "readme.txt"
in those directories. The rest is either licensed under the GPL or the Free
Art License.


Non-Free content (in GPL sense)
-------------------------------
Here the list with the directories containing non free content, look at the
readme.txt for details:
- data/cars/models/pw-*
- data/cars/models/kc-*


Linux Installation from Source
-------------------------------
- Requires plib 1.8.5, FreeGLUT or GLUT, be aware to compile plib with -fPIC
  on AMD64 if you run a 64 bit version of Linux. Be aware that maybe just
  1.8.5 works.
- Untar the archive
- cd into the torcs-1.3.1 directory
- ./configure (use --help for showing the options, of interest might be
  --enable-debug and --disable-xrandr).
- make
- make install
- make datainstall
- start with "torcs"

Command line arguments:
* -l list the dynamically linked libraries
* -d run under gdb and print stack trace on exit, makes most sense when compile
     with --enable-debug
* -e display the commands to issue when you want to run under gdb
* -s disable multitexturing, important for older graphics cards
* -m use X mouse cursor and do not hide it during races


Windows Installation from Source (Release)
------------------------------------------
- hint: you can have a release and a debug build side by side, the release
  version goes to "runtime" and the debug to "runtimed".
- requires VC++ 6.0 (tested with sp6)
- untar the archive into a path without whitespaces and special characters.
- cd into the torcs-1.3.1 directory
- run setup_win32.bat
- run setup_win32-data-from-CVS.bat
- select the TORCS project and the w32-Release version
- compile project (0 warnings)
- cd into the "runtime" directory.
- run "wtorcs.exe"


Windows Installation from Source (Debug version)
------------------------------------------------
- hint: you can have a debug and a release build side by side, the debug
  version goes to "runtimed" and the release to "runtime".
- requires VC++ 6.0 (tested with sp6)
- untar the archive into a path without whitespaces and special characters.
- cd into the torcs-1.3.1 directory
- run setup_win32_debug.bat
- run setup_win32-data-from-CVS_debug.bat
- select the TORCS project and the w32-Debug version
- compile project (0 warnings)
- cd into the "runtimed" directory.
- run "wtorcs.exe"


Testing
-------
Please pick bugs below and retest them (you can find the original reports on
http://sourceforge.net/tracker/?group_id=3777&atid=103777, select "any" bugs to
see as well the closed ones). If you find problems which should be already
fixed or new ones please report them to the torcs-users mailing list.


Getting Help
------------
During the game press F1. For more in depth information visit www.torcs.org,
you find there a lot of information, look at the documentation section on
the left, have as well a look into the list of howto's. If you are stuck
have a look into the FAQ to learn how and where to report a problem.

Have fun, bye

Bernhard.




Changes since 1.3.1
-------------------
- Fixed remaining const char* gcc 4.3 warnings (Bernhard).
- Just load ssggraph once to avoid weird crashes when going back to the options
  menu and coming back to the race (just Linux was affected, the Windows
  version does not work the same way regarding this) (Bernhard).
- Applied corrections suggested by Kim Oldfield to the robot tutorial (Kim, Bernhard).
- Adopted TRB result submission for 1.3.1 (Bernhard).
- Adopted TRB result submission for new PHP DOM version (Bernhard).
- Fixed minor TRB bug which showed/labeled links to Signin/remove teams during the
  race phase (Bernhard).
- Replaced hardcoded upload limit in TRB with configuration parameter (Bernhard).
- Bumped TRB version number to 0.0.2 (Bernhard).
- Commited TRB creation of indices (Bernhard).
- Adjustments to car3-trb1 to make it more competitive (Bernhard).
- Added new car8-trb1 (Bernhard).
- Reduce front car advantage in slipstreaming scenarios (Bernhard).
- Ground effect drop off more dramatic when airflow comes sideways, no ground
  effect anymore when driving reverse (Bernhard).
- Increased Cd (drag coefficient) for car1-trb1 (Bernhard).
- Improved efficiency of pit wall collision detection (Bernhard).
- Applied Erics explicit wheel model code with some modifications: in the cars
  "Graphic Objects" section you can define "3d wheel directory" (e.g. "mywheel-1")
  and "3d wheel basename" (e.g. "mywheel"), then TORCS tries to load
  "wheels/mywheel-1/mywheel?.acc", where ? is 0..3 for different rotation rates.
  Later we could also move the wheel only specific simulation properties into
  an xml belonging to the wheel (Eric, Bernhard).
- Do not try to load wheels when configuration is missing (Bernhard).
- Added Erics wheels for sc-f1 with modified texture/configuration (Eric, Bernhard).
- Fixed wrong scaling of steering input display (Bernhard).
- Created new car category for trb1, moved initially trb1 cars into it (Bernhard).
- Improved moment calculations for aerodynamic forces (Bernhard).
- Default setup adjustments for trb1 cars (Bernhard).
- Created new trb3 category, assigned car1-trb3 to it (Bernhard).
- Created new category ow1, moved sc-f* to car1-ow1 (Bernhard).
- Adopted Windows port to changes (car categories, wheels, etc.) (Bernhard).
- Bumped version to 1.3.2-test1 (Bernhard).



TODO for 1.3.2
--------------
- Rename *ascar category/car (get rid of *acsar)
- Menu sound
- New wheels for trb1/3 cars
- Some adoptions for gamepad calibration



TODO for 1.4.0
--------------
- Adjust categories.
- Apply SDL patch from Brian Gavin (rescheduled to 1.4.0 to get to to test
  seriously).
- Update OpenAL to 1.1, fix use of deprecated stuff.
- Move from VC++ 6.0 to 9.0 (VS2008)



TODO for Compliance
-------------------
155-DTM -> replace with car8-trb1
acura -> replace with car9-trb1
mc-larenf1 -> replace with car10-trb1
nascar -> replace with car1-stock1 (would be nice to have ~5 different cars)
p406 -> replace with car1-trb4



Later:
-------------------
- When car is moving sideways, the engine sound source seems shifted to the
  side under OpenAL (2.0).
- Add valgrind option to "torcs".
- Include suppressions file for valgrind.
- (Fix parallel build with make -j n, breaks currently in SOLID) (Bernhard).
- Ongoing for every release: rework free car models (several holes, no
  emmissive color of lod (model becomes dark at a certain distance), single
  sided, add cockpit, lods).
- Ongoing for every release: Improve visual quality of some existing tracks
  (e.g. e-track-3, eventually wheel-1, e-track-2).
- Texture clamp to edge needs explicit setting in nvidia driver tab in windows,
  have a look into that (otherwise the border is not taken as color around the
  pit door, pits are quite dark around the logo).
- fix tools (accc, trackgen, etc, these are way too touchy).
- make trackgen generate two sides for barriers and use just one sided
  polygons (better diffuse lighting).
- fix sound in split screen multiplayer. [in progress] (ask Christos).
- Ongoing: Replace some defines with "static const" to be able to see the
  symbol name when debugging.
- move berniw/bt spline code into math to share it.
- hunt down all glGet* crap during the simulation.
- (Problem when driver list changes during championship.)
- (add proper init/shutdown to every module which is not bound to anything else
  but the loading/init/shutdown/unloading process.)
- (make use of pbuffers to render trackmap if available.)
- Update FAQ
  "mencoder -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1800 \*.jpg -mf on:type=jpeg:fps=25"
  the backslash got swallowed by the CMS.



TODO for 1.9.x (pre 2.0 series, no release)
--------------
- Design networking, how to embed it into TORCS?
- Networking prototype.
- Gaming modes suitable for online races.
- Cockpit inside view.
- Set up infrastructure for reading binary data files bit with and endianness independent.

TODO for 2.0.0
--------------
- Goal: best online racing game in terms of stability/playability. Most
  commercial games really suck in this department, I hope we will do it better.
- Initial Networking.


TODO LATER
----------
- Add validation for the case no driver selected, do not exit to
  console.
- Fix more memory leaks (already hunt down a LOT there are still more).
- Networking (2.0).
- Rework the whole AC file loaders and state management (most of the remaining
  memory leaks).
- Replace vector/matrix oprations with an efficient implementation (-> use
  SIMD, e.g. enhanced version of v2/v3d.h with SIMD alternatives if compilers
  are not more clever at this time (currently they suck on useful vectorizing)).
- SMP simulaton core (for myself).
- Replays.
- Setup editor (add a function to the robot interface to ask the robot
  about the location or a file handle for its setup file, perhaps a
  close function is needed as well).
- Telemetry recorder/viewer.
- Redesign/Reimplement multitexturing and fileformat.
- Apply light maps to skid marks, smoke and wheels, etc.
- Phong specular highlights (optional env, cube or GLSL).
- Shadowmapped/Stenciled dynamic car shadows.
- Compile/crosscompile on MinGW/Cygwin/Linux for Windows native.
- so/dll with libtool, common code?
- 3d-grass.
- Dynamic sky.
- Pace car and trucks to remove wrecks (remove "virtual" crane).
- More Rules.
- TRB integration.
- Fix/create new simu/switch to updated/new simu.
- (clean up simuv3 conflicts)
- Show just fitting resolutions for fullscreen/change for windowed mode.
- Make it possible for a robot module to carry any arbitrary number of
  drivers (instead of static 10).
- Solve problem of wheels cutting the car body (stencil?).
- Nicer Tires, a bit more round, better lighting.
- Separate components more clean (e.g. ssgInit should go back to
  ssggraph, etc.)
- persistent skidmarks (simply put them back into the shadowmap after
  the race? Extra texture? Just restore them?), restore function.
- Make Windows debug build work.
- Fix windows project such that it compiles in all locations (currently it
  fails if special characters are in the path).
- Avoid cameras cutting the landscape.
- Rework models (holes, just single sided polygons for culling, etc.)
- Check (and fix if neccessary) screenshots on Windows, still wrong gamma?
- API to change setup during the practice mode.
- Timed races (e.g. 24h).
- Allow more mouse events /suggested by Frieder -> mouse wheel for gear
  switching).
- Start position marks on track (same technique like fake shadow, skids).
- Start procedures (pace car, etc).
- Better transparency for track objects.
- More driving aids, switch to AI and back.
- localization (e.g English, French, German, ...).
- add compatibility lib for strndup etc. on win32.
- New GUI.
- driving/races in reverse track direction.
- Check for consistency of simuv2/simuv3.
- verify that simulation obeys conservation of momentum and energy.
- optimise simuv3.
- Fix engine inertia/s of F1 cars, check/fix all other cars as well.
- Opponent sets for human players (e.g 20 Open Wheel cars, etc.)
- Free camera controlled with mouse and keys.
- Automate GL features verification (hopefully obsolete).


IDEAS FOR MUCH LATER
--------------------
- Weather.
- Dynamic day/night-time, car lights with projective texturing.
- Pit crew.
- Dynamic "intelligent" Objects (e.g. Helicopter)
- Solid/dynamic obstacles.
- Nicer trees etc, terrain LOD.
- Inside view.
- Animated driver.
- Dirt on cars, inside view.
- free terrain.
- Open track dynamically generated when driving.
- Random track generator.
- Separate pit path, Y segments, etc?
- TORCS as benchmark or screensaver?
- Switch to rigid body engine?
- Force feedback.
- (Compressed data files?)
- Story mode with message.
- Traffic simulator

About

TORCS extended with intersections and scriptable control of drivers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published