Kaotikus forráskód és Quake-trükkök lapulnak a Thief remaster mögött

thief

Pánikszerű fejlesztői megjegyzések és zseniális technikai trükkök bukkantak fel a kilencvenes évek egyik legfontosabb lopakodós játékának kódjából. A klasszikus Thief felújításán dolgozó Nightdive Studios mérnökei egy rendkívül elavult verziókövető adattárból fejtették meg a Looking Glass Studios egykori fejlesztési káoszát.

A retro klasszikusok szakszerű restaurálásáról ismert Nightdive Studios a Digital Foundry Retro Super Show adásában osztott meg meglepő részleteket a kultikus Thief: The Dark Project feldolgozásának műhelytitkairól. Josh Dowell, a stúdió szoftvermérnöke elmondta, hogy a munkálatok során rábukkantak a játék eredeti motorjának, a Dark Engine-nek egy korai kódraktárára. A feltárt fájlok a technikai háttérre világítottak rá, miközben közvetlen betekintést engedtek az 1997 és 1998 közötti, határidők szorításában zajló fejlesztői küzdelmekbe is.

Halálos határidők és elfelejtett kódmódosítások a Dark Engine mélyén

A Nightdive mérnökei a forráskód elemzésekor szembesültek a programozók által hátrahagyott, gyakran kendőzetlenül őszinte megjegyzésekkel. Dowell kiemelte, hogy a Looking Glass Studios és az Irrational Games egykori szakemberei meglepő kommentárokkal látták el a saját megoldásaikat. A kódsorok között olyan bejegyzések szerepeltek, mint a „Hatalmas gányolás! Soha ne ismételjétek meg! Ki kell javítanunk ’98 előtt!”, vagy éppen az „E3 trükk! Ezt törölni kell az E3 után!” figyelmeztetések.

Az igazán meglepő fordulatot az jelentette, hogy ezek az ideiglenesnek szánt programozói áthidalások és hevenyészetten összedobott megoldások a Thief 1998-as megjelenése után sem tűntek el, sőt még a két évvel később kiadott Thief 2 forráskódjában is sértetlenül jelen voltak. Dowell magyarázata szerint a kaotikus kódállomány mögött a fejlesztőcsapat félidei átszervezése állhatott: a projektet elindító programozók többsége a fejlesztés második felére más feladatokra került, a helyükre lépő új gárda pedig már nem merte vagy nem tudta átfésülni az alapokat a szoros határidők miatt.

Ez a jelenség jól rávilágít arra, hogy a kilencvenes évek végének úttörő játékai sokszor nem steril, mérnöki precizitással megtervezett architektúrára, hanem a kiadási nyomás alatt született gyors áthidalásokra épültek. A szoftverarchaeológia szempontjából ezek a megjegyzések pótolhatatlan leletek, amelyek megmutatják a videójáték-fejlesztés emberi és feszített oldalát.

Quake-mátrix valós időben: a Dark Engine egyedi megvilágítási rendszere

A fejlesztői kommentárokon túl a kód struktúrája technikai szempontból bridges is tartogatott meglepetéseket. Josh Dowell rámutatott, hogy a Thief renderelési eljárása és a pályákat működtető technológia alapvetően az id Software által megalkotott Quake motorjának közvetlen másolata. A fényforrások kezelése és a megvilágítási kalkulációk pontosan ugyanazt az elvet követik, mint amit John Carmack és csapata kidolgozott.

A két motor közötti eltérés azonban drámai. A Quake az előre kiszámított láthatóság módszerével dolgozott: a pálya fordítása során a rendszer előre rögzítette, hogy az adott pontból mi látható, így a számítógépnek játék közben nem kellett bonyolult számításokat végrehajtania. Ezzel szemben a Dark Engine a Quake lassú, offline fázisát valós időben futtatta le. A Thief világában minden ajtónyílás egyfajta portálként működik, és a játékmenet során a motor élőben számítja ki, hogy a játékos melyik portálon keresztül melyik másik szobát vagy folyosót láthatja.

Ez a valós idejű számítási modell elképesztő teljesítményigényt jelentett az 1998-as hardveres környezetben. A megoldás rugalmassága tette lehetővé, hogy a Thief komplex hangterjedési és fényszimulációs rendszert használhasson, ami a lopakodós játékmenet alapkövévé vált. A játékosok árnyékban való elrejtőzése és a léptek zajának terjedése mind ennek a dinamikus, bár technikai szempontból merész struktúrának köszönhető.

A felújítási hullám és a retro játékmegőrzés technikai kihívásai

A Nightdive Studios a saját fejlesztésű KEX Engine segítségével ülteti át modern platformokra a Thief remaster kiadását. A stúdió korábban már bizonyította szakértelmét olyan címek felújításával, mint a System Shock 2, a Quake II vagy a Star Wars: Dark Forces. A feladat azonban egy olyan komplex rendszernél, mint a Thief, különleges körültekintést igényel.

Egy immerzív szimulátornál a vizuális javítások nem alakíthatják át a játékmenet egyensúlyát. Ha a fejlesztők túlságosan belenyúlnak a megvilágítási értékekbe vagy a mesterséges intelligencia látószögébe, a lopakodás mechanikája azonnal összeomolhat. A Nightdive célja éppen ezért az eredeti atmoszféra és a precíz játékmenet megőrzése a modern kijelzők, a kontrollerek és a mai operációs rendszerek támogatása mellett.

A Thief remaster bejelentése és a kódarchívum feltárása ismét bizonyítja, hogy a klasszikus játékok felújítása nem pusztán a felbontás növeléséről szól. A modernizáció során a fejlesztőknek sokszor több évtizedes technikai adósságokat kell megérteniük ahhoz, hogy az élmény pontosan olyan maradjon, amilyenre a játékosok a kilencvenes évekből emlékeznek.