-
Couldn't load subscription status.
- Fork 1
Hacking the torcs driving simulator to implement the techniques of Udacity CS373
License
Couldn't load subscription status.
fgc/torcs_udacity
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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.3 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
* -r pathtoraceconfigfile, run race from command line only, for testing and AI
training, see FAQ for details
Windows Installation from Source (Release version)
--------------------------------------------------
- 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 VS 6 (tested with sp6) or VS 2008 (tested with sp1)
- untar the archive into a path without whitespaces and special characters.
- cd into the torcs-1.3.3 directory
- run setup_win32.bat
- run setup_win32-data-from-CVS.bat
- select the TORCS workspace (TORCS.dsw for VS 6) or solution (TORCS.sln
for VS 2008), select the w32-Release version.
- compile project (0 warnings)
- cd into the "runtime" directory.
- run "wtorcs.exe"
Command line arguments:
* -s disable multitexturing, important for older graphics cards
* -r pathtoraceconfigfile, run race from command line only, for testing and AI
training, see FAQ for details
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 VS 6 (tested with sp6) or VS 2008 (tested with sp1)
- untar the archive into a path without whitespaces and special characters.
- cd into the torcs-1.3.3 directory
- run setup_win32_debug.bat
- run setup_win32-data-from-CVS_debug.bat
- select the TORCS workspace (TORCS.dsw for VS 6) or solution (TORCS.sln
for VS 2008), select the w32-Debug version
- compile project (0 warnings)
- cd into the "runtimed" directory.
- run "wtorcs.exe"
Command line arguments:
* -s disable multitexturing, important for older graphics cards
* -r pathtoraceconfigfile, run race from command line only, for testing and AI
training, see FAQ for details
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.2
-------------------
- Adopted trb for newer PHP (>= 5.2) versions (Bernhard).
- Added race schedule "wizard" to trb, championships are much quicker to set up
(Bernhard).
- Little trb improvements (Bernhard).
- Created/added new wheels for stock cars (Bernhard).
- Created/added new stock car category (Bernhard).
- Created/added new stock car (Bernhard).
- Created/added textures for drivers of the new stock car, berniw 1, berniw 2,
bt 1, bt 2, reconfigured drivers to use this car (Bernhard).
- Replaced more sprintf's (Bernhard).
- Fixed some gcc 4.6 warnings (not yet all though) (Bernhard).
- Removed *ascar category and car (stock1 is the replacement) (Bernhard).
- Adopted Windows ports/project files to the changes (Bernhard).
- trb car users can now choose from all trb wheels (Bernhard).
- minor setup adjustments for trb cars (suspension can extend a tad more)
(Bernhard).
- Now you can run races in command line mode (e.g. useful for AI training and
automated testing), e.g. run
"~/torcs_bin/bin/torcs -r ~/.torcs/config/raceman/dtmrace.xml"
(or on Windows e.g. "wtorcs.exe -r config/raceman/dtmrace.xml").
The new -r option takes an ordinary race configuration file, you can set it up
as usual with the TORCS GUI or edit it manually/generate it. Human drivers
are not allowed of course. (Bernhard)
- Added track "Corkscrew", created by Gabor Kmetyko and Andrew Sumner
(Gabor, Andrew, Bernhard).
- Added track "Brondehach", created by Andrew Sumner, "Milestone" and Eckhard
Jaeger (Andrew, Milestone, Eckhard, Bernhard).
- Fixed another possible buffer overflow reported by Andres Gomez
(Andres, Bernhard).
- Fixed #2838393 as suggested by David Zimmerman (added seconds to result file
name) (David, Bernhard).
- Updated the FAQ regarding new command line mode and other questions (Bernhard).
- Updated installer/version number etc. (Bernhard)
TODO for 1.3.4
--------------
- Training session with adjustable setup (trb)
- Bugtracking
- check for sprintf/fscanf/strcpy/strndup, etc (ongoing)
(ensure 0 termination of strings -> introduce string class?)
TODO for 1.4.0
--------------
- Robot interface adoptions, rules
- 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.
- Car asignment for human players.
- Sound (alut depricated/scheduling for lots of cars)
- Review and eventually apply mac os x build
TODO for Compliance
-------------------
155-DTM -> replace with car8-trb1
acura -> replace with car9-trb1
mc-larenf1 -> replace with car10-trb1
p406 -> replace with car1-trb4
Later:
-------------------
- Mixed axis controller (under linux some analouge buttons generate a button and axis
event, this is a problem for detection/calibration with the current workflow, e.g.
ps3 controller buttons l2/r2)
- 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.
- 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.)
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
Hacking the torcs driving simulator to implement the techniques of Udacity CS373
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published