Devadesátá léta vyžadovala od herních vývojářů brutální efektivitu. Omezený výpočetní výkon znamenal, že každý řádek kódu musel být optimalizován pro rychlost. Ukázkovým příkladem je střílečka z pohledu první osoby Quake III Arena (Quake 3), vydaná v roce 1999, která zanechala v oboru nesmazatelnou stopu ne kvůli svému příběhu, ale díky inovativnímu multiplayeru a překvapivě elegantnímu kódu.

Neviditelná síla 3D grafiky

Jádrem Quake 3 byla potřeba renderovat 3D svět v reálném čase. To vyžadovalo chytrý přístup k 3D grafickým výpočtům, včetně obzvláště obtížného problému: výpočtu inverzní odmocniny. Vypočítat to znamenalo vydělit jedničku druhou odmocninou čísla, což je proces, který i dnes vyžaduje značný výpočetní výkon. Programátoři Quake 3 hledali rychlejší cestu a jejich řešení zůstává úžasné.

Kód, který byl později otevřen, odhalil důmyslný algoritmus, který dodnes fascinuje vědce a programátory. Algoritmus efektivně určuje orientaci objektů a znaků ve 3D prostoru normalizací vektorů – matematických šipek, které označují směr. Výpočet inverzní odmocniny je pro tento proces zásadní a metoda Quake 3 obešla tradiční výpočetní úzká místa.

“Magické číslo” a jeho tajemný původ

Podstata efektivity spočívá v tajemném čísle 0x5f3759df, nyní známém jako „magické číslo“. Tato hexadecimální hodnota, ekvivalentní 1 597 463 007 v desítkové soustavě, umožňuje Quake 3 aproximovat inverzní druhou odmocninu v jediném kroku optimalizace. Algoritmy, jako je Newton-Raphsonova metoda, obvykle vyžadují čtyři až pět iterací k dosažení spolehlivého výsledku. Magické číslo Quake 3 to snižuje na pouhou jednu iteraci.

O původu tohoto čísla se dlouho diskutovalo. Počítačový vědec Chris Laumont publikoval v roce 2003 technický článek, ve kterém se pokoušel o reverzní inženýrství jeho vytvoření. Lomont zjistil, že konstanta, když je dosazena do Newton-Raphsonovy metody, dává chybu ne větší než 0,175 procenta. Jeho vlastní výpočty dokonce odhalily o něco efektivnější hodnotu, ale původní konstanta stále fungovala dobře.

Hledat neznámého autora

Záhada se prohloubila, když online komunity začaly neúnavně pátrat po programátorovi, který přišel s magickým číslem. John Carmack, hlavní vývojář Quake 3, nebyl schopen s jistotou identifikovat autora. Stopa nakonec vedla ke Gregu Walshovi, vývojáři z Ardent Computer na konci 80. let, který možná zavedl konstantu do dřívějšího algoritmu. Přesná cesta od Walshovy práce ke Quake 3 však zůstává nejasná.

Dědictví chytré optimalizace

Příběh o inverzní druhé odmocnině Quake 3 je důkazem vynalézavosti raných vývojářů her. Optimalizace se zrodila z nutnosti poháněné hardwarovými omezeními 90. let. Dnes, s mnohem výkonnějšími výpočetními schopnostmi, je taková extrémní účinnost méně kritická. Tento příběh ale slouží jako připomínka toho, že z omezení se mohou vynořit elegantní řešení a že někdy se ty nejsmysluplnější inovace skrývají ve zdánlivě všedním kódu.

Účinnost algoritmu Quake 3 není jen historickou poznámkou; demonstruje závazek k optimalizaci, která definovala éru. Snaha porozumět jeho magickému číslu zdůrazňuje, jak i ty nejmenší detaily mohou zanechat trvalou stopu ve světě informatiky.