Git Product home page Git Product logo

jme-vehicles's Introduction

The More Advanced Vehicles Project demonstrates vehicle simulation using the jMonkeyEngine (JME) game engine.

Features

  • 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

How to build and run More Advanced Vehicles from source

  1. Install build software:
  • a Java Development Kit and
  • Gradle
  1. Download and extract the source code from GitHub:
  • using Git:
    • git clone https://github.com/stephengold/jme-vehicles.git
    • cd jme-vehicles
  1. 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 "
  1. Build the application:
  • using Bash: ./gradlew build
  • using Windows Command Prompt: .\gradlew build
  1. Run the application:
  • using Bash: ./gradlew run
  • using Windows Command Prompt: .\gradlew run

Keyboard controls

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

Wish list

  • 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.

Licensing

The source code has a BSD 3-Clause license.

Resources/assets:

Acknowledgments

jme-vehicles's People

Contributors

stephengold avatar jayfella avatar

Stargazers

Pavly Gerges (pavl_g) avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.