Er zijn een aantal ernstige problemen met het spel. Ik wou dat ik er in 2012 over had gehoord, toen er misschien nog hoop was geweest om ze te verhelpen. Ik wou ook dat Luboš Motl de problemen in 2012 had opgemerkt.
Ik denk dat de simulatie van aberratie juist is. Het is moeilijk om iets te zeggen over tijddilatatie en licht-reis-tijd vertraging, omdat er niet veel aan de hand is in de spelwereld om mee te beginnen.
Het grootste probleem is dat de Doppler shift simulatie belachelijk fout is.
Hier een screenshot van het spel:
Hier een soortgelijk screenshot, genomen in rust, waarop ik een “Doppler gradient” heb toegepast met behulp van Doppler shift code van Backlight, de 4D raytracer:
Ik zou het tweede beeld zeker niet als definitief beschouwen, maar het komt kwalitatief wel veel dichter in de buurt van hoe het spel eruit zou moeten zien. Witte voorwerpen die door sterrenlicht worden verlicht, hebben ruwweg een blackbody-spectrum, dus als ze Doppler-verschoven zijn, moeten ze rood, wit of blauw zijn, nooit groen of paars. Objecten met onverzadigde kleuren moeten verschijnen als onverzadigde regenbogen (kijk naar de grond, die lichtblauw is in rust). En de helderheid moet vloeiend toenemen als je van rechts naar links kijkt.
Het spel is niet open source, maar de Doppler shift shader wel, dus ik heb er eens naar gekeken.
Het werkt door het raden van een lichtspectrum (weergegeven als een som van Gaussians in golflengte ruimte) van de RGB-componenten van de textuur, schalen het met de Doppler shift factor, convolving het met benaderingen van de XYZ kleur matching functies (ook sommen van Gaussians), dan het omzetten van XYZ naar RGB. Dat is redelijk.
Het eerste probleem is dat in plaats van een breed spectrum te raden dat een zwart lichaam van de zon benadert wanneer de kleur grijs/wit is, zij smalle pieken raden op 463nm, 550nm, en 615nm. Dat is gewoon niet realistisch, en het is de reden voor alle vreemde kleuren in de rechterhelft van de schermafbeelding.
De heldere kleuren aan de linkerkant zijn te wijten aan een andere vreemde ontwerpbeslissing. Samen met RGB ondersteunen ze IR en UV kleurkanalen die alleen te zien zijn als ze Doppler verschoven zijn naar het zichtbare bereik, wat een goed idee is. Maar het zijn opnieuw scherpe pieken in het spectrum, en de texturen bepalen de golflengte van de pieken, terwijl de amplitudes vast zijn. Voor UV kies je een golflengte van 0nm tot 380nm (in feite een oneindig bereik), terwijl dat voor IR 700nm tot 1100nm is (minder dan een 2:1 bereik). De reden dat je heldere RGB regenbogen ziet in elke textuur wanneer je blauwverschuift, maar niet wanneer je roodverschuift, heeft niets te maken met fysica. Het is omdat je de verplichte UV piek op 0nm kunt zetten waar hij nooit zichtbaar zal zijn, maar je kunt de verplichte IR piek niet verbergen.
De helderheidsschaal lijkt ook verkeerd te zijn. Ze vermenigvuldigen de breedte van de Gaussians met de roodverschuivingsfactor, die de geïntegreerde energie met dezelfde factor schaalt, dan delen ze door de roodverschuivingsfactor in het kwadraat. Het resultaat is dat hun wet van Stefan-Boltzmann $σT^2$ is in plaats van $σT^4$. Ze hadden moeten delen door de vijfde macht.
Er schijnen ook problemen te zijn met de spectrum-naar-RGB conversie code-de regenboog links zou ROYGBIV strepen hebben, niet alleen RGB, indien correct geconverteerd.
Een ander klein probleem is dat ze de effecten schijnen te berekenen op basis van hoe hard je de joystick duwt, niet hoe snel je werkelijk beweegt. Bijvoorbeeld, de bewegende geesten verschijnen rood/bluesverschoven als je stilstaat, maar als je voor een gaat staan en hem tegen je aan laat duwen, blijft hij blauwverschoven hoewel hij nu stilstaat ten opzichte van jou, en er zijn geen bewegingseffecten op de achtergrond, ook al beweegt die. De rood/bluesverschuiving van de geesten lijkt ook niet te veranderen als de snelheid van het licht ogenschijnlijk afneemt.
De “wat gebeurt er” bijlage aan het eind (ook te downloaden in Powerpoint formaat van de website) bevat enkele fouten.
Licht gedraagt zich ook als een stroom deeltjes, fotonen genaamd. Als je op een stroom fotonen afloopt, raken meer fotonen je en wordt het voorwerp helderder. Dit effect wordt ook wel relativistische aberratie genoemd.
Ten eerste zijn deze effecten klassiek, dus kwantisatie is niet relevant. Ten tweede is de verhoogde absorptiesnelheid van fotonen slechts verantwoordelijk voor een klein deel van de helderheidstoename. Ten derde verwijst aberratie naar een verandering van hoek, niet naar meer fotonen die je raken.
Op deze dia staat ook een plaatje met als onderschrift “als je naar links beweegt, zijn de voorwerpen links helderder dan de voorwerpen rechts”, hoewel dat duidelijk niet waar is in het plaatje (dat vergelijkbaar is met het plaatje bovenaan dit antwoord). Het zou waar moeten zijn, natuurlijk. Ik kan maar moeilijk begrijpen dat ze er tijdens de ontwikkeling nooit achter zijn gekomen dat hun shader buggy was, gezien de krankzinnige uitvoer.
Je moet veel dichter bij de lichtsnelheid zitten om de dramatischere effecten van de Lorentz-transformatie op te merken in vergelijking met de Doppler- en zoeklichteffecten. Aan het einde van het spel worden de Doppler- en Zoeklichteffecten verwijderd om de Lorentztransformatie beter zichtbaar te maken.
Hier wordt gesproken over “Lorentztransformatie”, maar lijkt men aberratie te bedoelen. De Lorentz-transformatie is geen “effect”; het is gewoon een manier om tussen coördinatensystemen te converteren. Coördinatenstelsels zijn betekenisloos en hebben geen invloed op wat u ziet.
Objecten die zich normaal buiten uw gezichtsveld bevinden, kunnen zichtbaar worden wanneer u zich beweegt met de snelheid van het licht, omdat u ze ziet zoals ze in het verleden waren.
Ja, u ziet ze zoals ze in het verleden waren, maar u ziet ze op hetzelfde tijdstip in het verleden, ongeacht hoe snel u zich beweegt (klokken geven bijvoorbeeld dezelfde waarde aan, onafhankelijk van uw snelheid). Je gezichtsveld wordt breder als je vooruit beweegt vanwege aberratie, wat het gemakkelijkst te begrijpen is als een lokaal effect als gevolg van de beweging van je camera/oog, zoals hier te zien is.