CarDriver: Using Python and Panda3D to contruct a virtual environment for teaching driving

CarDriver is an educational virtual environment for safer driving. It is a game where you are the driver of a car and have to care about the tra c rules. While playing, you may subconsciously become a safer driver. In order to encourage the players along, several design issues are considered, e.g. social presence and ow. CarDriver is implemented in Python and Panda3D. A simple data-driven creation of the world is presented, which a ords an easy creation of di erent levels. The physical simulation, which is based on the Open Dynamics Engine [Smi08], gets particular attention, as it is the heart of CarDriver. There were heavy performance issues, which were analysed and dealt with. Our solutions for the performance issues are presented. The performance load of the physical simulation lead to the idea and implementation of a physical Level of Detail. We also explain the usage of Finite State Machines ([Tea08c], II-N) in CarDriver. The source code is freely available under the GNU Public License (Version 3) [FSF19] on SourceForge [VH19].