A játékkal van néhány komoly probléma. Bárcsak 2012-ben hallottam volna róla, amikor még lehetett volna némi remény a javításukra. Azt is kívánom, bárcsak Luboš Motl már 2012-ben észrevette volna a problémákat.
Az aberráció szimulációja szerintem helyes. Nehéz megmondani az időtágulásról és a fényutazás-időeltolódásról, mert eleve nem sok minden történik a játékvilágban.
A legnagyobb probléma az, hogy a Doppler-eltolódás szimulációja nevetségesen rossz.
Itt egy screenshot a játékból:
Itt egy hasonló, nyugalomban készült screenshot, amire a Backlight, a 4D raytracer Doppler shift kódját használva egy “Doppler gradienst” alkalmaztam:
A második képet természetesen nem tekinteném véglegesnek, de minőségileg sokkal közelebb áll ahhoz, ahogy a játéknak kinéznie kellene. A csillagfénnyel megvilágított fehér tárgyaknak nagyjából feketetest-spektrumuk van, tehát Doppler-eltolódással vörösnek, fehérnek vagy kéknek kellene lenniük, soha nem zöldnek vagy lilának. A telítetlen színű tárgyaknak telítetlen szivárványként kellene megjelenniük (nézd meg a földet, amely nyugalmi állapotban halványkék). És a fényerőnek egyenletesen kell növekednie, ahogy jobbról balra nézel.
A játék nem nyílt forráskódú, de a Doppler shift shader igen, így vetettem rá egy pillantást.
Ez úgy működik, hogy a textúra RGB komponenseiből kitalál egy fényspektrumot (Gaussok összegeként ábrázolva a hullámhossz-térben), ezt skálázza a Doppler shift faktorral, összevonja az XYZ színillesztési függvények (szintén Gaussok összegei) közelítéseivel, majd az XYZ-t RGB-re konvertálja. Ez ésszerű.
Az első probléma az, hogy ahelyett, hogy egy széles spektrumot találnának ki, amely megközelíti a napfekete testet, amikor a szín szürke/fehér, keskeny tüskéket találnak ki 463 nm-nél, 550 nm-nél és 615 nm-nél. Ez egyszerűen nem reális, és ez az oka az összes furcsa színnek a képernyőkép jobb felében.
A bal oldali élénk színek egy másik furcsa tervezési döntésnek köszönhetőek. Az RGB mellett támogatják az IR és UV színcsatornákat is, amelyek csak akkor láthatók, ha Dopplerrel eltolódnak a látható tartományba, ami egy jó ötlet. De ezek ismét éles tüskék a spektrumban, és a textúrák szabályozzák a tüskék hullámhosszát, míg az amplitúdók fixek. Az UV esetében 0 nm és 380 nm közötti hullámhosszt választasz (gyakorlatilag végtelen tartomány), míg az IR esetében 700 nm és 1100 nm közötti hullámhosszt (kevesebb, mint 2:1 arányú tartomány). Annak, hogy kékeltolódás esetén minden textúrában fényes RGB szivárványokat látsz, vöröseltolódás esetén viszont nem, semmi köze a fizikához. Ez azért van, mert a kötelező UV tüskét 0nm-re tudod tenni, ahol soha nem lesz látható, de a kötelező IR tüskét nem tudod elrejteni.
A fényerősség skálázás is rossznak tűnik. A Gaussok szélességét megszorozzák a vöröseltolódási tényezővel, ami az integrált energiát ugyanezzel a tényezővel skálázza, majd osztják a vöröseltolódási tényezővel kockára. Ennek eredményeként a Stefan-Boltzmann-törvényük $σT^2$ ahelyett, hogy $σT^4$ lenne. Az ötödik hatványával kellett volna osztaniuk.
Úgy tűnik, hogy a spektrum-RGB konverziós kóddal is problémák vannak – a bal oldali szivárványnak ROYGBIV csíkjai lennének, nem csak RGB, ha helyesen konvertálnák.
Egy másik kisebb probléma, hogy úgy tűnik, hogy a hatásokat az alapján számítják ki, hogy milyen erősen nyomod a joystickot, nem pedig, hogy valójában milyen gyorsan mozogsz. Pl. a mozgó szellemek piros/kékeltnek tűnnek, amikor álló helyzetben vagy, de ha az egyik elé állsz és hagyod, hogy meglökjön, akkor kékelt marad, bár most már hozzád képest álló helyzetben van, és a háttéren nincs mozgáshatás, pedig az mozog. A szellemek vörös/kékeltolódása a fénysebesség látszólagos csökkenésével sem látszik megváltozni.”
A végén található “mi történik” kiegészítésben (amely Powerpoint formátumban is letölthető a honlapról) van néhány hiba.”
A fény a fotonoknak nevezett részecskék áramaként is viselkedik. Ha egy fotonáradat felé futsz, több foton csapódik beléd, és a tárgy fényesebbé válik. Ezt a hatást relativisztikus aberrációnak is nevezik.
Először is, ezek a hatások klasszikusak, így a kvantálás irreleváns. Másodszor, a megnövekedett fotonelnyelési sebesség csak egy kis részét teszi ki a fényességnövekedésnek. Harmadszor, az aberráció a szögváltozásra utal, nem pedig arra, hogy több foton csapódik be.”
A dián van egy kép is “balra mozogva a bal oldali objektumok fényesebbek, mint a jobb oldaliak” felirattal, holott a képen (amely hasonló a válasz tetején lévő képhez) ez nyilvánvalóan nem igaz. Természetesen igaznak kellene lennie. Nehéz megértenem, hogy a fejlesztés egyetlen pontján sem jöttek rá, hogy a shaderük hibás, tekintve annak őrült kimenetét.
Sokkal közelebb kell lenned a fénysebességhez ahhoz, hogy észrevehesd a Lorentz-transzformáció drámaibb hatásait a Doppler- és Searchlight-effektusokhoz képest. A játék végén a Doppler- és Searchlight-effektusokat eltávolítják, hogy a Lorentz-transzformációt könnyebben észrevehesd.
Itt azt mondják, hogy “Lorentz-transzformáció”, de úgy tűnik, hogy aberrációra gondolnak. A Lorentz-transzformáció nem “effektus”; ez csak egy módja a koordinátarendszerek közötti átváltásnak. A koordinátarendszerek értelmetlenek, és nem befolyásolják azt, amit látsz.
A normális esetben a látómeződön kívül eső tárgyak láthatóvá válhatnak, ha közel fénysebességgel mozogsz, mivel úgy látod őket, ahogy a múltban voltak.
Igen, úgy látod őket, ahogy a múltban voltak, de ugyanabban a múltbeli időpontban látod őket, függetlenül attól, hogy milyen gyorsan mozogsz (az órák például ugyanazt az értéket mutatják, függetlenül a sebességedtől). A látómeződ szélesedik, amikor előre haladsz az aberráció miatt, ami a legegyszerűbben a kamerád/szemed mozgása miatti helyi hatásként értelmezhető, ahogy itt látható.