In addition to the driver diaries work our car simulator is taking more rapid shape. Although a large part of it has been running since last year there is always more to be done or improvements to be made.
The platform is designed to be modular and has at it’s core a component known as the despatcher. This essentially allows us to use a range of 3D environments, right now we are using Speed Dreams which is an open source car gaming engine but will shortly support another platform as well. In addition we plan to support networked driving simulations. Also you can add in a range of devices including tablets and eye trackers. As with all such projects you constantly discover small bottlenecks and problems, usually related to some underlying development issue such as threading (neither Python nor LiveCode really support this properly). We use Python for example to build the underlying server (despatcher) while LiveCode is used to develop the front-end that is used by the person controlling the simulation (also known as the evaluator).Python can fake threading to a point, but you end up with programmes running on one core. Which given the high volume of data we are dealing with is not a good idea, so we moved to a multi-process approach which again also introduced some problems. LiveCode on the other hand while making implementing sockets and GUIs easy has some rather odd quirks including no real or even fake support for threads built-in which can cause a lot of problems, anyway more on these issues in a more extended post.
Overtime the platform will add a realistic car cockpit, multiple drivers (in a networked simulation) and a range of devices. Also the graphics will be significantly improved for example by adding textures to buildings, other cars and additional details.
You can find more info on the architecture in this paper: Towards a Simple Driving Simulator