View Full Version : Il famoso bug del livello 256 di Pac-Man diventa un videogioco
Redazione di Hardware Upg
25-05-2015, 08:51
Link alla notizia: http://www.gamemag.it/news/il-famoso-bug-del-livello-256-di-pac-man-diventa-un-videogioco_57375.html
Il gioco si chiama appunto Pac-Man 256 ed è sviluppato dall'acclamato studio che ha già realizzato il famosissimo Crossy Road.
Click sul link per visualizzare la notizia.
per la serie non abbiamo nuove idee ma sappiamo come sfruttare i nomi del passato
SinapsiTXT
25-05-2015, 10:49
ero convinto che la modalità split screen fosse un easter egg previsto dagli sviluppatori (o comunque una modalità prevista), anche perchè guardando in rete i video il livello è sempre lo stesso e pensavo fosse un modo per dare la "fine" ad un gioco infinito. Una fonte esterna per la conferma che il livello 256 fosse un glitch non previsto? :confused:
Maddog1976
25-05-2015, 13:24
ero convinto che la modalità split screen fosse un easter egg previsto dagli sviluppatori (o comunque una modalità prevista), anche perchè guardando in rete i video il livello è sempre lo stesso e pensavo fosse un modo per dare la "fine" ad un gioco infinito. Una fonte esterna per la conferma che il livello 256 fosse un glitch non previsto? :confused:
Non ho una fonte da citare ma quello che avviene a quel livello è un overflow in quanto le variabili usate (e i registri) erano a 8 bit (quindi range 0 255) e non prevedendo si potesse arrivare a quel livello non hanno messo un controllo sui limiti e hanno ottenuto in maniera involontaria quel bizzarro effetto.
La cosa semmai veramente rimarcabile è che il livello restasse comunque giocabile invece di mandare semplicemente in crash il gioco (e addio mito)
marchigiano
25-05-2015, 14:10
ma come si fa ad arrivare al livello 256? :D
randorama
25-05-2015, 19:57
mangiando tutte le pillole del livello 255 immagino.
scusa, non ho saputo resistere :)
marchigiano
25-05-2015, 20:14
randorama: http://img4.fotoalbum.virgilio.it/v/www1-6/183/183598/360212/mitra-vi.gif
:asd:
psychok9
26-05-2015, 00:01
Non ho una fonte da citare ma quello che avviene a quel livello è un overflow in quanto le variabili usate (e i registri) erano a 8 bit (quindi range 0 255) e non prevedendo si potesse arrivare a quel livello non hanno messo un controllo sui limiti e hanno ottenuto in maniera involontaria quel bizzarro effetto.
La cosa semmai veramente rimarcabile è che il livello restasse comunque giocabile invece di mandare semplicemente in crash il gioco (e addio mito)
Mi piacerebbe capire che tipo di overflow era e cosa succedeva praticamente :D
Non riesco a immaginare un calcolatore che impazzisce... :D
Maddog1976
26-05-2015, 09:47
La spiegazione più semplice si trova qua http://pacman.wikia.com/wiki/Map_256_Glitch o qua http://errors.wikia.com/wiki/Pac_Man_-_Infamous_Kill_Screen_Bug
Mi piacerebbe capire che tipo di overflow era e cosa succedeva praticamente :D
Non riesco a immaginare un calcolatore che impazzisce... :D
Non impazzisce nulla, semplicemente con 8 bit non riesci ad andare oltre 255 :D
Mi piacerebbe capire che tipo di overflow era e cosa succedeva praticamente :D
Non riesco a immaginare un calcolatore che impazzisce... :D
mi sa che di informatica ne sai poco per fare una domanda come questa :P
Non c'entra nulla "la capacita' dell'hardware dell'epoca" o "la quantita' dei dati", il numero 256 per un computer e' un numero, 1, non 1 milione di numeri, quindi non e' la "quantita' di dati" il problema ma la semplice rappresentazione di quel dato. Ci sarebbe da ridere se un sistema ad architettura 8bit non fosse capace di gestire numeri >255.....
Non c'entra nulla "la capacita' dell'hardware dell'epoca" o "la quantita' dei dati", il numero 256 per un computer e' un numero, 1, non 1 milione di numeri, quindi non e' la "quantita' di dati" il problema ma la semplice rappresentazione di quel dato. Ci sarebbe da ridere se un sistema ad architettura 8bit non fosse capace di gestire numeri >255.....
The level counter in the original Pac-Man is stored as an 8-bit integer, meaning the highest value it can hold is 255. However, a bug in the game's programming causes the level counter to "roll-over" to 256, resulting in an integer overflow and causing the game to attempt to draw 256 fruit to the screen. The result is the garbled mess on the right side of the maze.
The level counter in the original Pac-Man is stored as an 8-bit integer, meaning the highest value it can hold is 255. However, a bug in the game's programming causes the level counter to "roll-over" to 256, resulting in an integer overflow and causing the game to attempt to draw 256 fruit to the screen. The result is the garbled mess on the right side of the maze.
Bello, aggiungi anche qualcosa di tuo... cosi' tanto per dirci qualcosa... Perche' cio' che hai riportato non aggiunge e non toglie nulla.
Bello, aggiungi anche qualcosa di tuo... cosi' tanto per dirci qualcosa... Perche' cio' che hai riportato non aggiunge e non toglie nulla.
Non che il tuo intervento sia stato particolarmente approfondito.
Io non so come fosse scritto il gioco, ma so che se si utilizza una variabile intera a 8 bit, questa potrà contenere solo valori compresi tra 0 e 255; l'eventuale overflow va gestito dallo sviluppatore.
Ovviamente, il vero motivo di quel bug potrebbe non c'entrare niente, in tal caso, se sai qualcosa, siamo pronti ad imparare. :D
Non che il tuo intervento sia stato particolarmente approfondito.
Io non so come fosse scritto il gioco, ma so che se si utilizza una variabile intera a 8 bit, questa potrà contenere solo valori compresi tra 0 e 255; l'eventuale overflow va gestito dallo sviluppatore.
Ovviamente, il vero motivo di quel bug potrebbe non c'entrare niente, in tal caso, se sai qualcosa, siamo pronti ad imparare. :D
Tutto corretto quello che dici tu. Infatti e' l'articolo a dire stupidaggini. Ho quotato le parti sbagliate e ho detto il perche'. L'articolo parla di "quantita' di dati" e "capacita' dell'hardware di quel tempo".
Sono chiaramente 2 stupidaggini.
"Quantita' dei dati" me lo puoi dire se ho bisogno di 10MegaBytes di memoria e invece ne ho solo 9.
"Capacita' dell'hardware di quel tempo" me lo puoi dire se hai bisogno di 300 colori e invece ne hai 100, se hai bisogno di 10MegaHertz e invece ne hai 5.
Invece, come tu stesso mi dici, e' stata semplicemente sbagliata la dichiarazione di una variabile.
Tutto corretto quello che dici tu. Infatti e' l'articolo a dire stupidaggini. Ho quotato le parti sbagliate e ho detto il perche'. L'articolo parla di "quantita' di dati" e "capacita' dell'hardware di quel tempo".
Sono chiaramente 2 stupidaggini.
"Quantita' dei dati" me lo puoi dire se ho bisogno di 10MegaBytes di memoria e invece ne ho solo 9.
"Capacita' dell'hardware di quel tempo" me lo puoi dire se hai bisogno di 300 colori e invece ne hai 100, se hai bisogno di 10MegaHertz e invece ne hai 5.
Invece, come tu stesso mi dici, e' stata semplicemente sbagliata la dichiarazione di una variabile.
Ah ok, non avevo capito il tuo intervento, my fault. :)
Comunque, secondo me, forse semplicemente non credevano che qualcuno sarebbe arrivato oltre, e quindi non hanno preso le dovute contromisure.
Altrimenti è una cosa "normale" tenere in conto la possibilità di overflow, ed agire di conseguenza, soprattutto se non lavori con linguaggi di altissimo livello che ti danno molta pappa pronta. :D
Ma la risposta la conoscono solo gli sviluppatori, ovviamente. :)
Ah ok, non avevo capito il tuo intervento, my fault. :)
Comunque, secondo me, forse semplicemente non credevano che qualcuno sarebbe arrivato oltre, e quindi non hanno preso le dovute contromisure.
Altrimenti è una cosa "normale" tenere in conto la possibilità di overflow, ed agire di conseguenza, soprattutto se non lavori con linguaggi di altissimo livello che ti danno molta pappa pronta. :D
Ma la risposta la conoscono solo gli sviluppatori, ovviamente. :)
Certo, a quei tempi le risorse costavano, era buona norma dichiarare le variabili nel minor numero possibile e con la grandezza minima possibile. Oggi si dichiara tutto LONG o DOUBLE e buonanotte... :doh:
Sono comunque d'accordo col programmatore di Pac Man che la probabilita' di una persona di raggiungere il 256esimo livello non vale ne' il doppio byte per memorizzare il numero del livello ne' le riga d'istruzione aggiuntive per controllare d'averlo raggiungiunto ed evitare il bug :Prrr:
Certo, a quei tempi le risorse costavano, era buona norma dichiarare le variabili nel minor numero possibile e con la grandezza minima possibile. Oggi si dichiara tutto LONG o DOUBLE e buonanotte... :doh:
Sono comunque d'accordo col programmatore di Pac Man che la probabilita' di una persona di raggiungere il 256esimo livello non vale ne' il doppio byte per memorizzare il numero del livello ne' le riga d'istruzione aggiuntive per controllare d'averlo raggiungiunto ed evitare il bug :Prrr:
Anch'io sono d'accordo col programmatore di Pac Man, anche perché 255 livelli sono già tanti, dannazione! :O
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.