
Ready To Race Unlimited
The same racing arena as Horse Racing Elite, rebuilt around supercars. There are six cars, live betting and a smooth 60fps race, and you can play solo or in multiplayer rooms.
- Role
- Genre
- Modes
- Stack
- Multiplayer
- Firebase Realtime Database
- Platform
01The Game
Ready To Race Unlimited takes the Horse Racing Elite arena and gives it a completely new look built around supercars. The grid has a Ferrari 488 GTB, a Porsche 911 Turbo, a Lamborghini Huracán, a Bugatti Chiron, a Mazda RX-7 and a Nissan GT-R, all racing on a deep violet neon track.
Underneath, it runs on exactly the same engine: a seeded race with a fixed timestep, where the animation you see is the calculation itself. Building it taught me a lot about how to fork a game properly, including what should be shared between the two, what needs to be kept separate and what shouldn’t be copied at all.
One engine, two games
The racing arena works as a reusable engine, and this game is the second look built on top of it.
Simulated outcomes
The game never chooses a winner. Six cars race through a seeded physics loop, and the first one across the line wins.
Rooms for everyone
You can play solo or in multiplayer rooms with invite codes. These rooms are kept completely separate from the horse racing game’s rooms.
02Screenshots
These screenshots were captured straight from the game. Tap any of them to see it bigger.





03Core Loop
- 1
Grid
Play on your own, or create a multiplayer room or join one.
- 2
Bet
Choose one of the six cars and place your bet before betting closes.
- 3
Sync
The room’s seed is fetched and shared, so every player’s game runs the same race.
- 4
Race
The race runs as a fixed-step simulation, with cars overtaking each other live.
- 5
Payout
If you backed the winner, you collect your stake multiplied by the odds.
04Key Features
Six supercars
Every car has a speed stat and an acceleration stat (which is really the engine’s stamina field with a new name), and the odds range from 2.5× to 12×.
Multiplayer rooms
The Firebase rooms use their own section of the database, so the two racing games never get mixed up with each other.
Violet neon skin
Orange, cyan and pink highlights sit over a deep violet background, and you can switch between Default, Cyber and eSports palettes.
Bots & bounty
There are AI rivals, a live feed of bets, ranks, seasons and a daily bounty.
05The Maths
The maths is exactly the same as Horse Racing Elite because the code is the same. I confirmed it by running all 10,001 seeds through it.
Velocity & ticks
Each car’s starting speed is a mix of 60% speed and 40% acceleration, plus a random amount. Then every 16ms, a small, limited amount of random jitter is added.
Payout
You bet on a car to win, and the payout includes your stake: floor(stake × odds).
Audit result
Every car wins about one race in six, which means the fair price for each one is 6.0×. Because the fork simply copied values by position, the Ferrari ended up with Thunder Bolt’s numbers. The tutorial line saying that lower odds mean a safer pick also isn’t true for this simulation.
Fix
Either give all six cars the same odds, set a little under 6.0×, or make the stats affect every tick and set new odds based on the measured win rates. Either way, the tutorial text needs to be corrected too.
06Under the Hood
A clean fork
I changed the names, the colours and added a field for the car sprites. The engine, the game loop and the economy stayed the same as the horse game’s design.
Database namespacing
Rooms are stored under their own Firebase path, so horse rooms and car rooms can’t see each other.
Fixed-timestep loop
It uses the same accumulator loop, which gives identical results at any refresh rate.
Seeded races
Seeds come from the RNG service through the server proxy, with a local fallback in case the service is unavailable.
07Challenges & Solutions
08Results & Takeaways
- A second full game built on the same engine, with its own look and its own multiplayer namespace.
- A written comparison of the two versions, listing every shared value and every change in behaviour.
What I learned
- Giving a game a new look is easy, but forking it well is hard. Logic that both games share should live in one place.
- The text is part of the maths too. What the tutorial says has to match what the engine actually does.