Titre
N'hésitez pas à partager nos informations... mais n'oubliez pas de nous citer !
you should never read that.
Vers l'infini et au delà…
Par Gub - 3 mai 2009   


+72
33 commentaires Spacroyable !
Spitoyable.


Le jeu vidéo Pac Man est théoriquement infini.

Détails :

Par contre, un bug apparaissant au 256ème niveau rend le jeu injouable.

Sources :

Wikipedia.org – Pac-man [fr]
Youtube.com – Pac-Man: Level 256 Split Screen Trick [en]


phileasII
phileasII - 4 mai 2009 - 10:58 - (lien vers ce commentaire)
Ce commentaire est caché parce que vous ne l’aimez pas
(ou parce que trop de gens ne l’aiment pas).
Montrer le commentaire - Cacher le commentaire



spider1163
spider1163 - 4 mai 2009 - 20:07 - (lien vers ce commentaire)

WIKI: “Le jeu original comprend 255 labyrinthes différents”,
ne signifie pas exactement que le jeu se termine au niveau 256 ….



Animaphagus
Animaphagus - 20 mai 2009 - 21:59 - (lien vers ce commentaire)

Je ne suis pas d'accord avec wikipedia, le pac man original sur borne d'arcade ne comportait qu'un seul niveau qui se répétait infiniment en augmentant chaque fois la difficulté (d'autres tableaux ont étés créés pour la version console). Le record avait été battu sur la borne d'arcade et la moitié de l'écran était envahie par des symboles après le 256e fruit (niveau 255)



quenty45
quenty45 - 1 juin 2009 - 01:17 - (lien vers ce commentaire)
Ce commentaire est caché parce que vous ne l’aimez pas
(ou parce que trop de gens ne l’aiment pas).
Montrer le commentaire - Cacher le commentaire



Aikanaro
Aikanaro - 1 juin 2009 - 02:21 - (lien vers ce commentaire)

Le jeu est théoriquement infini



Lotharius
Lotharius - 1 juin 2009 - 05:34 - (lien vers ce commentaire)

C'est si difficile à concevoir que théoriquement, quand on programme un jeu à générer une grille ad vitam eternam, c'est qu'il est donc théoriquement infini ?

Ce n'est pas comme si on avait prévu que ce serait le dernier niveau. On ne sait même pas si le bug est systématique où non …



Paul
Paul - 21 juin 2009 - 12:17 - (lien vers ce commentaire)

C'est parcequ'à l'époque les procésseurs utilisés étaient des procésseurs 8bytes (donc 256 bits), hors il s'avère qu'il ne peux gérer que 256 valeurs (comprises seulement entre 0 et 255) et donc lorsqu'il est arrivé à 256, le jeu a planté.



Junk
Junk - 21 juin 2009 - 23:13 - (lien vers ce commentaire)

Paul a presque bon, a part qu'il sagit de 8 bits, pas 8 bytes. Avec 8 bits, on code 256 valeurs, avec 8 bytes, (8 ocitets, donc 8 * 8 = 64 bits), on peut coder 2^64 = 1.84×10^19 .. ce qui ferait bcp de niveau.

Mais l'idee est la, c'est un overflow.



Paul
Paul - 25 juin 2009 - 15:44 - (lien vers ce commentaire)

Oui désolé, c'ést clair dans mon esprit, mais c'est une faute d'innattention.



cacahuete
cacahuete - 8 juil. 2009 - 17:58 - (lien vers ce commentaire)

en tout cas, niv 255, c'est déjà pas mal ^^



Epeo
Epeo - 10 juil. 2009 - 01:18 - (lien vers ce commentaire)

Je dirais plutôt que “le jeu pacman a été conçu pour être infini” ou quelque chose dans le genre. Si on ne peut pas jouer plus de 256 niveaux, que ce soit intentionnel ou à cause d'un bug, le jeu est bien fini…

Je veux bien admettre, comme dit Lotharius, que le jeu est “théoriquement” infini. Mais il est aussi “théoriquement” sans bugs :-P.



Kicker
Kicker - 6 sep. 2009 - 19:27 - (lien vers ce commentaire)

A noter que si ils avaient voulu gérer plus de niveaux, ils auraient pu le faire. Ils leur aurait juste suffit d'utiliser une variable de plus et les joueurs auraient pu alors aller jusqu'au niveau 65536.
Ils n'ont juste probablement pas pensé que quelqu'un se donnerait la peine d'aller jusqu'au 256ème niveau ^^



Capuccino
Capuccino - 21 jan. 2010 - 22:33 - (lien vers ce commentaire)

et dire que quelqu'un est arrivé au niveau 256!!!
vous imaginez les heures d'entrainement???



jorganson
jorganson - 17 mai 2010 - 22:23 - (lien vers ce commentaire)

Bah, Chuck Norris, lui, a fini le jeu.



RoroLeSage
RoroLeSage - 18 mai 2010 - 11:35 - (lien vers ce commentaire)

Je sais pas si 255 est l'infini ou pas (cela doit pas être très loin), mais une petite pensée émue va droit au gars qui s'est tapé 255 niveaux de Pacman (c'est quand même super lourd comme jeu !!)



carinou
carinou - 25 juin 2010 - 07:50 - (lien vers ce commentaire)

pour moi vu mon niveau a ce jeu ca tend vers l infini .j etais tres mauvaise et je me souviens simplement de mon corps qui accompagnait frenetiquement la direction que je devais faire prendre a pac man!



Dauby
Dauby - 27 juil. 2010 - 17:42 - (lien vers ce commentaire)

Je ne comprends pas trop. Wikipedia parle d'un mec qui a terminé le jeu :

En 1999, l'américain Billy Mitchell devient le premier joueur à avoir réalisé le score parfait de 3 333 360 points sur le jeu. Il a terminé les 256 niveaux en six heures, attrapant tous les fruits, mangeant les quatre fantômes à chaque bonus, et ne perdant aucune vie.

Il semblerait donc que le jeu se termine au niveau 256…



Be@
Be@ - 27 juil. 2010 - 17:53 - (lien vers ce commentaire)

Alors si j'ai bien compris, techniquement, le jeu continue après 256 niveaux mais un bug empêche de dépasser ce 256 ème niveau.
Donc, même s'il est “théoriquement” infini, on ne peut pas aller au delà des 256 niveaux.



Dauby
Dauby - 27 juil. 2010 - 18:46 - (lien vers ce commentaire)

Oui d'accord mais alors pourquoi le texte dit “il a terminé les 256 niveaux” ? Ça sous entend fortement qu'il a fini le 256ème niveau malgré le bug et qu'il n'y en avait pas d'autres.



Be@
Be@ - 27 juil. 2010 - 19:05 - (lien vers ce commentaire)
Ce commentaire est caché parce que vous ne l’aimez pas
(ou parce que trop de gens ne l’aiment pas).
Montrer le commentaire - Cacher le commentaire



taille50
taille50 - 10 août 2010 - 11:24 - (lien vers ce commentaire)

de 0 à 255, il y a 256 niveaux sans jamais atteindre le niveau 256 :)



melimelou
melimelou - 10 août 2010 - 16:51 - (lien vers ce commentaire)
Ce commentaire est caché parce que vous ne l’aimez pas
(ou parce que trop de gens ne l’aiment pas).
Montrer le commentaire - Cacher le commentaire



baribal
baribal - 31 août 2010 - 11:24 - (lien vers ce commentaire)

Si j'ai bien compris, le jeu pacman est bien infini car pour l'exemple donnée par wiki (qui n'est pas infaillible d'ailleurs) le jeu s'est arrété par manque de puissance du processeur (cf com de paul). Théoriquement, avec un processeur d'une puissance infini, le jeu est infini.



froys
froys - 13 mars 2011 - 13:38 - (lien vers ce commentaire)
Ce commentaire est caché parce que vous ne l’aimez pas
(ou parce que trop de gens ne l’aiment pas).
Montrer le commentaire - Cacher le commentaire



Sissi
Sissi - 7 mai 2011 - 09:21 - (lien vers ce commentaire)

Je trouve qu'on parle beaucoup de la bravoure du type qui s'est farci les 256/255 niveaux. Mais j'aimerais que spontex ait aussi une petite pensée pour les jurys qui l'ont regardé faire pendant 6h.



legardiencataphile
Ce commentaire est caché parce que vous ne l’aimez pas
(ou parce que trop de gens ne l’aiment pas).
Montrer le commentaire - Cacher le commentaire



fyhrel
fyhrel - 26 déc. 2011 - 02:43 - (lien vers ce commentaire)

Bon, je vais me permettre de remettre un peu les choses au point, pour une fois qu'un sujet ici touche à l'informatique, autant que j'en profite.

Une console (ou tout autre système) 8 bits ne signifie pas qu'elle peut gérer 256 valeurs; cela signifie que dans son système d'adressage la mémoire (ram) est codée sur 8 bits, ce qui signifie que l'on peut mémoriser 256 variable, de la taille d'un mot (“word”, c'est à dire un “integer” donc la taille varie selon les systèmes, de nos jours 32 ou 64 bits, à l'époque je n'en sais rien). Ce n'est donc pas un “overflow” (même si le terme est mal choisi), du moins cette cause n'ai pas satisfaisante.

Ensuite il me semble, enfin c'est du moins l'intuition que j'en ai, que s'il existe une instance d'exécution pour laquelle celui-ci termine, cela implique fatalement que le programme ne peut s'exécuter infiniment. Mais plus sérieusement, la théorie de la calculabilité et ce bon vieux Turing nous disent qu'il est théoriquement impossible de déterminer si un programme terminera un jour ou non (voir : http://fr.wikipedia.org/wiki/Probl%C3%A8me_de_l%27arr%C3%AAt ). Effectivement, cela reste une démonstration théorique; mais dans la pratique ? Eh bien dans la pratique, on se rend compte que le nombre d'états possibles d'une mémoire finie étant lui-même fini, l'exécution du programme sera forcée de terminer tôt ou tard.

Bon, pour terminer sur une note absurde visant à démontrer que je viens d'écrire tout cela pour finalement rien, je dirais ceci: il est peut-être temps de faire preuve d'un peu de relativisme; je m'explique. L'article Wikipédia cité en référence est un article portant sur le jeu et non un article scientifique, que ce soit sur le génie logiciel, la théorie de la calculabilité ou encore la théorie de l'information; il est donc tout-à-fait absurde de vouloir en inférer quelques conclusions scientifiques que ce soient. L'article dit vrai (même si évidemment, il ne faut jamais faire confiance aveuglément à ce qu'on lit sur internet, mêêême si ça vient de Wikipédia) dans la mesure où le terme infini est ici à interpréter dans le contexte d'un article sur le jeu. Comme le dit un autre LSV, dans le contexte culinaire une fraise est un fruit tandis que dans qu'au point de vue botanique elle n'en est pas un. Cela fait un bout de temps que je suis un peu les LSV et leurs commentaires, et je remarque que l'on a trop vite fait de partir dans tous les sens et cela à cause de fausse interprétations quant au domaine du sujet.

Et si je devais dire un truc au hasard, je dirais simplement que l'explication est que le programmeur du jeu n'avait simplement pas prévu que quelqu'un dépasse un jour le niveau 255 (ou du moins ne voyait pas l'intérêt de gérer ce cas), sans quoi le bug aurait été simplement reporté à un niveau plus élevé (voir peut-être beaucoup plus élevé) et ce sans doute possible.



Ghost
Ghost - 26 déc. 2011 - 12:55 - (lien vers ce commentaire)

Tu te trompes.

Un overflow = dépassement de capacité. Un octet à une capacité de 8bits ce qui donne en base 10, une variable pouvant aller de 0 à 255. Si tu additionnes 1 à 255, tu dépasses la capacité d'un octet donc c'est bien un overflow.

Dire que le programme s'arrêtera car la mémoire est finie dans notre cas c'est fallacieux voire faux. Partant de ce postulat, on peut dire qu'un jour la Terre explosera et donc le programme s'arrêtera. De plus le jeu ne fait pas vraiment une boucle infinie, mais “plante” et du coup la partie ne se termine pas quand on a mangé tous les points ce qui rend le jeu “théoriquement infini” comme le stipule le résumé du LSVvidéo démo .

Comme le dit un autre LSV, dans le contexte culinaire une fraise est un fruit tandis que dans qu’au point de vue botanique elle n’en est pas un. Cela fait un bout de temps que je suis un peu les LSV et leurs commentaires, et je remarque que l’on a trop vite fait de partir dans tous les sens et cela à cause de fausse interprétations quant au domaine du sujet.

Aucune fausse interprétation, nos propos sont vérifiés et on a pris pas mal de temps avant de faire une conclusion. Sache que dans l'équipe de modération on a des experts en informatique, en chimie, en physique, en bio (je t'épargnerai leur CV)… et venir nous dire qu'on dit de la merde et en prétextant que Wikipédia est faux, m’énerve en tout point. Et depuis le temps que tu traînes ici, je ne comprends pas ce genre de remarque.

Si vraiment ce LSV t'intéresse, tu peux lire cette page http://home.comcast.net/~jpittman2/pacman/pacmandossier.html#Chapter_5



fyhrel
fyhrel - 26 déc. 2011 - 18:16 - (lien vers ce commentaire)
Ce commentaire est caché parce que vous ne l’aimez pas
(ou parce que trop de gens ne l’aiment pas).
Montrer le commentaire - Cacher le commentaire



lauvergnat
lauvergnat - 16 juin 2012 - 01:26 - (lien vers ce commentaire)

Pour moi la formulation est à revoir…
- Si la variable qui génère un overflow fait planter le jeu, c'est qu'elle dépasse sa valeur maximale possible, soit 256. Donc le “256ème niveau” devrait être atteignable, même s'il porte le numéro 255 (en partant du niveau numéro 0). Celui qui plante devrait être le 257ème niveau, qui porterait le numéro 256 si on part de zéro donc. Parce qu'à 256, ça tient toujours, mais pas au delà. Je suis clair ? Pas sûr, mais “le niveau 256” serait plus juste, à mes yeux.
- ensuite, la notion de “théoriquement infinie” ne veut pas dire grand chose. Le jeu a été conçu avec des variables qui ne peuvent pas dépasser une certaine valeur, donc a été conçu pour arrêter de fonctionner à un certain moment. Si au niveau 256 il était retombé à 0 et aurait permis de continuer à jouer, là j'aurais été d'accord, mais dans la mesure où même sur le papier, les développeurs ont vu (ou aurait pu voir) les limites de capacité de leur création, on ne peut pas dire qu'il soit infini, pas même théoriquement.



Mako
Mako - 16 juin 2012 - 11:02 - (lien vers ce commentaire)

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 one time. But when the internal level counter, which is stored in a single byte, reaches 255, the subroutine that draws the fruit erroneously “rolls over” this number to zero, causing it to try to draw 256 fruit instead of the usual seven. This corrupts the bottom of the screen and the entire right half of the maze with seemingly random symbols, making it impossible to eat enough dots to beat the level. Because this effectively ends the game, this “split-screen” level is often referred to as the “kill screen”. Emulators and code analysis have revealed what would happen should this 255th level be cleared: The fruit and intermissions would restart at level 1 conditions, but the enemies would retain their higher speed and invulnerability to power pellets from the higher stages.

Extrait de la page wiki anglaise.



Dauby
Dauby - 16 juin 2012 - 13:12 - (lien vers ce commentaire)

Ce LSV m'a toujours parut limite, même si je fais confiance aux modos qui affirment sa validité.
J'ai mis la vidéo proposée par feu-Alcoofolies en source.



Schtroumpf
Schtroumpf - 18 juin 2012 - 10:28 - (lien vers ce commentaire)

La citation de Mako est claire comme de l'eau de roche. C'est un bug d'overflow : le dépassement de capacité influe sur une autre variable qui génère un bug d'affichage graphique empêchant de terminer le niveau.
Et si le compteur interne de niveau atteint 255, c'est qu'on est au 256e niveau.