ReCarbonby RetroNativealpha

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
  1. M0 Completed
  2. M1 Completed
  3. M2 Completed
  4. M3 Completed
  5. M4 Completed
  6. M5 Accepted
  7. M6 In progress
  8. M7 In progress
  9. M8 In progress

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.
  1. M0Completed

    Correct input binary

    The Xbox 360 executable is verified, decrypted from the player's own disc and surveyed for recompilation.

  2. M1Completed

    Toolchain + recompile-only PoC

    All 72,864 functions translate to C++ with zero recompiler errors, warnings or unrecognized instructions; 242 instruction tests pass.

  3. M2Completed

    Native compilation and link

    The translated code compiles and links into a native arm64 app, with every import defined and no unresolved symbols.

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

  5. M4Completed

    First frame (rendering)

    The EA logos and the movies render through MoltenVK on Metal, with no unknown texture formats or dropped draws.

  6. 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
  7. 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
  8. 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
  9. 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.

Known issues in the docs →

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.

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

  2. This Progress page: milestone states checked against the roadmap, verified features, known gameplay issues, pending hand tests and recent work.

    4022338

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

    935ec96

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

    f990857

  5. Change Camera, Look Back, gear shifts, Reverse and Pause seen working in a scripted Quick Race on a virtual controller. Nitrous, Handbrake and Speedbreaker are still to verify.

    a22d716ad04ab8

  6. ReCarbon's source and this website went public, with every page checked live: no broken links and no accessibility violations found by axe-core.

  7. A fresh clone from GitHub rebuilds byte-identical generated code, and the instruction tests and the website build pass. A timing test was made reliable under load.

    f5ea08c22ba881

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

    990c2f6

  9. 25 unit tests ported from SpeedBreaker v0.1.8 and adapted to Carbon, each checked with planted bugs: ctest grows from 20 to 48 entries, all passing on both Macs.

    bf29f1cae3d97f

  10. The install check now stops every process it starts, on any exit, verified in five scenarios.

    7e73197

Full history on GitHub →