# Truck Town This is a demo implementing different types of trucks of varying complexity using vehicle physics. Controls: - Up Arrow, W, Gamepad Right Trigger, Gamepad A/Cross: Accelerate - Down Arrow, S, Gamepad Left Trigger, Gamepad B/Circle, Gamepad X/Square: Brake/reverse - Left Arrow, Gamepad Left Stick, Gamepad D-Pad Left: Steer left - Right Arrow, Gamepad Left Stick, Gamepad D-Pad Right: Steer right - U, Gamepad Select, left-click speedometer: Change speedometer unit (m/s, km/h, mph) - C, Gamepad Y/Triangle: Change camera (exterior, interior, top-down) - Escape, Gamepad D-Pad Up: Go back to menu (press again to exit) On mobile platforms, the vehicle automatically accelerates. Touch the left and right edges of the screen to steer. Touch the middle of the screen to brake/reverse (this also temporarily stops acceleration). Language: GDScript Renderer: Forward+ on desktop, Mobile on mobile Check out this demo on the asset library: https://godotengine.org/asset-library/asset/524 ## How does it work? The base vehicle uses a [`VehicleBody`](https://docs.godotengine.org/en/latest/classes/class_vehiclebody.html) node. The trailer truck is tied together using a [`ConeJointTwist`](https://docs.godotengine.org/en/latest/classes/class_conetwistjoint.html) node, and the tow truck is tried together using a chain made of [`RigidBody`](https://docs.godotengine.org/en/latest/classes/class_rigidbody.html) nodes which are pinned together using [`PinJoint`](https://docs.godotengine.org/en/latest/classes/class_pinjoint.html) nodes. ## Screenshots ![Screenshot](screenshots/truck_town.webp)