Keur willekeur af

In vrijwel elke game wordt RNG (random number generation) gebruikt. Dit leidde tot de geboorte van RNGesus, de heilige representatie van het geluk van de speler. Maar is RNGesus eerlijk? Nee! En daarom ga ik bepleiten dat we RNGesus op het kruis moeten timmeren.

Entitlement

Waarom spelen Minecraft speedrunners vals? Waarom tweaken ze de drop rates en loot tables? Volgens deze YouTube video (@10:49) is het antwoord simpel: ze zijn bekend met het spel. Ze zijn welgetrainde experts. Dus voelen ze zich gerechtigd om niet weerhouden te worden door willekeur. En daar kan ik me exact in vinden! Als ik in een spel vaak doodga en ik moet het halve level weer door om terug te komen waar ik gebleven was, krijg ik steeds meer de neiging om bij dat stukje vals te spelen, omdat het steeds saaier wordt om dat duizendmaal belopen stukje nog een keer door te moeten gaan. En zo ook met willekeurige dingen: na een tijdje snap je het wel, en wil je gewoon verder. Just get it over with, en geef me die blaze rods. Dan kan ik verder met dat wat echte kunde verreist.

(Entitlement is het gerechtigd voelen tot iets, vaak met de implicatie dat dit gevoel onterecht is. Er bestaat geen pakkende vertaling.)

Oneerlijkheid

Als je ooit Mario Kart hebt gespeeld, weet je waar ik het over heb. De koploper kan willekeurig een blue shell op z'n kop krijgen en uiteindelijk helemaal als laatste finishen [youtube]. Nog leuker is de kansverdeling van item box drops [mariowiki.com]: de spelers achteraan krijgen vaker offensieve items of paddestoelen (speed boosts) uit de vraagtekendozen, en de spelers vooraan krijgen juist meer items waar je minder aan hebt, zoals bananen. Nintendo heeft dit expres gedaan om slechte spelers bij het spel te houden: het is nooit leuk om aan de lopende band te verliezen, dus het spel herkent slechte spelers aan de hand van hun positie en RNGesus helpt ze een handje.

Het is een legitieme strategie om je spel speelbaar te maken op bijvoorbeeld casual familiereünies, maar het leidt wel tot oneerlijkheid! Waarom zou een slechte speler per se een gelijke kans op de eerste plaats moeten krijgen tegen een goede? Welke van deze twee scenario's - ofwel gelijkheid van speelveld, danwel gelijkheid van resultaat - eerlijker is, ligt maar net aan degene waaraan je het vraagt. En als je het aan mij vraagt in de context van game design, dan moet je het speelveld gelijk maken, maar niet het resultaat. Equality, niet equity.

Het hek symboliseert de hoogst aanwezige kundigheid, en de lengte de individuele kundigheid.

Te realistisch

Maar als je willekeur niet inzet om de noobs te helpen, dan gebruik je het waarschijnlijk omdat je het echte leven na wil bootsen. In het echte leven staat immers ook niks vast. Maar ik vind dat games er juist zijn om even van het leven te ontsnappen, en tenzij je een real life simulator wil maken, het dus waarschijnlijk beter is om te kiezen voor wat leuker is om te spelen, dan wat realistischer is. Zo kun je in Super Mario 64 tijdens het duiken extra adem krijgen door muntjes te pakken. Is het realistisch? Nee! Is het leuk? Ja!

Goedkoop trucje

Ik geef toe dat het soms wel leuker kan zijn als iets van de wil van RNGesus afhangt. Het voegt een element van spanning toe. Ga je het krijgen of niet? Toch moet er voorzichtig mee omgegaan worden, want willekeur voor spanning is als een jumpscare voor horror: het is een goedkoop trucje wat snel oud wordt (zie punt 1).

Nu moet ik de olifant in de kamer even aanstippen door toe te geven dat lootboxes een groot ding zijn, die schijnbaar niet snel oud worden. Maar goed, als je een verslavend gokspel maakt spreekt het voor zich dat er willekeur bij komt kijken. Hoe oneerlijker hoe beter, zelfs.

Betere willekeur

Als je dan toch willekeur inzet, maak het dan deterministisch. Probeer om het niet van RNGesus af te laten hangen, maar van de omgeving. Zo houdt je je spel eerlijk. En, het is realistischer. Het echte leven heeft geen willekeur*, het lijkt alleen maar zo: alle interacties tussen alle systemen zijn simpelweg te complex om door een mens gesnopen te worden. Maar ze zijn er wel, en omdat we dat toch in een hokje moeten stoppen, noemen we het maar “willekeur”.

Een andere manier is om willekeur in batches toe te passen: in (officiële versies van) Tetris zijn de stukjes die je krijg niet volledig willekeurig. Tetris heeft een “knapzak” van stukjes: elk stukje eenmaal. RNGesus grabbelt steeds een willekeurig stukje, tot de zak leeg is, waarna de zak opnieuw gevuld wordt, weer met één van elk stukje. Zo wordt je nooit genaaid door 10 S-blokjes achter elkaar te krijgen: je kan uiterlijk 2 keer hetzelfde stukje achter elkaar krijgen.

*Ja, ook ik heb het hoofdstuk over quantummechanica en het onzekerheidsprincipe gelezen in het natuurkundeboek. Maar ik heb het hier niet over dergelijk miniscule schalen.

2021-05-17 in blog #RNG #games #game-dev