Gamers die zogenaamde glitches in hun voordeel gebruiken, kunnen software-ingenieurs namelijk helpen om bugs in software beter te begrijpen en te verbeteren.
Hoe goed ontwikkelaars ook hun best doen om hun games perfect te ontwerpen, er sluipen altijd wel wat foutjes in, zoals ‘bugs’ of ‘glitches’ (voor het verschil: zie kader). Zo kan het zijn dat je tijdens een rondje Mario Kart niet geraakt wordt door een vliegend schildpadschild, maar de game denkt van wel. Of buig je netjes voor de hippogrief Highwing in Hogwarts Lecagy, en is het mythische wezen daarna ineens verdwenen. Voor de meeste gameliefhebbers zijn dit soort situaties irritant of onhandig, maar fanatieke gamers kunnen fouten in de programmacodes naar hun hand zetten.
Met name spelers die zich specialiseren in ‘speedruns’ maken hier gebruik van. Mensen die er een sport van maken om een videogame zo snel mogelijk uit te spelen. Speedrunners perfectioneren dit door de route van het spel uit te denken, trucjes te oefenen en soms ook door glitches te gebruiken die per ongeluk het spel in zijn gekomen. En dat is niet alleen leuk voor henzelf: de kennis en vaardigheden van speedrunners kunnen ook waardevol zijn voor software-ingenieurs die bugs opsporen en oplossen. Dat claimen studenten van de Universiteit van Bristol.
Super Mario
Ze baseren zich op een analyse van 237 bekende glitches in vier van de eerste Mario-platformspellen: Super Mario Bros (1985), Super Mario Bros. 3 (1988), Super Mario World (1990) en Super Mario 64 (1996). Deze platformspellen hebben allemaal grofweg dezelfde opzet: een hindernisbaan met verschillende platforms, slechteriken, ‘powerups’ en munten waar de Italiaanse loodgieter Mario zich doorheen moet worstelen om prinses Peach te redden.
Bug’s en glitches verwijzen beide naar foutjes in een programma, maar er is wel degelijk een verschil. Een bug is een fout in de software die kan leiden tot crashes, onverwachte resultaten of andere problemen. Een glitch is daarentegen een tijdelijke storing of fout in het systeem. Dit kan worden veroorzaakt door hardwareproblemen, softwarefouten of externe factoren zoals stroomuitval of netwerkstoringen. Glitches zijn dan ook vaak kortstondig en verdwijnen vanzelf of na een herstart van het systeem. In de praktijk is het soms moeilijk om het verschil te zien tussen een bug en een glitch. De termen worden dan ook vaak door elkaar gebruikt. Het meest merkbare verschil is dat bugs meestal keer op keer worden opgeroepen door dezelfde stappen te volgen, terwijl glitches een stuk onvoorspelbaarder zijn en willekeurig kunnen optreden.
Oude spellen
Hoewel de onderzochte spellen relatief oud zijn, worden ze nog steeds fanatiek gespeeld door speedrunners en worden er nog steeds nieuwe records gevestigd. Zo staat staat het wereldrecordtijd voor Super Mario World op 41 (!) seconden. Om dat te kunnen bereiken, moeten de spellen dus uitvoerig zijn onderzocht – wat de spellen uitermate geschikt maakt om te onderzoeken, stellen de studenten. Juist omdat speedrunners zich er dus al tientallen jaren in hebben kunnen verdiepen.
Onbekende bugs
En daar kunnen softwareontwikkelaars nog wat van leren, blijkt uit het onderzoek. “Het blijkt dat de speedrunners een aantal trucjes hebben waar we nog niet van wisten”, vertelt Dr. Joseph Hallett van de School of Computer Science van Bristol. De onderzoekers categoriseerden namelijk verschillende zwakke punten van de games om te bepalen of ze overeenkomen met de bugs die ook in conventionele software worden misbruikt. Daaruit bleek dat sommige van de glitches die speedrunners gebruiken, nog helemaal geen bestaande classificaties te hebben in de softwaredefecttaxonomieën. Dat suggereert ook dat er soorten bugs zijn waar in algemenere software nog naar moet worden gezocht.
De interesse in deze kennis van gamers is belangrijk, meent Hallet. “Het werk van de speedrunners werd eerder niet echt serieus genomen door de academische wereld. Maar door de glitches van speedrunners te bestuderen, kunnen we beter begrijpen hoe ze het doen en of de bugs die ze gebruiken dezelfde zijn als waarmee andere software wordt gehackt.” Het team bestudeert nu Pokémon-videogames om te zien of gamers ook hier trucs hebben waar ontwikkelaars nog niet vanaf weten.