# 🏎️ MakeCode Arcade Racing Physics Tech Demo | Custom Brush Tire Model, Weight Transfer, Suspension & Damage

**URL:** <https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807>\
**Category:** Arcade\
**Created:** [October 30, 2026, 2:10pm UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807 "2026-10-30T14:10:46Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![JoeyDaCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/joeydacoder/32/28370_2.png) [@JoeyDaCoder](https://forum.makecode.com/u/JoeyDaCoder)\
**Post date:** [October 30, 2026, 2:10pm UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/1 "2026-10-30T14:10:47Z")

</div>

Hey everyone! I wanted to share a racing physics tech demo I’ve been working on in Microsoft MakeCode Arcade.

This project is still a **work in progress and has not reached version 1.0 yet**. I’ve been working on it for a long time and have put a tremendous amount of time and effort into getting the physics and other systems working. This is also why I haven’t made a post in about a year. I’ve been focused on developing the project rather than posting updates, and I wanted to make meaningful progress before sharing what I’ve been building.

The car is currently being modeled after a **2025 Ford Mustang GTD** , and I’m trying to make the underlying vehicle physics as realistic as possible within MakeCode Arcade’s limitations.

## 🏁 Track and 3D Rendering

- The track is currently being modeled after **Watkins Glen International**.

- The project uses a 3D raycasting extension with floor and ceiling rendering.

- I’m working on improving the track itself before moving on to other visual details.

## 🛞 Custom Brush-Style Tire Physics

One of the biggest parts of this project is a custom tire-force model. Instead of relying on a basic arcade-style grip system, I’ve built a brush-style tire model designed to make the tires behave more realistically.

The tire system includes:

- Longitudinal slip ratio for acceleration and braking.

- Lateral slip angle for cornering.

- A brush-style force curve to model how tire forces develop.

- A combined-grip system that accounts for the tires producing longitudinal and lateral forces simultaneously.

- A friction envelope that limits the total force a tire can produce.

- Load sensitivity, so grip does not increase linearly with tire load.

- Transient tire response and relaxation.

- Speed-dependent behavior affecting rear-tire grip and power oversteer.

The goal is to make the car respond naturally to throttle, braking, steering, weight transfer, and loss of traction rather than relying on scripted outcomes.

## 🌡 Tire Temperature, Wear, and Pressure

The tire system also includes tire heat, wear, and pressure.

These systems are intended to make tire condition an important part of driving, rather than having the tires provide exactly the same performance indefinitely.

Tire behavior is connected to the overall physics model, and I want to continue refining how these systems affect grip and vehicle handling.

## 🏎 Full Vehicle Drivetrain and Mechanical Systems

The vehicle is being developed around a full drivetrain assembly, with multiple mechanical systems working together to control how power reaches the road.

The systems include:

- **Engine torque:** The engine produces torque that feeds into the drivetrain.

- **Drivetrain assembly:** A connected powertrain system for transferring engine power to the driven wheels.

- **Transmission:** Gear selection and shifting affect how the vehicle delivers power.

- **Differential system:** The differential is part of the drivetrain’s power-delivery and wheel-behavior simulation.

- **Brake system:** Braking is modeled as part of the vehicle physics, rather than simply applying a generic slowing effect.

- **Traction control (TC):** Helps manage wheelspin.

- **Anti-lock braking system (ABS):** Helps manage wheel lockup during braking.

- **Automatic shifting:** An optional driving assistance feature.

The goal is to have these systems interact with the tire model, suspension, and vehicle dynamics instead of treating each system as an isolated effect.

## 🌱 Different Surface Types and Grip

The project also includes different surface types with different grip characteristics.

Current surface types include:

- **Asphalt**

- **Track surface**

- **Grass**

The purpose is to make the car behave differently depending on what its tires are contacting. Driving on grass should not feel the same as driving on the racing surface, and leaving the track should have meaningful consequences for traction and control.

## 🛠 Suspension and Weight Transfer

The car has a suspension model that includes:

- Spring forces.

- Compression and rebound damping.

- Bump stops.

- Maximum suspension travel.

- A simplified suspension response based on load and estimated compression.

Weight transfer is also part of the vehicle’s handling behavior, influencing how the car responds under acceleration, braking, and cornering.

The suspension is still an approximation rather than a complete vertical rigid-body chassis simulation, so this is an area I may continue improving as the project develops.

One of my goals is to make the driving assists account for weight transfer properly instead of having them behave as though the vehicle’s load distribution never changes.

## 💥 Vehicle Damage

The project also includes a vehicle damage system. Damage is intended to add consequences to crashes and other incidents instead of allowing the car to behave identically regardless of what happens.

This is another system that can be refined as the rest of the vehicle physics develops.

## ⚙ Driving Assists and Controls

The project includes several driving options and assistance systems, including:

- Traction control.

- ABS.

- Stability control.

- Automatic shifting.

- Manual shifting.

### Manual shifting procedure

To shift manually:

1. Release the gas.

2. Hold **Shift**.

3. Press **Up Arrow** to upshift or **Down Arrow** to downshift.

4. Release the arrow key.

5. Release Shift.

6. Apply the gas again, or brake as needed.

The intention is to make manual shifting a deliberate action rather than an automatic gear change.

## 📋 Main Menu, Settings, and Vehicle Selector

The project also has a main menu with a Settings menu and a Vehicle Selector interface.

- The main menu can be opened using the menu button.

- **Audio settings:** The first two audio settings at the top of the Settings menu are currently functional. There are two additional audio settings directly below them, but those two are not functional yet. You can adjust the audio settings using the **Left and Right Arrow keys** to change their values.

- **Driving assists:** Below the four audio settings are the driving-assist options. These do work. Move the selector over a driving assist and press **A** to turn that assist on or off.

- **Vehicle Selector:** The interface exists, but **no vehicles have been added to the selection list yet**.

The current vehicle being developed is the 2025 Mustang GTD, and the selector is part of the groundwork for expanding the project later.

## 🚧 Current Development Status

This is still a tech demo, not a finished game. The main priority is getting the physics and track into a good state before expanding the project further.

I’ve been putting a lot of time into this project over a long period, which is why I haven’t posted an update in roughly a year. A lot of the work has gone into developing the custom tire model, connecting the different vehicle systems, and trying to make everything work together within MakeCode Arcade’s limitations.

Some systems are more developed than others, and I don’t consider every part of the simulation fully calibrated yet. I’m particularly interested in finding issues with the tire model, suspension, weight transfer, drivetrain, braking, and driving assists before calling the project version 1.0.

## 💬 Feedback Would Be Appreciated!

I’d appreciate feedback from anyone familiar with racing-game physics, vehicle simulation, or MakeCode Arcade development.

Some areas I’d especially like feedback on:

- The custom brush-style tire model.

- Combined tire grip and slip behavior.

- Suspension and weight-transfer behavior.

- The drivetrain, engine torque, differential, and braking systems.

- Tire temperature, wear, and pressure.

- Differences in grip between asphalt, the track surface, and grass.

- Traction control, ABS, and stability control.

- Performance optimizations and possible bugs.

- Ideas for making the simulation more realistic within MakeCode Arcade’s limitations.

I’m trying to build the most physically grounded racing simulation I reasonably can in this environment, so constructive criticism and technical suggestions are welcome!

I’ve put a lot of work into getting this far, and I’m looking forward to continuing development and improving the project as I work toward version 1.0.

Thanks for checking out the project! 🏁

> **[Pacejka Vehicle Dynamics Tech Demo 0.130](https://arcade.makecode.com/S26457-19593-81290-01395)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

---

<div class="post-metadata">

**Author:** ![offtopic](https://avatars.discourse-cdn.com/v4/letter/o/7ab992/32.png) [@offtopic](https://forum.makecode.com/u/offtopic)\
**Post date:** [October 30, 2026, 8:42pm UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/2 "2026-10-30T20:42:32Z")

</div>

i suspect this is ai

---

<div class="post-metadata">

**Author:** ![JoeyDaCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/joeydacoder/32/28370_2.png) [@JoeyDaCoder](https://forum.makecode.com/u/JoeyDaCoder)\
**Post date:** [October 30, 2026, 8:42pm UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/3 "2026-10-30T20:42:35Z")

</div>

Update im currently working on a tutorial mode to teach non experienced drivers how to drive

---

<div class="post-metadata">

**Author:** ![JoeyDaCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/joeydacoder/32/28370_2.png) [@JoeyDaCoder](https://forum.makecode.com/u/JoeyDaCoder)\
**Post date:** [October 31, 2026, 12:07am UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/4 "2026-10-31T00:07:09Z")

</div>

I will tell you the discription for this post was made by ai and i told ai to got through my code and add comments to everything so its clear what it does but i dud not have it edit my code in any way mark my words i can understand why you think this but let me ask you this if it were ai it would have made it instantly not take a year i appreciate your concern i dont like ai for coding either it takes away creativity but i do think its fine for what i did

---

<div class="post-metadata">

**Author:** ![HereTodayGoneNow](https://avatars.discourse-cdn.com/v4/letter/h/6a8cbe/32.png) [@HereTodayGoneNow](https://forum.makecode.com/u/HereTodayGoneNow)\
**Post date:** [October 31, 2026, 12:07am UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/5 "2026-10-31T00:07:11Z")

</div>

Yeah, looks like it

---

<div class="post-metadata">

**Author:** ![CcCcCrazyFfFfRog](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CcCcCrazyFfFfRog](https://forum.makecode.com/u/CcCcCrazyFfFfRog)\
**Post date:** [October 31, 2026, 12:07am UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/6 "2026-10-31T00:07:17Z")

</div>

The description is, and the code itself is ai assisted to help debug and create formulas, additionally, his profile is ai assisted well, but not a fully ai generated account.

---

<div class="post-metadata">

**Author:** ![CcCcCrazyFfFfRog](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CcCcCrazyFfFfRog](https://forum.makecode.com/u/CcCcCrazyFfFfRog)\
**Post date:** [October 31, 2026, 12:07am UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/7 "2026-10-31T00:07:20Z")

</div>

Lemme correct myself, the code is 50ish%ai, and his profile pic fully is, but that is a real person coding (something)

---

<div class="post-metadata">

**Author:** ![CcCcCrazyFfFfRog](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CcCcCrazyFfFfRog](https://forum.makecode.com/u/CcCcCrazyFfFfRog)\
**Post date:** [October 31, 2026, 12:07am UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/8 "2026-10-31T00:07:22Z")

</div>

And making the ideas

---

<div class="post-metadata">

**Author:** ![coppercode](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/coppercode/32/26022_2.png) [@coppercode](https://forum.makecode.com/u/coppercode)\
**Post date:** [November 1, 2026, 8:10pm UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/9 "2026-11-01T20:10:07Z")

</div>

even if this is ai cool idea dude!

---

<div class="post-metadata">

**Author:** ![JoeyDaCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/joeydacoder/32/28370_2.png) [@JoeyDaCoder](https://forum.makecode.com/u/JoeyDaCoder)\
**Post date:** [November 2, 2026, 2:01am UTC](https://forum.makecode.com/t/makecode-arcade-racing-physics-tech-demo-custom-brush-tire-model-weight-transfer-suspension-damage/46807/10 "2026-11-02T02:01:08Z")

</div>

I promise you this is not ai my freind who found my account was trying to sabatage me and thanks man for actually appreciating my work
