PortadaÍndiceCalendarioFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarse

Comparte | 
 

 Pacman Ghost Sandbox

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
elPatrixF
Soporte
Soporte
avatar

Argentina Masculino 100% Cumplimiento de las normas
Reputación : 325
Mensajes enviados : 1296
Edad : 24
Premios : Ganador concurso periódico: Demos de Aplicaciones 3º puesto concurso anual: Demos de juegos

MensajeTema: Pacman Ghost Sandbox   Sáb Feb 04, 2012 3:29 am

Hoy trasteando entre mis cosas me acordé de esta "excusa de programa" que había posteado en mi blog hace tiempo.
Me declaro culpable de copiar y pegar mis propias palabras, pero ahí les va un toque de mi vagancia :xD:. Pongo con verde los comentarios agregados.


Yo pero del año pasado. escribió:
Hace poco tiempo renació mi fanatismo hacia el pacman. A tal punto que he llegado a jugarlo con un gamepad en el mame con la pantalla así de costado:
[Tienes que estar registrado y conectado para ver esa imagen]

Apuesto a que no se imaginan (mentira, ustedes seguro que sí se lo imaginan :xD:) el quilombo algorítmico que se encuentra detrás de la inteligencia artificial de los fantasmitas del pacman. Pues bueno el Pac-Man Dossier nos revela una exagerada cantidad de información acerca de este mítico juego, y que cada fantasma tiene su propia forma interesante de jugar.

A simple vista podría parecer que los fantasmas se comportan de manera aleatoria. El caso es que tienen una serie de reglas que deben seguir al pie de la letra.
Todos los fantasmas siguen una "casilla Target" (U objetivo) que se coloca estratégicamente según su I.A.

El comportamiento más simple se lo lleva Blinky, el fantasma rojo, en donde su casilla Target se coloca siempre debajo de Pac-Man. De modo que siempre lo está persiguiendo. (Su apodo en inglés es Shadow, que viene siendo sombra, que tan mal no le queda =P)

[Tienes que estar registrado y conectado para ver esa imagen]

Siguiendo en complejidad viene Clyde, el fantasma naranja, que tiene un doble comportamiento. Si se encuentra a 8 bloques de distancia de Pac-Man o más, su casilla Target se colocará debajo de Pac-Man.
Sino, (Si se encuentra mas cerca de 8 bloques de distancia) su casilla Target se colocará en el rincón inferior izquierdo de la pantalla; haciendo que se aleje cobardemente de la situación (O que te acorrale en su rincón. Todo vale.). Su apodo en inglés es Pokey, pero le va un poco mas el apodo japonés Guzuta que significa "el que se queda atrás", haciendo referencia a su retirada inesperada al acercarse demasiado a Pac-Man.

[Tienes que estar registrado y conectado para ver esa imagen]

Ahora la cosa se pone interesante con Pinky, el fantasma rosa. Su apodo en inglés Speedy (Veloz ó Ágil) no es tan acertado como el japonés Machibuse (Emboscador). En efecto el secreto para siempre emboscar a Pac-Man en los callejones del mapa se reduce a que su casilla Target se ubica siempre 4 casillas delante de Pac-Man. (Excepto cuando mira arriba, donde se ubica 4 casillas arriba y 4 a la izquierda. Ya explicaré eso más adelante). Con esto, Pinky siempre busca colocarse delante de Pac-Man, y con Blinky persiguiéndolo por atrás, es la causa de varios millones de "encierros" en la historia de Pac-Man.

[Tienes que estar registrado y conectado para ver esa imagen]

El último que nos queda por inspeccionar es Inky, el fantasma celeste, que se lleva el procedimiento más complicado de todos. Para averiguar donde quedará su casilla Target, Inky debe tener en cuenta no sólo la dirección y ubicación de Pac-Man (Como ocurre con Pinky), sino además la ubicación actual de Blinky.
Entonces, Inky traza mentalmente un vector entre Blinky y la ubicación dos casillas delante de Pac-Man (Excepto cuando mira arriba, donde esta casilla en cuestión es 2 hacia arriba y 2 hacia la izquierda.).
Luego duplica ese vector, y la ubicación de la punta va a ser el lugar donde se colocara la casilla target.
Este comportamiento caótico, hace que Inky se acerque más a Pac-Man cuanto más se acerque Blinky, y que se aleje abruptamente cuando Blinky se aleja de Pac-Man. Para decirlo en criollo, es como que Inky imita brutamente los movimiento de Blinky, alejandose mucho, o acercándose mucho.

[Tienes que estar registrado y conectado para ver esa imagen]

La diferencia de cálculo que ocurre con Inky y Pinky cuando Pac-Man mira hacia arriba se debe a un error de programación en el juego, en el que intervienen números negativos y desbordamientos de búferes de memoria. El caso es que cuando debería leerse (0,-1) en vez de eso se lee (-1,-1), dando como resultado, una casilla Target corrida hacia la izquierda el mismo valor con el que se corre hacia arriba.

Ahora finalmente, mas allá de todo esto, los fantasmas tienen prohibido pegarse la vuelta (Osea, invertir su sentido). Esto quiere decir que en una encrucijada, solo pueden seguir derecho, o girar 90 grados, pero nunca una vuelta completa.
El único caso que se tienen permitido dar media vuelta es cuanto Pac-Man come una píldora grande (Y se ponen azules asi tipo enfermos) o cuando entran en el modo scatter.
El modo scatter es un modo en el que los fantasmas dejan de perseguir a Pac-Man como explicamos, y en vez de eso, se dedican a esconderse en "su rincón preferido" (Hay uno para cada uno) por unos segundos. Cabe aclarar que cuando salen del modo scatter y vuelven al modo normal, también invierten su sentido.
Esta brusca voltereta es una señal visual de que los fantasmas se alejarán de Pac-Man por unos segundos, lo que nos da libertad de escapar y de confeccionar un nuevo plan... o de comer mas puntitos, como sea tu táctica.

Ahora les presento el programa en cuestión. Este programa llamado "Pacman Ghost Sandbox" (Caja de arena de Fantasmas del Pac-Man) cumple el simple propósito de emular el comportamiento de los fantasmas del Pac-Man original, manteniendo los comportamientos de forma idéntica a como se encontrarían en los arcades clásicos.
Con este programa se pretende ofrecer al usuario la oportunidad de experimentar con el comportamiento lógico (y a veces errático) de los fantasmas, dejando ver que ninguno de sus movimientos está dejado al azar, sino que son fríamente calculados en base a algoritmos prediseñados.

[Tienes que estar registrado y conectado para ver esa imagen]


.:DESCARGAR PACMAN GHOST SANDBOX:.


Bugs conocidos:
- A veces, si se hacen varios switchs entre Scatter y Chase, los fantasmas pueden salirse del camino y escaparse del plano. Esto ocurre por un error de la forma en que los fantasmas deciden la nueva dirección en las encrucijadas, y no ocurre en el hardware original (Es solo un problema con los temporizadores y unas variables temporales que asignan la nueva direccion de los activos.). Para reiniciar el tablero, presionar F2.


No olviden visitar [Tienes que estar registrado y conectado para ver este vínculo] el sitio web de Jamey Pittman Wink

Y de yapa, un bucle infinito en pacman, al que yo llamo "PAUSA".
Si pacman se coloca mirando hacia arriba en esa ubicacion (Y los fantasmas ya pasaron por todos los modos scatter del nivel) el juego entra en un bucle infinito y los fantasmas quedan atrapados hasta que pac-man cambie de ubicación!
[Tienes que estar registrado y conectado para ver esa imagen]

Ya sé, Blinky podría fácilmente atraparnos si fuera hacia arriba en la encrucijada, pero se lo tiene prohibido por el juego. Es más, los fantasmas no pueden ir hacia arriba en las siguientes zonas marcadas con rojo:
[Tienes que estar registrado y conectado para ver esa imagen]


[[Modo copiarypegar OFF.]]
Ahora vienen los detalles técnicos. Esto es un típico ejemplo de programación exhaustiva, o sea, cubriendo cada caso posible de forma individual, simplemente por el hecho de no querer pensar en un algoritmo recursivo o que ahorre varias líneas.
En fin, son un total de 255 eventos, la mayoría repetidos con mínimas diferencias Neutral
Con decir que los 4 fantasmas son objetos activos diferentes, y tuve que calcular cada dirección y cada superposición con los cruces individualmente, la cuenta de eventos cierra más o menos bien...

Fíjense nomás:
 

Pero la verdad no me importa, funciona :geek:


Les vuelvo a poner el link por si no lo vieron entre tanta fiesta de imágenes:
.:DESCARGAR PACMAN GHOST SANDBOX:.

Si se me ocurre pulirlo un poco, subo también el mfa para que le echen un vistazo Razz

Saludos! :clown:


PD:
Obviamente no usé este tipo de IA en el Patuman 2008. (A ver, si apenas son fantasmas rebotando al azar por la pantalla! Laughing )


EDIT:
Concedido, subo el MFA.
[ [Tienes que estar registrado y conectado para ver este vínculo] ]


elPatrixF @Web, Twitter, [Tienes que estar registrado y conectado para ver este vínculo]


Última edición por elPatrixF el Dom Feb 05, 2012 1:02 am, editado 1 vez (Razón : Concedido, subo el MFA.)
Volver arriba Ir abajo
Ver perfil de usuario http://elpatrixf.com
Zonacas
Super-Moderador
Super-Moderador
avatar

España Masculino 100% Cumplimiento de las normas
Reputación : 557
Mensajes enviados : 2871
Premios : Ganador Concurso "Aniversario PacMan" 2º puesto concurso anual: Demos de juegos

MensajeTema: Re: Pacman Ghost Sandbox   Sáb Feb 04, 2012 5:45 am

Vaya está muy bien Smile

Algo vimos en [Tienes que estar registrado y conectado para ver este vínculo]

PD: Esto me recuerda que quedo pendiente hacer un Pacman Online Smile



[Tienes que estar registrado y conectado para ver esa imagen]
[Tienes que estar registrado y conectado para ver este vínculo]
ENLACES INTERESANTES: [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
Volver arriba Ir abajo
Ver perfil de usuario http://www.comunidadid.com/
elPatrixF
Soporte
Soporte
avatar

Argentina Masculino 100% Cumplimiento de las normas
Reputación : 325
Mensajes enviados : 1296
Edad : 24
Premios : Ganador concurso periódico: Demos de Aplicaciones 3º puesto concurso anual: Demos de juegos

MensajeTema: Re: Pacman Ghost Sandbox   Sáb Feb 04, 2012 3:20 pm

El tema es que esto está puramente dedicado a la IA de los fantasmas. O sea, este programita no cubre ni siquiera la jugabilidad del pacman :xD:


elPatrixF @Web, Twitter, [Tienes que estar registrado y conectado para ver este vínculo]
Volver arriba Ir abajo
Ver perfil de usuario http://elpatrixf.com
elpupas7
Administrador
Administrador
avatar

España Masculino Ningúno
Reputación : 1226
Mensajes enviados : 3889
Premios : Empty (invisible) Empty (invisible) Empty (invisible) Empty (invisible)

MensajeTema: Re: Pacman Ghost Sandbox   Sáb Feb 04, 2012 11:21 pm

Tenía previsto hacer exactamente lo mismo.
Si tienes previsto depositar el .mfa, trabajo que me ahorro... Smile
En todo caso, buen trabajo.
Volver arriba Ir abajo
Ver perfil de usuario
modelcf
Adicto a MMF Zone
Adicto a MMF Zone
avatar

Chile Masculino 100% Cumplimiento de las normas
Reputación : 63
Mensajes enviados : 1049
Edad : 20
Premios : Vacío

MensajeTema: Re: Pacman Ghost Sandbox   Dom Feb 05, 2012 12:10 am

ahora lo entinedo todo Me gusta , por eso inky y blinky me atrapaban cuando jugaba a lo tonto, y si me ponia a pensar se la pasaban lejos de mi

PD: gracias por los memes Troll Face
Volver arriba Ir abajo
Ver perfil de usuario
elPatrixF
Soporte
Soporte
avatar

Argentina Masculino 100% Cumplimiento de las normas
Reputación : 325
Mensajes enviados : 1296
Edad : 24
Premios : Ganador concurso periódico: Demos de Aplicaciones 3º puesto concurso anual: Demos de juegos

MensajeTema: Re: Pacman Ghost Sandbox   Dom Feb 05, 2012 1:02 am

[Tienes que estar registrado y conectado para ver este vínculo] escribió:
Si tienes previsto depositar el .mfa, trabajo que me ahorro... Smile
En todo caso, buen trabajo.
¡Concedido! [ [Tienes que estar registrado y conectado para ver este vínculo] ]
El único detalle con que debo prevenirte es que no puse ni un solo comentario Neutral así que vas a tener que investigarlo por tu cuenta :xD:

Al menos me tomé la molestia de identar todo con grupos que al menos yo puedo entender :geek:

Como para darte una explicacion medio apresurada y por arriba, el mapa no tiene colisiones ni obstáculos; sólo está formado por las bifurcaciones en donde los fantasmas pueden tomar un giro o no.

El programa está hecho basado totalmente en la explicación de jamey que me tomé la molestia de traducir en su tiempo ( :clown: ), adaptado a Multimedia Fusion 2.

Acá no es como el patuman 2008 que los fantasmas eran bolas que rebotaban y cada tanto caminaban derecho hacia el jugador, acá todos los activos son estáticos y los movimientos están controlados independientemente con variables locales y contadores.


elPatrixF @Web, Twitter, [Tienes que estar registrado y conectado para ver este vínculo]
Volver arriba Ir abajo
Ver perfil de usuario http://elpatrixf.com
elpupas7
Administrador
Administrador
avatar

España Masculino Ningúno
Reputación : 1226
Mensajes enviados : 3889
Premios : Empty (invisible) Empty (invisible) Empty (invisible) Empty (invisible)

MensajeTema: Re: Pacman Ghost Sandbox   Dom Feb 05, 2012 2:04 pm

Graciassss
Lo veré con calma... cuando... mmm...
... ciertas constelaciones estén debidamente conjuntadas...
Volver arriba Ir abajo
Ver perfil de usuario
elPatrixF
Soporte
Soporte
avatar

Argentina Masculino 100% Cumplimiento de las normas
Reputación : 325
Mensajes enviados : 1296
Edad : 24
Premios : Ganador concurso periódico: Demos de Aplicaciones 3º puesto concurso anual: Demos de juegos

MensajeTema: Re: Pacman Ghost Sandbox   Dom Feb 05, 2012 2:13 pm

Capaz que si algún día de estos se me salta la chabeta, (o se me queman los cuadernos de analisis 2 ._. ) me pongo a reescribir todo el código y armo una versión más limpia.

Y hasta capaz que me armo un juego de pacman, que tengo planeado hace tiempo :xD:


elPatrixF @Web, Twitter, [Tienes que estar registrado y conectado para ver este vínculo]
Volver arriba Ir abajo
Ver perfil de usuario http://elpatrixf.com
Contenido patrocinado




MensajeTema: Re: Pacman Ghost Sandbox   

Volver arriba Ir abajo
 
Pacman Ghost Sandbox
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Elecciones Europeas
» El mapa Pharaoh de Call of Duty: Ghosts se muestra en vídeo
» Jennifer Love Hewitt

Permisos de este foro:No puedes responder a temas en este foro.
 :: Proyectos :: Proyectos: Fase Inicial. (Demos e imágenes)-
Cambiar a: