A free, open-source, and realistic car simulation.
This program allows the user to control up to two cars and drive them around on randomly generated terrain using their keyboard and mouse, or a console controller! There are already many wonderful vehicle-driving programs out in the world already, but for someone with an interest in vehicles that doesn’t want to commit to having to spend money, this program can be a great alternative.
This program is great for allowing the user to see how a car handles bumpy terrain, going uphill, downhill, or on flat ground in the various valleys and peaks found in the simulated world.
With many adjustable parameters prebuilt into the program and an open-source codebase, this project allows easy modding support for developers, and fully customizable mechanics for advanced users.
What makes this program great?
With many adjustable parameters prebuilt into the program and an open-source codebase, this project allows easy modding support for developers, and fully customizable mechanics for advanced users.
The Bevy game engine performs really well because of its ability to automatically parallelize and cache where it can. It has the fastest ECS (entity component system) according to some benchmarks.
Talking Points
Unlimited Terrain
Terrain is randomly generated using Perlin noise algorithms, allowing for a near infinite number of generated planes.
Seed-based modifications defined by the user can be made, allowing one to explore previously generated planes or specify what should be used for terrain calculations.
Custom shaders are implemented to interact with the generated height map and provide a visual sense of height and depth.
In less technical terms, this program will generate a near infinite number of environments to explore, with realistic shading and height-based colors accompanying them!
Vehicle Engine Audio
Utilizing Bevy’s three-dimensional audio system to create a sense of immersion.
Hear the engine’s pitch change based on the change in velocity of the car.
When transitioning between gears, the change in acceleration is indicated by the audio pitch that is generated by integrating a Bezier curve.
In simpler terms the vehicle’s audio had been fine tuned to adapt with the speed of the car like how a real one would.
Engine Audio System Example
Spatial Audio Example
Multiple Vehicles
Two vehicles can be controlled at the same time. That means two people can play around with this program together with a buddy. Or you can watch as one vehicle tumbles down a mountain from the safety of the other vehicle. We won’t judge!
Alternatively, you can pull the project off our github repository. The instructions can be found here.
Help
Documentation can be found on our github. You can also open an issue on our repository.
Alternatively, you could contact us by our emails down below.
About Us
Members:
Stanley Hale - halesta@oregonstate.edu
UI
Engine Audio System
Car model integration
Game states
Ezra McDonald-Mueller - mcdonaez@oregonstate.edu
Terrain Generation
Greggory Hickman - hickmang@oregonstate.edu
Multiple car functionality
UI
Benny Xu - xube@oregonstate.edu
Terrain Generation
Shaders
Project Partner:
Christopher Patton - contact@pattondynamics.com
Dynamics and Simulation Engineer at Patton Dynamics LLC
Chris Patton holds a Ph.D. in Mechanical Engineering from Oregon State University and has worked in Formula 1, LMP1, and the space launch industry. He currently leads Patton Dynamics, specializing in simulation services for the Aerospace, Motorsports, and Wave Energy Generation industries.