Telemetry · Development progress
Race to playable
Where ReCarbon stands, milestone by milestone. Every state here comes from the roadmap and its recorded evidence: no percentages, no dates promised, and nothing counted as passed before it is observed.
- Current stage
- M7 Playable racing
- Milestones
- 5 completed · 1 accepted · 3 in progress
- Record updated
Season
Milestones
- Completed Every criterion observed, as the roadmap records it.
- Accepted · limits Accepted with open limitations, none of them recorded as passed.
- In progress Work and evidence under way; not passed yet.
- Deferred Set aside for later on purpose; not verified.
- Not verified No evidence recorded yet.
- M0Completed
Correct input binary
The Xbox 360 executable is verified, decrypted from the player's own disc and surveyed for recompilation.
- M1Completed
Toolchain + recompile-only PoC
All 72,864 functions translate to C++ with zero recompiler errors, warnings or unrecognized instructions; 242 instruction tests pass.
- M2Completed
Native compilation and link
The translated code compiles and links into a native arm64 app, with every import defined and no unresolved symbols.
- M3Completed
Runtime initialization
The runtime boots the game through kernel, file system and GPU bring-up to its first frame swap, in 10 of 10 consecutive launches.
- M4Completed
First frame (rendering)
The EA logos and the movies render through MoltenVK on Metal, with no unknown texture formats or dropped draws.
- M5Accepted · limits
Audio, movies, input
Music, movies and keyboard menus pass. Accepted with its open limitations, none of them recorded as passed.
- CompletedFront-end music plays 5 minutes with no underruns
- CompletedThe intro movie plays at the correct speed
- CompletedDefault keyboard and controller mappings pinned by unit tests
- CompletedKeyboard rebinding in Settings > Controls works and persists
- DeferredMenus with a physical controller (the keyboard passed by hand)
- DeferredSmoother movie frame pacing
- M6In progress
First boot to free-roam / race load
Saves, race loading and free-roam stability each have evidence. Open until the written new-profile route is run.
- CompletedA new profile is created, saved, and reloads intact after a restart
- CompletedA race or free-roam loads from the front end to control of the car
- CompletedNo deadlock or crash in 10 minutes of free-roam
- Not verifiedThe written new-profile route, with logs and the save recorded
- M7In progress
Playable racing
The current milestone. AI races and a full career race finish; controls, physics and frame pacing are still to verify.
- CompletedAI opponents spawn, race and finish
- CompletedA full career race finishes and its progress survives a restart
- Not verifiedSteering, throttle, brake, handbrake, nitrous and camera on the keyboard
- Not verifiedVehicle physics consistent with the Xbox 360 version
- In progressA stable 30 fps or better over 10 minutes of racing
- In progressAudio in sync and no world geometry missing
- Not verifiedThe written test route, repeated 3 times
- M8In progress
Polish and distribution
Input profiles are built and tested; the app bundle check passes. A clean install on a fresh account is still to do.
- CompletedKeyboard presets: WASD (the default) and Arrows
- CompletedSeparate keyboard and controller profiles that persist
- CompletedCustom mappings, controller rebinding, switching and reset to default
- CompletedExisting key bindings migrated into a profile, never dropped
- CompletedReset to default matches the M5 baseline
- CompletedThe unit tests run in ctest
- CompletedThe app bundle check (check_app.py) passes
- In progressBoth presets drive the game, by hand
- Not verifiedA clean install from a disc image on a fresh macOS account
- Not verifiedThe installer parametrized for Carbon
Dyno sheet
Verified features
What has been observed, and how: Hand-verified by a person in a hand test, orAutomated in scripted runs and unit tests.
AutomatedM1 ·
Recompiled to native code
72,864 functions from the Xbox 360 executable, translated with 0 recompiler errors and structural validation passing.
AutomatedM4 ·
Boots and renders
The game boots to its own screens; the EA logos and the movies render through MoltenVK on Metal.
AutomatedM5 ·
Front-end music
Over 5 minutes with no underruns or gaps, in 3 of 3 runs.
Hand-verifiedM5 ·
Keyboard menus, audio and lip-sync
Keyboard navigation, rebinding that survives a restart, audio quality and movie lip-sync, checked by a person (hand test 2).
AutomatedM6 ·
Career saves
A new career save (286,764 B) is written and reloads after a restart with its hash unchanged.
Hand-verifiedM6 ·
15 minutes of free-roam
Free-roam after the prologue chase, 15 minutes in a row with no crash or hang (hand test 3).
Hand-verifiedM7 ·
A career race, won
Zone Heat 1 finished in 1st place against AI opponents; the cash and progress were still there after a restart (hand test 4).
AutomatedM8 ·
Keyboard and controller profiles
WASD and Arrows presets, custom profiles, controller button rebinding and migration of existing bindings, in scripted runs and unit tests.
AutomatedM8 ·
Game actions on a virtual controller
In a Quick Race: RB changes the camera, LB looks back, the right stick shifts gears, the Left Trigger reverses and Start pauses.
AutomatedM8 ·
48 unit tests
Every ctest entry passes on a MacBook Air M5 and an M1 Mac.
Pit board
Known gameplay issues
- Open
Occasional stalls of about 1 s
The presenter waits for a free drawable while holding the GPU queue lock. Why no drawable is free isn't known yet.
- Open
GPU-idle stalls of 250–600 ms
No lock wait is involved. The cause is unknown.
- Deferred
Movie frame pacing
Movies play at the right speed, but 20–28% of frames show for 1 or 3 refreshes instead of 2. Smoothing is deferred to polish.
- Deferred
Physical controller not yet tested
The virtual-controller and hot-unplug tests pass, but they don't show that a physical pad works.
- Open
Key labels on non-Latin keyboard layouts
Under a layout such as Myanmar, Settings > Controls draws letter keys as '?'. Binding such a key is refused safely; gameplay input is unaffected.
Next on track
Pending hand tests
- Not verified
Session 1: a new profile, both presets
The new-profile route to a race load (M6.6); WASD and Arrows driving and switching without a restart (M8.11).
- Not verified
Session 2: restart and hand test 5
The profile reloading intact (M6.6), and which keys give handbrake, nitrous, Speedbreaker, camera and look back.
- Not verified
Sessions 3–5: the M7 route, 3 times
Controls, physics, 10 minutes of frame times, audio and picture, on a race of at least 10 minutes (M7.1, M7.2, M7.5–M7.7).
- Not verified
Clean install on a fresh macOS account
Installing from a disc image on a new user account (M8.4).
- Deferred
Physical controller
Menus and driving on a real pad, once one is available. Never recorded as passed before then.
Nothing here counts as passed until a person has run it and the logs agree.
Lap times
Recent achievements
The latest 10, newest first.
Fewer long stalls when other apps keep the Mac busy: the game threads that drive each frame now run at a higher macOS priority. On a MacBook Air M1 under load, stalls of 100 ms or more went from 5.3 to 0.3 per race run, at the same frame rate.
This Progress page: milestone states checked against the roadmap, verified features, known gameplay issues, pending hand tests and recent work.
Keyboard presets merged: WASD is now the built-in Default that a new player starts on, beside Arrows. A player on the former WASD preset keeps those keys as a custom profile.
A reported hang after creating a new profile at boot was rechecked on two Macs and didn't reproduce: the profile is saved and the main menu follows.
ReCarbon's source and this website went public, with every page checked live: no broken links and no accessibility violations found by axe-core.
Rendering resolution re-measured on the MacBook Air M5: 1x, 1.5x, 2x and 3x frame costs recorded, and Auto picks 2x. Ultrawide and scaled 3D in gameplay are unverified.
The install check now stops every process it starts, on any exit, verified in five scenarios.