Il y a de sérieux problèmes avec le jeu. J’aurais aimé en entendre parler en 2012, quand il y aurait pu avoir un espoir de les corriger. J’aurais également souhaité que Luboš Motl ait remarqué les problèmes en 2012.
Je pense que la simulation de l’aberration est correcte. Il est difficile de se prononcer sur la dilatation du temps et le retard du voyage de la lumière parce qu’il ne se passe pas grand-chose dans le monde du jeu pour commencer.
Le plus gros problème est que la simulation du décalage Doppler est ridiculement fausse.
Voici une capture d’écran du jeu:
Voici une capture d’écran similaire prise au repos, à laquelle j’ai appliqué un « gradient Doppler » en utilisant le code de décalage Doppler de Backlight, le raytracer 4D:
Je ne prendrais certainement pas la deuxième image comme définitive, mais elle est qualitativement beaucoup plus proche de ce à quoi le jeu devrait ressembler. Les objets blancs éclairés par la lumière des étoiles ont à peu près un spectre de corps noir, donc lorsqu’ils sont décalés par effet Doppler, ils devraient être rouges, blancs ou bleus, jamais verts ou violets. Les objets aux couleurs désaturées devraient apparaître comme des arcs-en-ciel désaturés (regardez le sol, qui est bleu pâle au repos). Et la luminosité devrait augmenter de façon régulière lorsque vous regardez de droite à gauche.
Le jeu n’est pas open source, mais le shader de décalage Doppler l’est, alors j’y ai jeté un œil.
Il fonctionne en devinant un spectre lumineux (représenté comme une somme de gaussiennes dans l’espace des longueurs d’onde) à partir des composantes RVB de la texture, en le mettant à l’échelle par le facteur de décalage Doppler, en le convoluant avec des approximations des fonctions de correspondance des couleurs XYZ (également des sommes de gaussiennes), puis en convertissant XYZ en RVB. C’est raisonnable.
Le premier problème est qu’au lieu de deviner un large spectre qui se rapproche d’un corps noir solaire lorsque la couleur est gris/blanc, ils devinent des pics étroits à 463nm, 550nm et 615nm. Ce n’est tout simplement pas réaliste, et c’est la raison de toutes les couleurs bizarres dans la moitié droite de la capture d’écran.
Les couleurs vives sur la gauche sont dues à une autre décision de conception étrange. En plus de RGB, ils supportent les canaux de couleur IR et UV qui ne peuvent être vus que lorsqu’ils sont décalés par effet Doppler dans la gamme visible, ce qui est une bonne idée. Mais il s’agit à nouveau de pics aigus dans le spectre, et les textures contrôlent la longueur d’onde des pics, tandis que les amplitudes sont fixes. Pour les UV, vous choisissez une longueur d’onde comprise entre 0 et 380 nm (soit une gamme infinie), tandis que pour les IR, la longueur d’onde est comprise entre 700 et 1100 nm (soit une gamme inférieure à 2:1). La raison pour laquelle vous voyez des arcs-en-ciel RVB brillants dans chaque texture lorsqu’ils sont décalés vers le bleu, mais pas lorsqu’ils sont décalés vers le rouge, n’a rien à voir avec la physique. C’est parce que vous pouvez mettre le pic UV obligatoire à 0nm où il ne sera jamais visible, mais vous ne pouvez pas cacher le pic IR obligatoire.
L’échelle de luminosité semble également erronée. Ils multiplient la largeur des gaussiens par le facteur de décalage vers le rouge, ce qui met à l’échelle l’énergie intégrée par le même facteur, puis ils divisent par le facteur de décalage vers le rouge cubé. En conséquence, leur loi de Stefan-Boltzmann est de $σT^2$ au lieu de $σT^4$. Ils auraient dû diviser par la cinquième puissance.
Il semble également y avoir des problèmes avec le code de conversion du spectre en RVB – l’arc-en-ciel à gauche aurait des rayures ROYGBIV, et pas seulement RVB, s’il était converti correctement.
Un autre problème mineur est qu’ils semblent calculer les effets en fonction de la force avec laquelle vous poussez le joystick, et non de la vitesse à laquelle vous vous déplacez réellement. Par exemple, les fantômes en mouvement apparaissent rouges/bleus décalés lorsque vous êtes immobile, mais si vous vous placez devant l’un d’eux et que vous le laissez vous pousser, il reste bleu décalé bien qu’il soit maintenant immobile par rapport à vous, et il n’y a pas d’effets de mouvement sur l’arrière-plan même s’il est en mouvement. Le décalage rouge/bleu des fantômes ne semble pas non plus changer lorsque la vitesse de la lumière diminue ostensiblement.
Le supplément « que se passe-t-il » à la fin (également téléchargeable au format Powerpoint sur le site web) comporte quelques erreurs.
La lumière se comporte également comme un flux de particules appelées photons. Lorsque vous courez vers un flux de photons, davantage de photons vous frappent et l’objet devient plus lumineux. Cet effet est également connu sous le nom d’aberration relativiste.
Premièrement, ces effets sont classiques donc la quantification n’est pas pertinente. Deuxièmement, l’augmentation du taux d’absorption des photons ne représente qu’une petite partie de l’augmentation de la luminosité. Troisièmement, l’aberration se réfère à un changement d’angle, pas à plus de photons vous frappant.
Sur cette diapositive, il y a aussi une image légendée « en se déplaçant vers la gauche, les objets de gauche sont plus brillants que les objets de droite », même si ce n’est manifestement pas vrai dans l’image (qui est similaire à l’image en haut de cette réponse). Cela devrait être vrai, bien sûr. J’ai du mal à comprendre comment ils n’ont jamais, à aucun moment du développement, compris que leur shader était bogué étant donné son rendement fou.
Il faut être beaucoup plus proche de la vitesse de la lumière pour remarquer les effets plus spectaculaires de la transformation de Lorentz par rapport aux effets Doppler et Searchlight. A la fin du jeu, les effets Doppler et Searchlight sont supprimés pour vous permettre de voir plus facilement la transformation de Lorentz.
Ils disent ici « transformation de Lorentz » mais semblent vouloir dire aberration. La transformation de Lorentz n’est pas un « effet », c’est juste une façon de convertir entre les systèmes de coordonnées. Les systèmes de coordonnées n’ont aucun sens et n’affectent pas ce que vous voyez.
Les objets normalement hors de votre champ de vision peuvent devenir visibles lorsque vous vous déplacez près de la vitesse de la lumière, car vous les voyez comme ils étaient dans le passé.
Oui vous les voyez comme ils étaient dans le passé, mais vous les voyez au même moment passé quelle que soit la vitesse à laquelle vous vous déplacez (les horloges afficheront la même lecture indépendamment de votre vitesse, par exemple). Votre champ de vision s’élargit lorsque vous avancez à cause de l’aberration, qui est plus facilement comprise comme un effet local dû au mouvement de votre caméra/œil, comme on le voit ici.