Pac-Man viert vijfendertigste verjaardag

Pac-Man viert vrijdag zijn vijfendertigste verjaardag. Op 22 mei 1980 kwam het eerste spel met het bekende gele happertje uit als arcadegame in Japan. Inmiddels is Pac-Man een van de meest herkenbare spelpersonages aller tijden.

Het spel werd ontwikkeld door Toru Iwatani, die in dienst van Namco op het idee kwam van een spel met de titel 'Pakku-Man'. Het spel werd bij zijn release twee jaar later een instant-hit en kwam snel naar de rest van de wereld: in oktober 1980, nog geen halfjaar na zijn release in Japan, kwam het spel al uit in de Verenigde Staten.

Uit onderzoek onder Amerikanen blijkt dat Pac-Man inmiddels het meest herkenbare spelpersonage is. Dat is mede te danken aan tientallen spinoffs, waaronder het eveneens immens populaire Ms. Pac-Man. Deze zomer zal Pac-Man zelfs te zien zijn in een bioscoopfilm.

Pac-Man was het eerste spel waarin een speler moet navigeren in een doolhof en stond daarmee aan de basis van een nieuw genre. Het spel was bedoeld om nieuwe doelgroepen aan te trekken: Iwatani wilde met Pac-Man vrouwelijke spelers naar de arcadehal lokken. De gedachte daarachter was weinig diepzinnig: Pac-Man is naar verluidt geïnspireerd door de veronderstelde eetlust van vrouwen. Dat Pac-Man er zelf uitziet als een pizza, is dan ook geen toeval. Ook het niet-gewelddadige karakter van het spel moest daar aan bijdragen.

Iwatani zei in 2007 tijdens een interview met VH1 dat hij van Namco de vrije hand kreeg bij het ontwikkelen van Pac-Man. De ontwikkeling gebeurde nog voordat Namco naar de beurs ging, en op het moment dat de uitgever nog vooral bezig was met mechanische spellen. "We kregen vrij weinig instructies over wat we moesten doen", verklaarde Iwatani, die het spel uiteindelijk samen met een aantal anderen ontwikkelde.

Ondanks dat Iwatani verantwoordelijk was voor het idee van Pac-Man en dat uitgever Namco miljarden heeft verdiend met het spel, is de ontwikkelaar er niet rijk van geworden. "Ik was slechts een werknemer, ik kreeg geen extra salaris of bonus", stelt Iwatani. De uitgever heeft na Pac-Man nog een aantal andere spellen ontwikkeld, maar die kwamen niet in de buurt van het succes van zijn bekende arcadegame.

Het wereldrecord Pac-Man, dat volgens de regels op een oorspronkelijke Pac-Man-arcadekast werd gezet, staat op 3 uur, 33 minuten en 12,7 seconden. In die tijd wist een Amerikaan genaamd Dave Race een score van 3.333.360 te behalen en het 255e level te behalen, waarna het spel crasht.

Door Joost Schellevis

Redacteur

22-05-2015 • 10:00

61 Linkedin

Reacties (61)

61
59
48
3
0
0
Wijzig sortering
Hier nog wat meer gegevens over de us kast die wij allemaal nog kennen http://www.arcade-museum.com/game_detail.php?game_id=10816

Veel oude arcade games lopen vast na een bepaalde score. Het zal wel iets met adressering te maken hebben, maar sommige developers hebben ook toegegeven dat ze dachten dat nooit iemand dergelijke hoge scores zou halen.
Veel oude arcade games lopen vast na een bepaalde score. Het zal wel iets met adressering te maken hebben
Als dit optrad dan was dit vaak omdat de score groter was dan het geheugen dat daarvoor gereserveerd was. Hierdoor overschreef de score het eerstvolgend stukje data in geheugen en kon het spel crashen.
Het is in feite een 'simpele' buffer overflow.
Bij Pacman is het omdat 256 niet in een byte pas...

edit: het is fruit-counter die van 255 naar 256 gaat: http://en.wikipedia.org/wiki/Pac-Man#Split-screen (fruitcounter = level + 1)

[Reactie gewijzigd door airell op 22 mei 2015 17:18]

Bij Pacman is het omdat 256 niet in een byte pas...

edit: het is fruit-counter die van 255 naar 256 gaat: http://en.wikipedia.org/wiki/Pac-Man#Split-screen (fruitcounter = level + 1)
Het ligt zo te lezen iets subtieler.
Het is dan nog steeds een onafgehandelde overflow maar het gaat dan om een register en niet om een buffer.
Typisch dingen waar programmeurs in die tijd nachtmerries van kregen. :)

Overigens kan dat getal dus nooit 256 zijn (past immers niet in het register), het wordt in dat geval dan gewoon 0 en dat levert de problemen op.
Anoniem: 233039
@Automark22 mei 2015 13:11
En deze gele kast heb ik, samen met zijn zusje, in mijn gameroom staan. Prachtig spel. Ongelofelijk trouwens hoe groot die spelprinten vroeger waren, een handvol KB op een board van 30 x 45 cm of zo.
Waarom heb je je zusje in je gameroom staan?
Anoniem: 233039
@Perkele29 mei 2015 19:37
zijn zusje! Het zusje van pac-man dus, ms. pac-man
Waarom crasht-ie op bij level 255? Heeft dat iets te maken met de representatie van dat getal in gegevensreeks? Mij staat iets bij dat 256/255 een van de kenmerkende getallen in CS is (net als 16/32/64/128/256).
Waarom crasht-ie op bij level 255? Heeft dat iets te maken met de representatie van dat getal in gegevensreeks? Mij staat iets bij dat 256/255 een van de kenmerkende getallen in CS is (net als 16/32/64/128/256).
Komt omdat er dan een kill screen komt, die het level (en dus het spel vanaf dat punt) onspeelbaar maakt.

Dit scherm is het 256e level van Pac-Man.

[Reactie gewijzigd door wildhagen op 22 mei 2015 10:19]

Voor de volledigheid, volgens de theorie (met dank aan airell hierboven) zou dat lvl 255 moeten zijn.
Ik denk dat als de level counter 0 is, dat het gaat om level 1; als de counter op 255 staat, is het level 256...
Hmm.. ik denk dat je gelijk hebt.
Er is overigens iemand die er een zorgvuldige analyse van heeft gemaakt en vervolgens met een bugfix is gekomen. Een en ander is te lezen op deze pagina: The Journey to Find, Analyze, and Fix Pac Man’s Split Screen. In een Mame emulator kan je de bugfix zelf toepassen en zo eindeloos Pacman spelen (yeah!).
Quote van Wikipedia:
Pac-Man was designed to have no ending – as long as the player keeps at least one life, he or she should be able to play the game indefinitely. However, a bug keeps this from happening: Normally, no more than seven fruit are displayed at the bottom of the screen at any given time. But when the internal level counter, which is stored in a single byte (eight bits), reaches 255, the subroutine that draws the fruit erroneously "rolls over" this number to zero when it is determining the number of fruit to draw, using fruit counter = internal level counter + 1. Normally, when the fruit counter is below eight, the drawing subroutine draws one fruit for each level, decrementing the fruit counter until it reaches 0. When the fruit counter has overflowed to zero, the first decrement sets the fruit counter back to 255, causing the subroutine to draw a total of 256 fruit instead of the maximum of seven.
Oftewel; Zodra de levelcounter de 255 bereikt, overflowt deze zodat de hoeveel-fruit-moet-ik-tekenen-counter corrupt raakt. Hierdoor probeert het spel 256 keer fruit te tekenen waardoor heel het speelveld vernaggeld wordt en het spel niet meer speelbaar is.
Dit was volgens mij alleen bij de Arcade versie, op m'n Atari 2600 ben ik een keertje door alle levels heen gegaan op een nieuwjaarsnacht een jaar of 30 geleden, hij begon dan weer vrolijk van voor af aan...
Ben je zeker? Probeer eens opnieuw. ;-)
Sowieso zullen er ook wel updates zijn uitgekomen.
Op je Atari 2600 even de laatste updates downloaden ;)

Maar het is mogelijk dat als bepaalde fouten bekend waren (of gespot werden) bij het porten naar een ander systeem, deze eruit gehaald werden. Het kan natuurlijk ook zijn dat het spel van scratch af aan opnieuw geschreven moest worden en daardoor dezelfde fouten niet had (maar mogelijk wel nieuwe fouten).
Het kan natuurlijk ook zijn dat het spel van scratch af aan opnieuw geschreven moest worden en daardoor dezelfde fouten niet had (maar mogelijk wel nieuwe fouten).
Klopt.
De 2600 was zo'n vreselijk appart systeem met zulke rare beperkingen dat eigenlijk alles dat 'geport' werdt eigenlijk compleet opnieuw werdt geschreven. Het waren dus ook meer interpretaties van een spel dan wat wij tegenwoordig onder porten verstaan.
Volgens mij moest vrijwel alles in die tijd opnieuw geschreven worden... in die tijd waren er nauwelijk standaarden, en bijna elke systeem werkte met zijn eigen dedicated chipsets.
Bij 8-bit memory/adressering kan je maximaal 256 mogelijkheden hebben (2^8) en meestal wordt er geteld vanaf 0 dus maximaal 255. Denk dat daar de limiet in zit.
Ik denk dat het level in 1 byte wordt opgeslagen. Ofterwel 8 bits waarmee je van 0 tot 255 kan tellen. Waarschijnlijk is er geen check ingebouwd voor een getal boven de 255. Dus als je boven level 255 komt crached het spel :P
Meestal heb je bytes van 8-bit in een systeem.
Met 8 bits kun je 2^8 = 256 getallen representeren.
Men begint meestal te tellen bij 0, dus dat is de reeks 0..255.
Zodra je dus van 255 wil doortellen naar 256, krijg je een wraparound naar 0.
Bij Zelda 1 kon je maximaal 255 rupees hebben, 2^8=256. 0 telde ook mee uiteraard :)
Met deze pacman kun je in ieder geval nog wel even vooruit voordat hij crashed. :Y)
Eerste Zombie-survival game ever! En dat zo lang geleden...
Ghost-survival ;)
Zombie of ghost, whats the difference. Ze zijn alletwee dood. :P
Het 255'ste level te behalen, waarna het spel crasht.
Wat een leuke integer overflow is dit :)
Byte overflow eigenlijk: een integer kan veel groter dan 0xFF zijn..
Ongecheckte register overflow, om het maar precies te benoemen.
"Integer" betekent niets anders dan geheel getal. In die tijd waren registers gewoon 8 bits, de standaard integers dus ook.
Heel bizar dat record. Dan heeft de beste man precies 50,16 seconde gehad voor elk level dat hij speelde. Best knap, ik weet dat ik al blij was als ik na 5 minuten level 3 had gehaald in de jaren 90.
Anoniem: 291608
@Netsrek22 mei 2015 10:42
De levels zijn ook niet groot, de tijden wijken vooral af met de route's en ghosts. Met score is het een gedeelde plaats. Er zijn iets van 5 mensen met de perfecte score. En met tijd zitten ze allemaal binnen paar minuten/<uur van elkaar dacht ik. Allemaal knap hoor, vooral om 5 dingen tegelijk in de gaten houden en dan ook niet dood gaan 255x is knap.

Overigens jammer dat meneer Iwatani er niet rijk van is geworden.
De ontwikkelaar kreeg de vrije hand en ontwikkelde een kaskraker.

Je moet maar durven als manager zijnde.

Edit: zin verbeterd.

[Reactie gewijzigd door andreetje op 22 mei 2015 10:55]

25 jaar geleden was dat helemaal nog geen probleem. Toen koste de ontwikkeling van een spel nog geen tientallen miljoenen verspreid over meerdere jaren. Bijkomend was computer gaming toen ook nog niet de hoofdactiviteit van het bedrijf. Dan kan je al wel eens iets proberen.
Anoniem: 620028
@Blokker_199922 mei 2015 20:39
35, praten over 1980
Zeker leuk om deze docu eens te kijken: King of Kong. Gaat over Donkey Kong en niet Pac-man, maar ook dat is Billy Mitchell (en laat duidelijk zien wat een aparte kerel/eikel hij is). En een leuk kijkje in de wereld van Arcadehal helden:

http://www.imdb.com/title/tt0923752/
*offtopic* Maar ik moest even LowTone bedanken echt een hele mooie docu, must see voor iedereen die van classic gaming houd. _/-\o_

Direct link
https://www.youtube.com/watch?v=gi2lApoZ5lY
Tja, wat een figuur is die Billy Mitchel ook. :)
Leuke docu idd.
Dat het bedacht was om vrouwen naar de Arcadehallen te trekken had ik nooit bedacht. Zeker niet om hun eetlust.
Grappig dat het spel crasht na level 255 op een arcade kast. Heeft dat iets te maken met addressing?

Desalniettemin Gefeliciteerd!!
Hahaha wel toevallig dat er dan ook net een film uitkomt genaamd Pixels, waarin pacman ten tonele komt als mega-grote digitale dreiging voor aarde, en ogenschijnlijk komt ook de ontwerper of bedenken van pac-man in de film voor

toeval?

ik vind het in ieder geval een leuke toevalstreffer :-)

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee