A játékfejlesztés több szempontból sem egy egyszerű folyamat. Gyakori, hogy menet közben változik a koncepció, új elemek kerülnek bele vagy a korábban belerakottakat kukázzák a készítők. Ez utóbbiakat nevezik cut-content-nek. Ez egy hosszas, kreatív folyamat, amely során gyakran kell trükkökhöz folyamodni, hogy a felhasználói élmény ne csorbuljon.
A trükközések másik oka, hogy menet közben derül ki a használt játék motorról, hogy valami mégsem megoldható benne, de a fejlesztők mindenképp szeretnék beletenni a játékukba az adott feature-t.
Ebben a bejegyzésben összeszedtem nektek néhány érdekes trükköt a játékfejlesztés világából.
Wing Commander – 1990
A nagy sikerű űrhajó szimulátor-sorozat első darabjában volt megtalálható egy, a játékosok számára kedves üzenet a fejlesztőktől, amit azonban egy ismeretlen hiba miatt kellett beletenniük. Ken Demarest, a Wing Commander egyik programozója mesélte el, hogy amikor a játékos bezárta az alkalmazást, akkor az EMM386 memóriakezelő egy ismeretlen, de nem végzetes, hibát dobott a képernyőre.
Mivel nem elég idő a hiba kikutatására, ezért Ken Demarest hexeditorral belenyúlt a kódba, hogy ne a hibaüzenetet írja ki a játék, hanem a sokkal kedvesebb “Thank you for playing!” üzenetet.
Forrás: Wikipedia, DodgyCoder
Fallout 3 – 2008
A Fallout 3-ban lelkes moderrek fedezték fel, hogy a játékban megtalálható metrókocsik valójában föld alá süllyesztett NPC-k, akiknek egy hatalmas metrókocsi sapka van a fejükön. Valószínűleg a játékmotor hiányosságai vagy idő hiányában fordultak ehhez a megoldáshoz.

Grand Theft Auto – 1997
Hasonló megoldást alkalmaztak a Grand Theft Auto készítői is, amiről Stewart Waterson a sorozat egyik fejlesztője tett említést a 25. évforduló alkalmából. Azt valószínűleg mindenki tudja, hogy a GTA is már egy bug-nak köszönheti a létezését. A fejlesztők egy versenyjátékhoz írt mesterséges intellgiencája túlságosan is agresszív volt. Ezt viszont annyira mókásnak találták, hogy inkább kukázták a verseny játék ötletét, és hozzákezdtek a Grand Theft Auto megalkotásának.
Ebben az esetben azonban nem erről van szó. A játékokban megtalálható tankokhoz ugyanis cselhez kellett folyamodniuk. Egy bevásárlás során pattant ki az ötlet, hogy mi lenne, ha lennének tankok a játékban, és elkezdtek agyalni rajta, hogyan lehetne megvalósítani. Végül amellett maradtak, hogy egy autó tetejére helyeznek egy gyalogost, aki több irányba tud lőni. Kicsit lelassították a járművet, megnövelték az okozott sebzést és a páncélzatot, és máris kész volt a kezdetleges tankjuk.

Visszaemlékezésében leírja, hogy lényegében egyetlen nap alatt került be a tank a játékba, némi túlórázással. Tudták jól, hogy bajba kerülhetnek, hiszen ezt a változtatást senkivel nem egyeztették le. De ki ne akarna kibaszott tankot vezetni?! Na ugye. Másnap a csapat többi tagja és a tesztelők is elismerően szóltak a változtatásról, így megtartották.
EarthWorm Jim 3D – 1999
A nagysikerű EarthWorm Jim egyik nem túl jól sikerült változatában is találni érdekes megoldást, amiről az egyik fejlesztő, Eric Holmes mesélt. A különböző események aktiválódását az égbolton elhelyezett láthatatlan mosógép modellekkel oldotta meg.
Ultima Online – 1997
Raph Koster az Ultima Onlne és a Star Wars Galaxies játékok egyik fejlesztője osztotta meg pár éve a történetét. Anno az Ultima Online-ba szerettek volna elhelyezni karácsonyfákat a játékosoknak. Azonban nem volt működő animált modelljük, így a már meglévő fenyőfa modellre aggatták rá a játékban megtalálható világító köveket. Annak érdekében, hogy karácsonyfaizzóként villogjanak, egy scriptet írtak, ami eltüntette majd újra megjelenítette a világító köveket. Az más kérdés, hogy amikor karácsony közeledtél a játékba belépő minden játékos megkapta a karácsonyfáját, a játék nem bírta el a világításért felelős scriptet és összeomlott.
Firewatch – 2016
A Firewatch című játék egy történet orientált, nyomozós, belsőnézetes kalandjáték, szerintem nagyon érdekes történettel, és kifejezetten jó hangulattal. Amíg csak a sztori rész volt elérhető a játékban, addig nem is jelentett problémát, hogy a játékmotor nem tudja kezelni a napszakok változását, hiszen az egyes játékbeli fejezetek mozdították előre a napszakokat.
A szabad kóborlás mód azonban új nehézségek elé állította a fejlesztőt: valahogy meg kellett oldani a napszakok változását. Ennek eléréséhez a karaktermodellhez egy hatalmas eseményláncot illesztettek, ami összeköttetésben állt a háttérrel. Amikor a játékos mozgott a játéktérben a láncolat úgy működött mint egy hatalmas tárcsa, ami mindig fordult egy kicsit, és így a hátteret is magával rángatta. Így érték el az idő múlásának szimulálását.
Fable 2 – 2008
Glen Watts árulta el, hogy a Fable 2 fejlesztése során belefutottak egy olyan hibába, hogy néha a mesterséges intelligencia egyszerűen meghülyült. Ekkor csak körbe-körbe futkorászott, mivel nem kapott értelmes, elérhető célt. Ezt a hibát az alkotók nem tudták kijavítani, ám óriási szerencséjükre csak a kutyák mesterséges intelligenciáját érintette a hiba. Ez pedig azért nem volt zavaró, mert a kutyák egyébként is hajlamosak a saját farkukat kergetni játékból.
Philip Tan
Konkrét játékcím nem hangzott el, de Philip Tan mesélt egy érdekes történetet. Amikor egy RPG-n dolgoztak, akkor szerették volna megoldani, hogy bizonyos esetekben, ha a játékos belekerül egy NPC hatósugarába, akkor az NPC karakter odamenjen a játékoshoz és beszélgetést kezdeményezzen vele.
Azonban egy hiba miatt nem csak a játékos karakterére reagáltak az NPC-k, hanem egymásra is. Így egy városba beérve egymással cseverésző NPC-ket lehetett látni. Sőt, ha közel került a játékos hozzájuk még a párbeszédet is olvasni lehetett.
A mai RPG-kben ez már szinte alap feature, hiszen sokkal életteltelibbé teszi a játékteret. Én például el se tudnám enélkül képzelni a Witcher 3-at.
Crash Bandicoot – 1996
Dave Bagett, a Crash Bandicoot egyik fejlesztője vallott élete legnehezebben megtalálható és orvosolható hibájáról, aminek egy igazán trükkös megoldás lett a végeredménye.
A játék fejlesztése során futottak bele egy egészen súlyos problémába: néha, teljesen érthetetlen okokból a mentéseket tartalmazó memóriakártyát egy újabb mentés egyszerűen törölte, és minden korábbi játékállás elveszett. Képzelhetjük, hogy ez mennyire frusztráló lehetett volna a játékosoknak, így érthető, hogy ennek a hibának a kijavítása mindenek felett állt.
Dave Bagett nem értette, hogy mi történhet, sorra szedte ki a kód sorokat, lefordítva a programot, majd letesztelve. Ez egy nagyon lassú, és idegörlő folyamat. Egy napon azonban eljutott egy, a gravitáció és mozgásszámításért felelős részhez. Amikor azt kitörölte, hirtelen nem jelentkezett többé a memória kártyát tönkretevő hiba.
Ezután jobban megnézte a kódot, és kiderült, hogy Andy a vezető programozó azért, hogy pontosabb számításokat tudjon végezni, a PS1-ben található óra frenkvenciáját megnövelte 1khz-re, az alap 100hz-ről.
Az óra nem közvetlenül kapcsolódott a CPU-hoz, a precíz írás/olvasási műveletek elvégzéséért felelt. Ezért, ha itt bármi szinkronizációs probléma történt, akkor az adatok tönkremehettek.
Mivel nem volt rá lehetőség, hogy az egész játék fizikáját átírják, Dave egy meglepő hack-kel állt elő. Amikor a játékos ment, az óra frekvenciáját visszaveszi 100hz-re, amikor a játék fut, akkor marad a korábban beállított 1khz.
Tükröződések trükköződése
Itt több játék hasonló megoldásáról lesz szó. A tükrök és egyéb tükröződő felületek tökéletes lemodellezése még a mai technikával is kimondottan nehézkes, ezért a játékfejlesztők különböző trükkökhöz folyamodnak.
A Duke Nukem-ben és Silent Hill 2-ben is úgy oldották meg a tükör működését, hogy egyszerűen lemásolták a karaktert és a mögötte lévő szobát, majd a klón karakter a játékos minden mozdulatát leutánozta.

A Metal Gear Solid első részében a pocsolyák valójában átlátszó textúrájú területek, amelyek alatt a környező objektumok és a tető modellje is megtalálható volt. Azonban a játékos karakterét nem tették bele, ezért nem látszik Snake tükröződése a pocsolyákban.