The AVC Project
The “Advanced Virtual Car” project (historically known as the “Alien Virtual Car”) is a portable and fast C++ physics library aimed at the realistic, real-time simulation of vehicle dynamics. Despite its name, the library was written with versatility in mind and can be used to virtually build and simulate quite every type of wheeled ground vehicle (and not just cars).
Features
Versatility
Classes representing real-life components (tyres, suspensions, wings, differentials, engines) can be connected toghether in any number or order, creating a network of interacting systems allowing the simulation of very different types of vehicles.
Advanced Tyre Models
Different tyre models are available, from a simplified carcass/contact patch deformation model based on three-dimensional stiffness characteristics to an advanced thermo-mechanical simulation based on the polymer characteristics and its interaction with the terrain (micro)asperities.
Racing
4-ways dampers, slick tyres, wings, locking differentials: AVC supports racing components (as well as “standard” ones), so that it’s possible to accurately simulate the physics of real-life motorsport vehicles.
Aerodynamics
Wings and aerodynamics appendices are accurately simulated, including detailed characteristics such as multi-dimensional aeromaps or secondary effects such as air speed (windy conditions) or loss of downforce and wake turbulence on the following car.
Terramechanics
Not just road but also off-road conditions can be simulated, thanks to the terramechanics module; soil deformation, compaction, shear stress and its interaction with the advanced tyre models are accurately reproduced by AVC.
Electronics
Devices equipping modern vehicles can easily be integrated in the network of components; a simple implementation for the most basic ones (such as ABS, traction control, and energy recovery systems) is already available.
Technical Characteristics
• Portable C++ library – no dependency upon the OS and/or the CPU (successfully recompiled on Windows, MacOS X and Linux, on both 32/64bit architectures and on both little and big endian CPUs)
• Integration Frequency: 500Hz hard-coded by default (can be changed by recompiling the library)
• multi-body for holonomic constraints; full multi-body support for generic constraints (such as articulated vehicles) can be added but requires additional work, as of this writing
• full interaction with terrain, external fluid (aerodynamics) and body to body collisions (with early reject tests based on bounding spheres); support for slipstream calculations
• custom integration algorithms based on modified verlet/leapfrog. All the equations, as of this writing, are explicitly integrated in a single pass (no iterative solver required)
• initial support for trajectory/internal state reconstruction/prediction based on saved “key frames”, for recording/replay and/or real-time networking applications (additional work is required to add full support).
For more information please download the AVC Technical Specification paper.
The VGP3 Engine
The VGP3 Engine is a real-time simulator engine that adds all the technologies required to transform the AVC physics library into a full-featured interactive car racing game/simulator for consumer hardware (PC). Designed around AVC as its foundation, the VGP3 Engine adds a realistic 3d visualization module/GUI based on OpenGL, an audio module supporting 3d spatialization and granular synthesis for the reproduction of engine noises, an AI module for the simulation of computer controlled cars, and a robust networking library with advanced prediction and lag-compensation algorithms for multiplayer races.
Because of its close connection with the AVC library, the VGP3 Engine is its natural extension and complement. Thus, despite the fact that it is no more commercially available, it is still internally maintained as a test-bed of any new feature of the physics library. Current internal builds are linked against the latest version of AVC, so that the VGP3 Engine can be used to immediately test/evaluate the realism of the AVC library.
More information about the VGP3 Engine and its availability for personal use can be found on the official website: www.virtualgp.info.
(Screenshots may not represent the actual version of the VGP3 Engine and/or the AVC library).