The More Advanced Vehicles Project demonstrates vehicle simulation using the jMonkeyEngine (JME) game engine.
- Vehicle Playground environment
- 5 vehicle models:
- Grand Tourer
- GTR Nismo
- pickup truck
- hatchback
- dune buggy
- vehicle customization:
- engine
- brakes
- automatic gearbox
- wheels
- tires with Pacejka model for friction (only the latitudinal forces are applied)
- suspension
- graphical user interface using the Lemur UI Toolkit:
- menus and buttons
- speedometer
- tachometer
- steering-wheel indicator
- edit vehicle parameters
- effects:
- skid marks
- tire smoke
- engine/horn sounds
- Install build software:
- a Java Development Kit and
- Gradle
- Download and extract the source code from GitHub:
- using Git:
git clone https://github.com/stephengold/jme-vehicles.git
cd jme-vehicles
- Set the
JAVA_HOME
environment variable:
- using Bash:
export JAVA_HOME="
path to your JDK"
- using Windows Command Prompt:
set JAVA_HOME="
path to your JDK"
- Build the application:
- using Bash:
./gradlew build
- using Windows Command Prompt:
.\gradlew build
- Run the application:
- using Bash:
./gradlew run
- using Windows Command Prompt:
.\gradlew run
When a vehicle is loaded:
- F5 : toggle viewpoints between hood camera and chase camera
- Y : toggle the engine on/off
- W : accelerate forward
- S : apply brakes
- Space : apply handbrake
- E : accelerate in reverse
- A : steer left
- D : steer right
- H : sound the horn
- R : reset the vehicle to a parked state
- Pause or . : toggle the simulation paused/running
- F12 : capture a screenshot to the current working directory
- Esc : return to the Main Menu
- Eliminate the initial drop
- More alternatives for:
- Environments, such as: off-road, urban, and parking garage
- Propulsion, such as: four-wheel drive, front-wheel drive, and jets
- Vehicle physics, such as that used in RallyGame
- Vehicle types, such as: hovertanks, motorcycles, speedboats, airplanes, and helicopters
- Viewpoints, such as: FlyCam and plan view
- More obstacles:
- Other vehicles (parked or AI-controlled)
- Animated non-vehicles, such as: gates, drawbridges, deer, and pedestrians
- Passive non-vehicles, such as: traffic cones, portable barricades, and loose tires
- More vehicle equipment:
- Artificial horizon
- Clock
- Compass
- Cruise control
- Fuel gauge
- Headlamps
- Manual transmission with clutch
- Maps
- Mirrors and backup assist
- Nitrous oxide
- Odometer
- Oil-temperature gauge
- Sirens
- Trailers
- Weaponry
- More scenarios:
- Crazy taxi
- Demolition derby
- Night driving with headlamps
- Player-vs-player over a network
- Time trial
- More details:
- Scoring for stunts
- Simulate damage and tire wear
- Sound effects for crashes
See also the project's issue tracker.
The source code has a BSD 3-Clause license.
Resources/assets:
- The Droid font has an Apache License, Version 2.0.
- The GT model has a CC Attribution-NonCommercial-ShareAlike license.
- The gtr_nismo model has a CC Attribution-NoDerivs license.
- The vehicle-playground model has a CC Zero Universal license.
- The marble_01 textures have a Creative Commons CC0 License.
- The quarry_03 texture has a CC0 1.0 Universal license.
- James Khan (aka "jayfella") initiated the Advanced Vehicles Project, on which this project is based.
- Paul Speed (aka "pspeed42") created the Lemur libraries.
- Lennart Demes created the marble_01 textures.
- Sergej Majboroda created the quarry_03 texture.
- Thomas Glenn Thorne (aka "systmh") created the GT model.
- "isteven" created the gtr_nismo model.
- Adam T. Ryder (aka "ATryder") created the jME-TTF library.