Skip to content

Does MIT's "A Slower Speed of Light" correctly represent the temporal aspects of relativistic Doppler? #17

@picrin

Description

@picrin

The message below was generate by Claude Opus 4.6 based on my understanding of the issue.

The OpenRelativity shader correctly implements the frequency (colour) component of the relativistic Doppler shift — approaching objects are blueshifted, receding objects are redshifted. However, the temporal component appears to be missing: approaching objects should appear to move faster and receding objects should appear to move slower, by the same Doppler factor √((1+β)/(1-β)).

These are not independent effects. If photon frequencies are blueshifted, photon arrival rate must also increase, which means all observed motion (animations, particle systems, physics) should play proportionally faster for approaching objects and slower for receding objects.

In A Slower Speed of Light, this is most visible at high β values. In this playthrough at 4:07, the player has collected 99 orbs (approximately 0.99c), yet the ghosts in the environment show no temporal speedup or slowdown. At 0.98c the Doppler factor is ~10×, meaning approaching ghosts should appear to move roughly 10× faster and receding ghosts ~10× slower. At 0.99c the effect is even more dramatic.

The root cause appears to be architectural: the Doppler shift is implemented in the fragment shader (relativity.shader), which operates on pixel colours. Animation timing and object motion are handled separately by the game loop, which runs on coordinate time rather than mapping to the player's proper time.

The existing firework timer demonstrates that the engine can dilate object lifetimes — but this is rest-frame time dilation of object durations, not Doppler temporal remapping of observed animation rates from the camera's perspective.

A correct implementation would need to compute, for each object, the retarded time on the player's past light cone and scale animation/motion playback by the direction-dependent Doppler factor.

I've posted a more detailed worked example and discussion on Physics Stack Exchange: https://physics.stackexchange.com/questions/870058/does-mits-a-slower-speed-of-light-correctly-represent-the-temporal-aspects-of

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions