Disección del Pacman actividad para gente que quiere hacer un videojuego

Mars Attacks - 25/07/2011 22:45
Son muchos los hilos de gente que está empezando en el mundo de los videojuegos y piensa en montar un proyecto más o menos ambicioso que involucre a otra mucha gente vía internet. Si eres una de esas personas: enhorabuena. Seguramente no estarás leyendo este hilo. Pero si por hola, sí, aquí va una actividad de análisis muy conveniente a la hora de calibrar de que tamaño es el juego que quieres empezar.

La actividad es muy simple: enumera todos los elementos gráficos, musicales, de sonido y diseño de mecánicas de juego de pac-man, de la forma más completa que seáis capaces, como si estuviérais dándole las instrucciones a una tercera persona para que os montara una réplica del juego.

El objetivo de la actividad es el de interiorizar que, incluso partiendo de un proyecto cerrado y acabado, nuestro cerebro obvia muchas de las partes que componen un videojuego y que ocupan la mayor parte de su desarrollo.

Podéis incluso tener el juego delante o consultar en internet.
Pepius - 25/07/2011 23:03
Es una actividad interesante, y se podría a extrapolar a otros clásicos como el Arkanoid.
Caronte - 25/07/2011 23:20
Muy buen ejercicio y para el que se piense que es fácil conociendo el juego o teniéndolo delante para estudiarlo, os aseguro que os equivocáis de lleno, incluso a alguien experimentado se le escapan cosas, así que, la meta sería conseguir el máximo nivel de aproximación para dejarlo todo atado.
Nessito - 26/07/2011 14:17
Muy guapo el asunto, pero. Quien se anima?
aprendiz - 26/07/2011 19:11
Vaya, creo que sería un poco más fácil con el buscaminas.
Aernur - 27/07/2011 19:07
Muy buen consejo Mars, pero me parece que seguiremos viendo cada dos meses nuevos gurús, que con el conocimiento de haber jugado al WoW, preguntaran que programa pueden utilizar para hacer un mmorpg completo.
Pepius - 27/07/2011 22:37
Yo si cuando pase el fin de semana no se ha animado nadie probaré suerte.
Pepius - 01/08/2011 14:08
Allá voy, así de memorieta, seguro que me dejo montón de cosas. Primero en cuanto a concepto/diseño del juego. Según leí en un libro de diseño de videojuegos (introduction todo game development, de Steve rabin, muy bueno), los juegos están muy ligados a los instintos primales de nuestros ancestros. Esto podría explicar porque el pac-man es tan adictivo pese a su simplicidad: un diseño basado en recolección (los puntos y puntos grandes), supervivencia (fantasmas) y caza (cuando se invierten las tornas y es pac-man el cazador). Conceptos como estos son muy importantes en el diseño de un juego, y más cuando no se dispone de alta tecnología.

En el apartado gráfico podemos identificar las siguientes sprites:
-Personaje principal.

Cada uno de los fantasmas.

Las frutas que dan puntos.

Los puntos y puntos grandes.

Cada tipo de pared, es decir: paredes horizontales, verticales, cuatro esquinas, cruces.

Además, hay que tener en cuenta que se ha diseñado una fuente (bitmap font) para textos y números (score). En cuanto al sonido tengo que reconocer que no puedo decir mucho (estoy cogiendo como referencia una screenshot), pero recuerdo sonidos al moverse, conseguir puntos, comerse un fantasma.

En cuanto al gameplay, curiosamente el pac-man tiene más complejidad de la que parece, concretamente en la i. A. Si, los fantasmas del pac-man tienen inteligencia artificial. Como digo, hablo de memoria de cuando lo leí en su momento, pero cada uno de los fantasmas tiene un rol o función en la caza del comecocos e incluso cada uno tiene un nombre propio por ello, si no recuerdo mal. Uno de los fantasmas va a por el personaje de manera más o menos directa. El segundo va a cortar la primera salida posible, y el tercero la segunda salida. El cuarto si no me equivocó se dedica a vagar por ahí.

Es fácil que me haya equivocado (siempre podéis buscar en google), pero el significado de esto permanece: para que un juego sea divertido tiene que tener rivales con una dificultad adecuada. Esto es: el juego probablemente hubiera fracasado si:
A) los fantasmas se movieran aleatoriamente (¿5 minutos los cuatro fantasmas en el mismo cuadrante del nivel?)
B) los fantasmas hubieran ido directamente a por el jugador (constante persecución).

C) para hacer el juego más desafiante, en vez diseñar una i. A decente, se hubieran potenciado las habilidades de los fantasmas (esto es, más velocidad).

Cualquiera de estas opciones hubiera sido frustrante, en mi opinión. No olvidemos, además que adquieren un comportamiento diferente cuando el jugador se come la píldora grande. En general, esta es una parte mucho más compleja (y con razón de ser) de lo que la mayoría cree, tanto en cuanto al diseño como a su puesta en practica.

Por otra parte, tenemos el diseño de niveles. Si no recuerdo mal el pac-man tiene decenas de niveles (casi un centenar, creo). Esto implica un esfuerzo de diseño en cada uno de ellos, tanto por su forma como por la disposición de los puntos grandes en él, un trabajo bastante bárbaro. Esto me hace preguntarme si tendrían alguna herramienta para crear/importar mapas en el juego o si seria hardcoded.

Todo lo comentado hasta ahora tiene que estar apoyado por una programación a la altura. Así a priori (esto son conjeturas, obviamente):
-Programar animación de sprites/cargar sprites animados.

Algoritmos de pathfinding/i. A, para los fantasmas. Seguramente basados en nodos.

Detección de colisiones con paredes/puntos/fantasmas.

Máquina de estados (simple) para los fantasmas.

Gestión de niveles/escenas y transición entre los mismos.

Finalmente no nos olvidemos de los elementos que hacen que sea un juego completo: menús, game overs, high scores, créditos, vidas.

Me habré dejado harto de cosas así que, corregidme. Vuestro turno.
aprendiz - 01/08/2011 17:08

En cuanto al gameplay, curiosamente el pac-man tiene más complejidad de la que parece, concretamente en la i. A. Si, los fantasmas del pac-man tienen inteligencia artificial. Como digo, hablo de memoria de cuando lo leí en su momento, pero cada uno de los fantasmas tiene un rol o función en la caza del comecocos e incluso cada uno tiene un nombre propio por ello, si no recuerdo mal. Uno de los fantasmas va a por el personaje de manera más o menos directa. El segundo va a cortar la primera salida posible, y el tercero la segunda salida. El cuarto si no me equivocó se dedica a vagar por ahí.

A eso me refería con que el buscaminas sería más fácil.

Creo que está bien la exposición, a ver qué dice Mars (que creo es el que sabe todos los recovecos del pac -man).
Pepius - 01/08/2011 17:12
Esa es la gracia, que mucha gente considera el pac-man como un juego simple cuando no lo es tanto.
Caronte - 01/08/2011 17:59
El juego es simple, lo que no lo es tanto, es programarlo. Muy bien Pepius, aunque lo has hecho muy, en plan general (y pienso que Mars pensaba en algo más detallado), has tenido en cuenta la mayoría de elementos.
Pepius - 01/08/2011 18:07
Lo sé, lo sé, pero he empezado entusiasmado y me ha venido la pereza a mitad :$ puede ser mucho trabajo para una persona, así que, completadlo entre todos, malditos.
Caronte - 01/08/2011 18:09
Es verdad, por eso mismo no me puse yo, sería mejor un juego mucho más simple (al menos para empezar).
Mars Attacks - 01/08/2011 20:10
Obviamente, la idea es detallarlo. No valen los etc y, aunque has descrito Grosso modo los componentes, no están ni mucho menos definidos. Por ejemplo, ¿de qué color son las cosas (y el fondo de las cosas.)? ¿tienen animación? ¿Qué animación/es tienen? ¿Qué forma y tamaño tienen? ¿cómo se controla el juego? ¿cuánto hay de cada cosa? ¿dónde está dispuesto en pantalla? ¿Qué interacciones ocurren con el jugador y entre los elementos (tanto estáticos como dinámicos)? Y con todo igual. Si no llega un alien y es capaz de rehacer el Pacman original con esa información, no está completo.

Por ejemplo, un buen comienzo sería:
Comenzamos el juego en una pantalla de menú, en el que suena en bucle el tema tirutu, tirutu, tirutu, tirutu, tirutu, tirutu, tirurirurirurirura. Los componentes de dicho menú son:
-fondo negro.

El resto es lo que os dejo de deberes.

Sobre los niveles, había exactamente un char, que era la cantidad de memoria para su contador (de 0 a 255). Una vez pasabas el nivel 255, pasaban cosas malas/extrañas.

Y sobre el ejercicio, podría haber empezado con uno más simple, obviamente, pero posiblemente a cualquiera con ganas de hacer su Morpg el pac-man y el buscaminas estarán al mismo nivel protozo.
Pepius - 01/08/2011 20:24
Bueno, al menos tu argumento queda claro enorme tarea sin duda.
aprendiz - 01/08/2011 21:50

Comenzamos el juego en una pantalla de menú, en el que suena en bucle el tema tirutu, tirutu, tirutu, tirutu, tirutu, tirutu, tirurirurirurirura.

Vaya.

Y sobre el ejercicio, podría haber empezado con uno más simple, obviamente, pero posiblemente a cualquiera con ganas de hacer su Morpg el pac-man y el buscaminas estarán al mismo nivel protozo.

Pues sí, salvo por la i. A.
thhedocctor - 16/08/2011 07:58

Allá voy, así de memorieta, seguro que me dejo montón de cosas. Primero en cuanto a concepto/diseño del juego. Según leí en un libro de diseño de videojuegos (introduction todo game development, de Steve rabin, muy bueno), los juegos están muy ligados a los instintos primales de nuestros ancestros. Esto podría explicar porque el pac-man es tan adictivo pese a su simplicidad: un diseño basado en recolección (los puntos y puntos grandes), supervivencia (fantasmas) y caza (cuando se invierten las tornas y es pac-man el cazador). Conceptos como estos son muy importantes en el diseño de un juego, y más cuando no se dispone de alta tecnología.

En el apartado gráfico podemos identificar las siguientes sprites:
-Personaje principal.

Cada uno de los fantasmas.

Las frutas que dan puntos.

Los puntos y puntos grandes.

Cada tipo de pared, es decir: paredes horizontales, verticales, cuatro esquinas, cruces.

Además, hay que tener en cuenta que se ha diseñado una fuente (bitmap font) para textos y números (score). En cuanto al sonido tengo que reconocer que no puedo decir mucho (estoy cogiendo como referencia una screenshot), pero recuerdo sonidos al moverse, conseguir puntos, comerse un fantasma.

En cuanto al gameplay, curiosamente el pac-man tiene más complejidad de la que parece, concretamente en la i. A. Si, los fantasmas del pac-man tienen inteligencia artificial. Como digo, hablo de memoria de cuando lo leí en su momento, pero cada uno de los fantasmas tiene un rol o función en la caza del comecocos e incluso cada uno tiene un nombre propio por ello, si no recuerdo mal. Uno de los fantasmas va a por el personaje de manera más o menos directa. El segundo va a cortar la primera salida posible, y el tercero la segunda salida. El cuarto si no me equivocó se dedica a vagar por ahí.

Es fácil que me haya equivocado (siempre podéis buscar en google), pero el significado de esto permanece: para que un juego sea divertido tiene que tener rivales con una dificultad adecuada. Esto es: el juego probablemente hubiera fracasado si:
A) los fantasmas se movieran aleatoriamente (¿5 minutos los cuatro fantasmas en el mismo cuadrante del nivel?)
B) los fantasmas hubieran ido directamente a por el jugador (constante persecución).

C) para hacer el juego más desafiante, en vez diseñar una i. A decente, se hubieran potenciado las habilidades de los fantasmas (esto es, más velocidad).

Cualquiera de estas opciones hubiera sido frustrante, en mi opinión. No olvidemos, además que adquieren un comportamiento diferente cuando el jugador se come la píldora grande. En general, esta es una parte mucho más compleja (y con razón de ser) de lo que la mayoría cree, tanto en cuanto al diseño como a su puesta en practica.

Por otra parte, tenemos el diseño de niveles. Si no recuerdo mal el pac-man tiene decenas de niveles (casi un centenar, creo). Esto implica un esfuerzo de diseño en cada uno de ellos, tanto por su forma como por la disposición de los puntos grandes en él, un trabajo bastante bárbaro. Esto me hace preguntarme si tendrían alguna herramienta para crear/importar mapas en el juego o si seria hardcoded.

Todo lo comentado hasta ahora tiene que estar apoyado por una programación a la altura. Así a priori (esto son conjeturas, obviamente):
-Programar animación de sprites/cargar sprites animados.

Algoritmos de pathfinding/i. A, para los fantasmas. Seguramente basados en nodos.

Detección de colisiones con paredes/puntos/fantasmas.

Máquina de estados (simple) para los fantasmas.

Gestión de niveles/escenas y transición entre los mismos.

Finalmente no nos olvidemos de los elementos que hacen que sea un juego completo: menús, game overs, high scores, créditos, vidas.

Me habré dejado harto de cosas así que, corregidme. Vuestro turno.

No seria uno de los juegos más vendidos de la historia si fuera fácil de hacer.

Para mí gusto, muy bien, algo más fácil de decir como programar y no es difícil de hacer es un ajedrez, yo lo tuve que hacer para la Carrera que estoy estudiando en usamos como IDE Microsoft visual C++, sería mucho más fácil de explicar que el gran señor pac-man.
aprendiz - 19/08/2011 10:18
Creo que esto [url]https://www.foro3d.com/f17/tutorial-completo-hacer-videojuego-3d-ahora-mismo-96787.html[/url]. Explica todos los elementos desde 0 de un juego. Aunque no es el pac-man, podría valer para hacerse una idea.
thhedocctor - 29/08/2011 20:34
[url]http://www.Megaupload.com/?D=2nwusvfl[/url]. Así sería la parte del Pacman echo en C++, sin obviamente la interfaz gráfica, son las clases y la implementación de los movimientos y demás.