Ontwikkelaars delen trucs en geheime hacks die games laten werken

Een man steekt zijn duim op terwijl hij een kapotte vaas vasthoudt met tape voor tv's.

Afbeelding: Kotaku / Tortoon / Alexander_P (Shutterstock)

Wist je dat alle paarden in Assassin’s Creed 1 zijn gebouwd met echt verknipte menselijke skeletten? Of dat Titan Quest onzichtbare eekhoorns gebruikt als in-game timers? Dit alles is waar en is meer een bewijs dat games meestal wilde verzamelingen code en hoop zijn die meer gemeen hebben met wonderen dan met software.

Videogames zouden helemaal niet moeten werken. Dit is wat ik heb geleerd na het lezen van verhalen die door ontwikkelaars zijn gedeeld over het maken van games en alle trucs en hacks die worden gebruikt om deze dingen aan de gang te krijgen. Deze verhalen over gehackte oplossingen zijn er altijd al geweest, maar een recente virale tweet over onzichtbare eekhoorns die worden gebruikt als in-game timers heeft geleid tot een nieuwe golf van verhalen online die opnieuw laten zien hoe videogames meestal bij elkaar worden gehouden met tape, magie en wat stokken.


Voor een goed voorbeeld hiervan, laten we beginnen met een tweet van Charles Randalldie aan het origineel heeft gewerkt Moordenaars gelofte. Hij deelde twee interessante ontwikkelaarshacks over verborgen armen en verknipte paarden.

Het blijkt, in Moordenaars gelofte, had het team niet het budget om een ​​speciale, op maat gemaakte skeleton rig te maken voor medehuurmoordenaar Malik. Dus als het personage een arm verliest, is hij er eigenlijk nog steeds, maar gewoon binnenstebuiten. Randall legde uit dat als je de camera in zijn model knipte, je waarschijnlijk een “klein gekreukt armpje in de biceps” zou zien.

Nog een, wilder AC1 hack heeft betrekking op de paarden van het spel. Randall legde uit dat paarden in het spel zijn gemaakt van “verdraaide, verknipte” digitale skeletten van menselijke skeletten, omdat de technologie van het team destijds alleen goed werkte met tweevoeters.

“Proost voor de geweldige animators en riggers die erin geslaagd zijn om die man eruit te laten zien als een paard”, tweette Randall.


Op Twitter, game-ontwikkelaar Luke Parkes-Haskell een eenvoudige oplossing gedeeld die werd gebruikt in Fabel: De reisde Kinect-only Fabel spin-off die in 2012 werd uitgebracht. Volgens Parkes-Haskell ondervond het team een ​​probleem vlak voordat het spel werd verzonden.

Het probleem: bepaalde gras- en watermaterialen zouden niet goed worden weergegeven in het spel. In plaats daarvan zouden spelers de standaard grijze dambordtexturen van de game zien die door de ontwikkelaars worden gebruikt tijdens de ontwikkeling. Maar toen de tijd opraakte voor de lancering, bedacht het team een ​​elegante en snelle oplossing. Ze hebben zojuist de standaard dev-textuur verwisseld van dambordgrijs naar plat groen. Probleem opgelost en het spel is verzonden.


Dark Table heeft een verhaal gedeeld over hoe ze werkten in een studio waar de ingenieurs de ontwerpers niet konden voorzien van timers of een manier om triggers of sequenties te vertragen. Ze hadden echter toegang tot vallende objecten met fysica en botsingen. Dus hebben ze hun eigen timers gehackt door in-game dozen van verschillende hoogtes buiten het scherm te laten vallen om gebeurtenissen te activeren met behulp van de botsing van de objecten.

Hoewel ze zich niet op hun gemak voelden om de naam van de studio of de Dreamcast-game in kwestie te delen, deelde Dark Table een grappig verhaal met mijn doos over het testen van het spel op 50Hz-tv’s.

“Ik geloof dat het primitieve fysica-systeem afhankelijk was van de framesnelheid”, legt Dark Table uit. “Dus toen ze voor het eerst testten op PAL-tv’s (50 Hz) in plaats van NTSC-tv’s (60 Hz), stonden alle timers in het spel een beetje uit. Ik denk dat dit was toen de ingenieurs voor het eerst ontdekten wat de ontwerpers hadden gedaan (en het was te laat om het te veranderen).”


Rolf Klischewski, een ontwikkelaar die meewerkte aan The Settlers III, deelde hoe het team de game kon verzenden ondanks enorme desynchronisatieproblemen als je online speelt. Na wekenlang naar een oplossing te hebben gezocht, verscheen op een dag de foutmelding die bevestigt dat een desynchronisatie is gestopt. Volgens Klischewski prees de CEO de programmeurs voor hun harde werk. Maar toen onthulde hij wat er werkelijk gebeurde:

“Weinigen van ons wisten dat een van hen zojuist de foutmelding had onthouden.” Met andere woorden, iemand heeft een stukje tekst aan de code toegevoegd om de foutmelding te laten verdwijnen, wat niet het geval is Echt het probleem oplossen, maar je kunt het spel wel verzenden. Het is het game-dev-equivalent van het plaatsen van wat ducttape over het “check engine” -lampje op je auto.


Kunstenaar en game-ontwikkelaar Alex Zandra heeft een verhaal gedeeld over een klein motorspel ze maakte die gekenmerkte roguelike progressie. zoals ze vertelde mijn doos, haar baanbouwsysteem gebruikte vooraf gebouwde verticale brokken en plaatste ze vervolgens bij elkaar om een ​​​​naadloze baan te creëren waar spelers vervolgens overheen zouden racen. Dit gebeurde allemaal tijdens het laden van het level.

Er was echter een probleem. Elke keer dat een level werd gegenereerd, zou er helemaal aan het einde een extra, onbedoeld en groot wiggedeelte worden geplaatst. Zich realiserend dat het te lang zou duren om de code te herschrijven om deze moeilijk op te lossen bug op te lossen, koos Zandra voor een andere, minder “elegante” hack.

Een screenshot van een cartoonmotorfiets die een kleine heuvel oprijdt.

Schermafbeelding: Alex Zandra / Kotaku

“Ik heb dat er gewoon in gelaten en in plaats daarvan een klein stukje code gemaakt om de vreemde blokkade te vernietigen”, legt Zandra uit.

“Technisch gezien is er aan het einde van een level dat rare oversized ramp-blok, maar gelukkig is het te ver vooruit voor de speler om het te zien, en mijn extra code vindt het en verwijdert het voordat het zelfs maar op het scherm komt. Niet bepaald elegant, maar het werkt!”


Soms kunnen deze game-ontwikkelingshacks worden samengevat in een paar woorden of een enkele tweet. Echter, Nate Purkeypile, een voormalige Bethesda-ontwikkelaar, had een meer betrokken en wild verhaal over het hacken van videogames om te delen over het fantastische Fallout 3 DLC, Punt Uitkijk.

Het probleem dat hij tegenkwam was dat het team op een gegeven moment in de DLC een landhuis nodig had om te ontploffen. Lijkt simpel genoeg. Je blaast het op. Als je de DLC hebt gespeeld, heb je er waarschijnlijk niets van gevonden. Ze hebben het opgeblazen en dat is dat. Maar oh… er is zoveel meer. Vanwege hoe de motor in Fallout 3 gewerkt, Purkeypile en de kleine groep maken Uitkijkpunt waren niet in staat om gebeurtenissen ver van de speler te activeren. Alles wat je in de verte ziet, was slechts een statisch object.

De oplossing hiervoor was het gebruik van een stukje reeds bestaande technologie in het hoofdspel: het systeem dat werd gebruikt om Megaton op te blazen in Fallout 3.

Ondanks dat het landhuis recht voor je staat, legde Purkeypile uit aan: mijn doos dat het “van dat ‘verre explosie’-objecttype moest zijn” dat werd gebruikt bij de vernietiging van Megaton in het originele spel. “Anders zouden we daar gewoon altijd een huis hebben als je ver weg bent. Dus met deze oplossing konden we dat “explosiehuis” (dat was gewoon een huis en GEEN explosie) uitschakelen nadat het landhuis daadwerkelijk is ontploft.”

Of om het anders te zeggen, Purkeypile verklaarde: “Dus ja, contra-intuïtief, nadat het ontploft, zetten we het nep-“explosie” -huis uit.”

Je vraagt ​​je misschien af ​​waarom het team niet de middelen had om te creëren wat ze nodig hadden. Purkeypile legde me uit dat Bethesda destijds vrij klein was. En de meeste mensen waren toen bezig met Skyrim. Dus de DLC-teams moesten interessante en goedkope manieren bedenken om reeds bestaande technologie en middelen te gebruiken om problemen op te lossen, zoals het opblazen van een herenhuis.


Taylor Swope, een ontwerper bij Obsidian, deelde hoe het team NPC’s liet verschijnen op monitoren en schermen in zijn RPG, De buitenwerelden. Het blijkt dat wanneer je iemand op een scherm of monitor ziet praten, het personage in de buurt is in een aparte kamer die is ingericht om eruit te zien als het gebied waarin ze zich eigenlijk zouden moeten bevinden bij het verzenden van het bericht.

Swope legde me uit dat dit een veelvoorkomende truc is die in veel andere games te vinden is. Ik heb dit bijvoorbeeld zelf gezien bij het niet knippen en verkennen van niveaus in Valve’s Halfwaardetijd 2.

Wat betreft de reden waarom ontwikkelaars deze optie gebruiken in plaats van vooraf gegenereerde videobestanden, legde Swope me uit dat het meestal neerkomt op bestandsgrootte.

“Videobestanden worden heel groot, heel snel. Dus het is een pluspunt dat je ze niet in de gamebestanden hoeft op te nemen”, aldus Swope.

“Voor spellen zoals De buitenwereldener is ook veel interactie met spelers bij dit soort gesprekken, en dus moet de reeks die op het scherm wordt afgespeeld dynamisch kunnen reageren.”

“In theorie zouden we elk antwoord vooraf in een aparte video kunnen weergeven en kiezen welke we willen afspelen op basis van de keuzes van de speler, maar dan heb je nog MEER videobestanden om mee om te gaan en moet je daarvoor een nieuw systeem bouwen. Het is gemakkelijker om gewoon het conversatiesysteem te gebruiken dat we al hebben gebouwd en de andere kant van het gesprek ‘live’ vast te leggen.”


Game-ontwikkelaar Logan op Twitter een eenvoudige oplossing voor een cameraprobleem gedeeld waar ze steeds tegenaan liepen terwijl ze aan hun spel werkten, Ga vliegeren. Met behulp van een first-person perspectief zou de speler spawnen terwijl hij in een bus zit. Dit veroorzaakte echter een vreemde bug.

“In wezen zou de speler spawnen”, vertelde Logan aan mijn doos “en de spelercamera zou tegelijkertijd proberen naar de ‘gedockte’ positie te gaan, waardoor de camera deze 360-graden flip maakt.”

Je spel laten beginnen met zo’n wilde camerabeweging was geen onderdeel van Logans plan, maar het was lastig om het te repareren. Dus in plaats daarvan heeft Logan eenvoudig een nep-laadscherm van 2 seconden toegevoegd dat precies wordt afgespeeld vanaf het begin van de scène en na het echte laadscherm.


Tot slot legde Georg Zoeller op Facebook uit (die met zijn toestemming op Twitter is gedeeld) een groot aantal wilde trucs en hacks die door verschillende teams worden gebruikt in een grote selectie populaire spellen. Hier zijn slechts enkele van de beste die ze hebben gedeeld:

In de MMO Star Wars The Old Republic, zijn alle exploderende vaten gevuld met gekrompen onzichtbare mensen, omdat alleen NPC’s een geldige schadebron zijn. “Ja, dat klopt, elke keer dat je op een exploderende loop schiet, wordt er iemand opgeblazen”, legt Zoeller uit.

“Oh, aanvankelijk waren het complexe modellen met transparantie toegepast, want voor menig ontwerper is alles een spijker als je een hamer hebt”, zei Zoeller. “Ik moest een script schrijven om ze allemaal te vinden, omdat ze de framesnelheid behoorlijk hebben verlaagd.”

Een man houdt een aanvalsgeweer vast en kijkt naar een grote groene struik in een oude retro-shooter.

In de militaire FPS, Operatie Vlampunt, onthulde Zoeller dat de ontwerpers “geen manier hadden om explosies te maken”. In plaats daarvan lanceerden ze voertuigen zoals tanks en vrachtwagens met enorme snelheden op de grond om grote explosies te veroorzaken. Blijkbaar is dit op sommige kaarten hoe ze artillerievuur creëerden.

Misschien was de wildste wel binnen Star Wars: Ridders van de Oude Republiekwaar er eigenlijk één willekeurig dier was dat een planeet bestuurde.

“Alle globale zoektochtvariabelen op een bepaalde planeet zijn opgeslagen op een ongericht omgevingswezen”, zegt Zoeller. “Het blijkt dat AOE-effecten het wezen nog steeds kunnen verwerven en doden, waardoor je spel wordt verbroken als je toevallig het juiste omgevingswezen doodt.”

Sorry, je spel is kapot gegaan omdat je het Goddier van Naboo hebt vermoord. Videogames zijn geweldig.

Leave a Comment