Hay algunos problemas serios con el juego. Ojalá me hubiera enterado en 2012, cuando podría haber habido alguna esperanza de solucionarlos. También me gustaría que Luboš Motl se hubiera dado cuenta de los problemas en 2012.
Creo que la simulación de la aberración es correcta. Es difícil saber sobre la dilatación del tiempo y el retraso del viaje de la luz porque, para empezar, no ocurre mucho en el mundo del juego.
El mayor problema es que la simulación del desplazamiento Doppler es ridículamente errónea.
Aquí hay una captura de pantalla del juego:
Aquí hay una captura de pantalla similar tomada en reposo, a la que apliqué un «gradiente Doppler» usando el código de desplazamiento Doppler de Backlight, el raytracer 4D:
Ciertamente no tomaría la segunda imagen como definitiva, pero está cualitativamente mucho más cerca de cómo debería verse el juego. Los objetos blancos iluminados por la luz de las estrellas tienen más o menos un espectro de cuerpo negro, así que cuando se desplazan por Doppler deberían ser rojos, blancos o azules, nunca verdes o morados. Los objetos con colores desaturados deberían aparecer como arco iris desaturados (mira el suelo, que es azul pálido en reposo). Y el brillo debería aumentar suavemente al mirar de derecha a izquierda.
El juego no es de código abierto, pero el shader de desplazamiento Doppler sí, así que le eché un vistazo.
Funciona adivinando un espectro de luz (representado como una suma de gaussianos en el espacio de la longitud de onda) a partir de los componentes RGB de la textura, escalándolo por el factor de desplazamiento Doppler, convolucionándolo con aproximaciones de las funciones de coincidencia de color XYZ (también sumas de gaussianos), y luego convirtiendo XYZ a RGB. Eso es razonable.
El primer problema es que en lugar de adivinar un amplio espectro que se aproxima a un cuerpo negro solar cuando el color es gris/blanco, adivinan picos estrechos a 463nm, 550nm y 615nm. Eso simplemente no es realista, y es la razón de todos los colores extraños en la mitad derecha de la captura de pantalla.
Los colores brillantes de la izquierda se deben a otra extraña decisión de diseño. Junto con el RGB admiten canales de color IR y UV que sólo se pueden ver cuando se desplazan por Doppler al rango visible, lo cual es una buena idea. Pero se trata de nuevo de picos agudos en el espectro, y las texturas controlan la longitud de onda de los picos, mientras que las amplitudes son fijas. Para el UV, se elige una longitud de onda de 0nm a 380nm (efectivamente un rango infinito), mientras que para el IR es de 700nm a 1100nm (menos de un rango de 2:1). La razón por la que se ven arcos iris brillantes RGB en todas las texturas cuando se desplaza el azul, pero no cuando se desplaza el rojo, no tiene nada que ver con la física. Es porque puedes poner el pico UV obligatorio a 0nm donde nunca será visible, pero no puedes ocultar el pico IR obligatorio.
La escala de brillo parece estar mal también. Multiplican la anchura de los gaussianos por el factor de corrimiento al rojo, lo que escala la energía integrada por el mismo factor, y luego dividen por el factor de corrimiento al rojo al cubo. Como resultado, su ley de Stefan-Boltzmann es $σT^2$ en lugar de $σT^4$. Deberían haber dividido por la quinta potencia.
También parece haber problemas con el código de conversión de espectro a RGB: el arco iris de la izquierda tendría rayas ROYGBIV, no sólo RGB, si se convirtiera correctamente.
Otro problema menor es que parece que calculan los efectos basándose en la fuerza con la que se empuja el joystick, no en la velocidad a la que se mueve realmente. Por ejemplo, los fantasmas en movimiento aparecen rojos/azulados cuando estás parado, pero si te pones delante de uno y dejas que te empuje, sigue estando azulado aunque ahora esté parado respecto a ti, y no hay efectos de movimiento en el fondo aunque esté en movimiento. El desplazamiento rojo/azul de los fantasmas tampoco parece cambiar a medida que la velocidad de la luz disminuye ostensiblemente.
El suplemento «qué está pasando» del final (también descargable en formato Powerpoint desde el sitio web) tiene algunos errores.
La luz también se comporta como una corriente de partículas llamadas fotones. Cuando corres hacia una corriente de fotones, más fotones te golpean y el objeto se vuelve más brillante. Este efecto también se conoce como Aberración Relativista.
En primer lugar, estos efectos son clásicos por lo que la cuantización es irrelevante. En segundo lugar, el aumento de la tasa de absorción de fotones sólo explica una pequeña parte del aumento de brillo. Tercero, la aberración se refiere a un cambio de ángulo, no a que te lleguen más fotones.
En esta diapositiva también hay una imagen con el título «moviéndose a la izquierda, los objetos de la izquierda son más brillantes que los de la derecha», aunque eso claramente no es cierto en la imagen (que es similar a la imagen de la parte superior de esta respuesta). Debería ser cierto, por supuesto. Me resulta difícil entender cómo no se dieron cuenta en ningún momento del desarrollo de que su sombreador tenía un error, dada la locura de sus resultados.
Hay que estar mucho más cerca de la velocidad de la luz para notar los efectos más dramáticos de la Transformación de Lorentz en comparación con los efectos Doppler y Searchlight. Al final del juego, los efectos Doppler y Searchlight se eliminan para que la Transformación de Lorentz sea más fácil de ver.
Aquí dicen «Transformación de Lorentz» pero parecen querer decir aberración. La transformación de Lorentz no es un «efecto», es sólo una forma de convertir entre sistemas de coordenadas. Los sistemas de coordenadas no tienen sentido y no afectan a lo que ves.
Los objetos que normalmente están fuera de tu campo de visión pueden hacerse visibles cuando te mueves cerca de la velocidad de la luz, ya que los ves como estaban en el pasado.
Sí, los ves como estaban en el pasado, pero los ves en el mismo tiempo pasado sin importar la velocidad a la que te muevas (los relojes mostrarán la misma lectura independientemente de tu velocidad, por ejemplo). Tu campo de visión se amplía cuando avanzas debido a la aberración, que se entiende más fácilmente como un efecto local debido al movimiento de tu cámara/ojo, como se ve aquí.