Schrijft al jaren over games, van de kleine indie-games tot de grote najaarstitels. Liefhebber van Dota 2, twijfelt nog over Destiny.
Ah, dat was sneller dan ik had verwacht. Verwarring. Het skillmenu in mijn game is redelijk complex en nu begrijp ik het niet meer. Wat die variabele daar doet, of waarom deze als-dan lus nodig is, ik weet het niet meer. Het is iets waarvan je vrijwel zeker weet dat het gaat gebeuren, en dit zal ook niet de laatste keer zijn dat ik mijn eigen code niet meer kan lezen.
Games zijn complex. Een enorme lijst aan variabelen, verdeeld over verschillende objecten en stukken code, alles is zo algemeen mogelijk gemaakt om zo dubbel werk te voorkomen. Van menu’s tot aan kunstmatige intelligentie, hoe uitgebreider des te complexer. Je kan er eigenlijk wel vanuit gaan dat elke game een grote puinhoop is. Gekke stukjes code waarboven in hoofdletters “DO NOT REMOVE” staat, niemand weet waarom, maar als het weg is werkt de game niet meer. Eigenlijk is het een wonder dat al die games überhaupt werken.
Het terugvinden van hoe mijn code werkt is trouwens best makkelijk te doen. Ik moet het alleen even op papier uit te werken, even opschrijven wat elke variabele precies doet. Het is ook niet veel werk, hooguit twee uurtjes. Het is alleen vervelend. Zie het als een confrontatie met je eigen falen. Ik begrijp mijn eigen code niet meer. Blijkbaar kan ik niet logisch genoeg programmeren om in een oogopslag duidelijk te krijgen wat dat stukje code doet.
Deze confrontatie is echter goed, belangrijk zelfs. Het zorgt ervoor dat je beter gaat werken. Het zorgt ervoor dat je systemen efficiënter worden en het dwingt je tot het herzien van zaken die je anders als ‘af’ zou bestempelen. Het niet kunnen lezen van je eigen code zorgt ervoor dat je game beter wordt.
In de dev-log artikelen vertel ik elke week hoe het vordert met de game waar ik aan het werken ben, of licht ik een technische of design kant van het maken van games toe.