Jeko's World Simulator Forum

From SpaceElevatorWiki.com
Revision as of 15:37, 26 June 2008 by Jeko (talk | contribs)
Jump to navigationJump to search

C#'ed 3D Rendering Engine

About PLib

http://plib.sourceforge.net/

Torcs uses PLib's SSGG, a simple scene-graph which does the job but doesn't provide a very good graphic quality.

Open questions:

  • 1 - Can it just be ported to C# and improved?
  • 2 - Should it be replaced?
  • 3 - By Ogre?

Physics Engine

Don't know what Torcs uses, probably custom physics engine.. have to be explored.

Open questions:

  • 1 - Should it be replaced?
  • 2 - By ODE?

User Interface

We need to be able to play/replay simulations.

About Drivers Ranking and Learning Machine

One cool thing about our driving simulator is that we can run the cars at certain speeds, but run the simulation at another speed. Cars are less likely to run into each other going 10 miles per hour than going 100 miles per hour. But we can run the simulation at full speed and watch them and scroll through them at a different speed. We need to write a program which determines if the car "crashed" so that we know there was a bug in the system. We need to be able to save these off to replay them.

A key things is to build a system that can determine when it crashed. It seems relatively easy to determine whether a car crashed or mis-behaves. Then as we can crank up the speed, the complexity, the number of cars, the craziness of other cars till it "crashes" and then try to figure out why.

We can also set max cars speeds, and time how long it takes to do things. This is an objective measurement of better, and stresses the "planning" code. For example, does the car drive around forever looking for a parking spot like my dad does? Doing speed tests seems far out right now, but there are probably cases we will run into earlier? Can you think of one?

It could be that when we crash, we reset the car and add 10 seconds to the time. This would allow us to objectively focus on cars that crash less. I'd love to know how machine learning code could help us. That might be another example of code that we wouldn't wrap from the Torcs engine, but would grab from Math.Net, etc. because it is in C# already and was made more general purpose and is well documented, etc. There is some machine learning code in the Intel vision codebase as well that we could port if it is only a few thousand lines, or use from the .Net wrapper if it has that stuff exposed. If you figure out what you need, I can try to get some of it built before you need it.

As you learn about these things, can you type up summaries, and/or grab paragraphs from cool places and put it into our wiki? Assume a programmer, etc. but don't domain specific knowledge. My Mercurial page is a good example of an explanation of why to use a distributed CVS. Links to wikipedia pages if you need a whole page is fine, but sometimes a wikipedia entry can be condensed to a paragraph.