22
¡Crea el juego de salón más conocido de los 80s! Encuentra tu camino a través de un laberinto mientras comes bolitas. ¡Cuidado con los fantasmas! Creado por: Susan Miller, University of Colorado, School of Education Este trabajo ha sido diseñado como parte del proyecto Scalable Games Design. Fue creado usando secciones de trabajos previos realizados por Fred Gluck y Cathy Brand. Traducido y adaptado por Yolanda Martínez Treviño, Silvia Iliana Ramírez R. del ITESM, Campus Mty. Revisado por: Ma. Guadalupe Roque Díaz de León, Campus Mty. Este material esta basado en trabajo patrocinado por el National Science Foundation con el Grant No. DRL-1312129 y CNS-1138526. Cualquier opinión, descubrimiento y conclusiones o recomendaciones expresadas en este material son del autor o autores y no necesariamente reflejan las opiniones del National Science Foundation. Creando PacMan

Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

  • Upload
    lyquynh

  • View
    226

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

¡Crea el juego de salón más conocido de los 80s!

Encuentra tu camino a través de un laberinto

mientras comes bolitas. ¡Cuidado con los

fantasmas!

Creado por: Susan Miller, University of Colorado, School of Education

Este trabajo ha sido diseñado como parte del proyecto Scalable Games Design.

Fue creado usando secciones de trabajos previos realizados por Fred Gluck y Cathy Brand. Traducido y

adaptado por Yolanda Martínez Treviño, Silvia Iliana Ramírez R. del ITESM, Campus Mty.

Revisado por: Ma. Guadalupe Roque Díaz de León, Campus Mty.

Este material esta basado en trabajo patrocinado por el National Science Foundation con el Grant No. DRL-1312129

y CNS-1138526. Cualquier opinión, descubrimiento y conclusiones o recomendaciones expresadas en este material

son del autor o autores y no necesariamente reflejan las opiniones del National Science Foundation.

Creando

“PacMan”

Page 2: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 2 of 22 Scalable Game Design

Vocabulario/Definiciones

Algoritmo Colección de instrucciones diseñadas para desempeñar una

tarea específica.

Atributo Una variable que pertenece a un agente (como el aroma),

llamada Variable Local en el área de programación.

Corchetes Método para agrupar información adicional al utilizar “[“ y “]”

Transmisión

(Broadcast)

Los controladores mandan (o transmiten) un mensaje

Fantasma El agente que persigue al PacMan

Colisión Evento en el cual dos agentes chocan

Difusión Proceso en el que los valores de un atributo (en este juego, el

aroma) cambian con base en la ubicación de la fuente

Incremento Aumentar en uno el valor de un atributo

Ascenso de

Colinas (Hill-

Climbing)

Una forma especifica de la técnica o algoritmo de búsqueda en

el cual el agente que está buscando utiliza información

(atributos de agente) que está “incrustada” en el piso

Método Colección de reglas que tienen un nombre y son evaluadas por

un agente como respuesta a un mensaje

PacMan Personaje principal que come las bolitas mientras que el

usuario lo mueve alrededor del mundo

Paréntesis Método para agrupar información adicional utilizando “(“y“)”

Poleo o Sondeo Proceso de pedir a los agentes que actualicen una propiedad de

la simulación y después tomen una acción basada en el valor

de la propiedad de la simulación

Propagar La difusión del aroma

Aleatoriamente Que ocurre al azar

Orden de regla Orden en el cual las reglas se definen para cada agente

Propiedad de

simulación

Un valor que tiene un nombre y que todos los agentes pueden

ver y actualizar

Page 3: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 3 of 22 Scalable Game Design

Estás a punto de crear tu primer juego. Dado que esto es nuevo para ti, te daremos algunas

partes del código. Pero cuidado– tendrás que encontrar los patrones para crear el resto del

código. Si tienes dificultades, ¡pide ayuda a algún compañero!

Entra a AgentCubes y Crea un juego nuevo

Paso 1 Crear Juego

Da clic en el

botón

New Project Proyecto Nuevo

en la esquina

inferior derecha

de la Ventana

para

Elegir Proyecto

ProjectChooser.

Paso 2 Da un nombre a

tu juego

Teclea PacMan

como nombre

para el proyecto

y haz clic en OK

Crea los agentes para PacMan

Paso 3

Haz clic en el botón +Agente, en la parte inferior izquierda de la pantalla.

De la ventana Buscador de Formas selecciona Inflatable Icon (ícono inflable), luego

Miscellaneous (Varios), luego packy para obtener una imagen de PacMan.

Teclea PacMan en el espacio para el nombre del agente (Agent Name)

Haz clic en OK

Page 4: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 4 of 22 Scalable Game Design

Paso 4

Para editar el dibujo del PacMan, haz doble clic en el ícono del agente (no en el nombre

sino en la imagen).

Puedes hacer clic en el botón ELIMINA Clear para borrar la imagen actual.

Dibuja tu propio PacMan, usando la herramienta lápiz y la caja de colores (el

cuadrado de color que está en el centro de la columna que aparece en el lado izquierdo). Haz clic en la herramienta caja de colores para elegir un nuevo color.

Usa la herramienta cubeta para llenar el espacio con el color seleccionado.

Haz clic en el botón + para inflar tu dibujo.

Usa la barra deslizante Límite Superior (Ceiling) para empujar tu imagen hacia abajo.

Haz clic en la caja Orientación Vertical (upright) para poner a PacMan “de pie”.

Selecciona front and back connected (frente y espalda conectados) que está enfrente

de la palabra Surfaces (Superficies) para que PacMan tenga 2 lados.

Paso 5 Crea el

Fantasma.

Haz clic en el

botón +Agente

Ponle de nombre

fantasma

Selecciona

Miscellaneous

(Varios) dentro

de

Inflatable Icon

(ícono inflable),

busca – ghosty Puedes editar y

cambiar el color

o dibujar tu

propio

fantasma.

He aquí un Fantasma de PacMan.

Page 5: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 5 of 22 Scalable Game Design

Paso

6

Haz una

segunda

representación

o forma en la

parte de abajo

de la ventana.

Da nombre a tu

nueva forma y

luego haz clic

en OK

Luego haz

doble clic en la

imagen que está

al lado del

nombre de la

nueva forma y

edítala.

Cambia el color del fantasma de manera que se vea diferente al fantasma original.

Paso

7

Crea la pared

Haz clic en el

botón +Agente

Ponle de

nombre Pared

Selecciona

Cube (Cubo) y

luego

selecciona el

cubo que tu

quieras.

Pared

Paso

8

Crea el piso

Haz clic en el

botón +Agente

Ponle de

nombre Piso

Selecciona Tile

(ladrillo) y elige

el que tu

quieras.

Piso

Paso

9

Crea la Bolita

Haz clic en el

botón +Agente

Bolita

Page 6: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 6 of 22 Scalable Game Design

Ponle de

nombre

Bolita

Selecciona un inflatable icon (ícono inflable), borra la imagen, dibuja la bolita, usa +

para inflarla y usa la barra deslizante Límite Superior (Ceiling) para “aplanarla”.

Paso

10

Haz el mundo

del Nivel1

Haz clic en el

botón + al

lado de la

palabra World

(Mundo)

Cuando

aparezca la caja

del nuevo mundo, teclea

Nivel1 en el

espacio Name.

TECLEA

ROWS 16

COLUMNS 21

OK

Paso

11

Diseña tu

mundo

Usa la

herramienta

(rectángulo de

líneas

punteadas)

para dibujar un

arreglo de pisos

en el mundo.

Usa la misma

herramienta para crear la

pared con los

cubos y para

poner bolitas

arriba del piso.

Usa la

herramienta

lápiz para

agregar agentes

individualmente

Los Fantasmas están en un área rectangular abierta. PacMan está en la esquina

inferior izquierda.

Page 7: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 7 of 22 Scalable Game Design

(el PacMan y

los Fantasmas).

Paso

12

Utiliza el botón

Save localizado a un lado del nombre

de tu Mundo

para guardar tu

Mundo cuando

te guste como se ve.

Solamente guarda Save tu Mundo cuando hayas diseñado el espacio del

juego para iniciar un juego. De esta forma podrás usar el

botón Reiniciar Que volverá al punto de inicio, es decir el último

diseño de juego que guardaste.

Es hora de crear comportamientos para tus Agentes

Paso 13 Crea el

comportamiento

de un agente Haz clic en un

agente y su

Ventana de

Comportamiento

(Behavior)

aparecerá en la

parte de abajo del

mundo.

Para crear las reglas, vas a

arrastrar los

elementos que

representan las

condiciones de la

izquierda y las

acciones de la

derecha.

Esta regla dice:

IF (SI) el usuario presiona la tecla (key) flecha hacia arriba (UP

ARROW), AND (Y) NOT see ( Y NO veo) una Pared en la dirección

hacia arriba,

THEN (ENTONCES) mi PacMan se mueve hacia arriba

Sugerencia: Haz clic en la condición See, y luego en el botón NO que

está en la parte inferior de la ventana para hacer la condición NOT See

(NO veo).

Crea 3 reglas más para hacer que el PacMan se mueva a la derecha, a la

izquierda y hacia abajo.

NOTA: Haz clic en la regla que hiciste, luego haz clic en el botón

+RULE (+REGLA) en la parte inferior de la ventana para crear cada

nueva regla.

Page 8: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 8 of 22 Scalable Game Design

Paso 14 Programa el

PacMan para

comer bolitas.

Primero toma un momento para pensar en el PacMan y las bolitas. ¿El

PacMan realmente se come las Bolitas? No, es sólo un dibujo que no

puede comer nada. Se trata de una ilusión. Cuando el PacMan está al lado

de las Bolitas, entonces la Bolita desaparece, haciendo parecer que el

PacMan se la comió.

Observa el siguiente código, PacMan ve una Bolita arriba de él:

Dice…

IF (SI) se presiona la flecha arriba Y veo una Bolita arriba THEN

(ENTONCES)…

borro la Bolita de arriba de mí Y

me muevo hacia arriba

Ahora agrega otras 3 reglas para las otras 3 direcciones.

Paso 15 Programa los

Fantasmas

para que se

muevan de

manera

aleatoria

Haz clic en el agente para agregarle comportamiento.

¿Cómo puedes hacer que los Fantasmas se muevan más rápido o más

lento?

Experimenta con el número que pones en la condición once every (una

vez cada).

¿Se deben mover los Fantasmas sobre las bolitas?

¿O solamente en el piso?

¡Decídelo y prográmalo de acuerdo a tu decisión!

Page 9: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 9 of 22 Scalable Game Design

Paso 16 Crear la regla

para terminar

el juego

cuando

PacMan está

al lado de un

Fantasma.

Haz clic en el PacMan y agrega

esta regla

Nota: Necesitas

una regla similar

para cada forma

diferente del

Fantasma.

Esta regla dice:

IF (SI) estoy NEXT TO (Al lado de) al menos 1 Fantasma Verde

THEN (ENTONCES)

show a message (muestra el mensaje)

“¡El Fantasma Verde atrapó a Pacman! ¡Trata otra vez!” Y

Reload the World (Vuelve a cargar el mundo)

Sugerencia: ¡Usa

o

para terminar el juego!

Page 10: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 10 of 22 Scalable Game Design

Manual del Alumno 2

Parte 2 – Haciendo que el Fantasma persiga al

PacMan

Paso 1:

Primero, asegurémonos que nuestro PacMan emite un aroma. Para hacer esto, necesitamos poner un

valor al atributo “S” del PacMan. S representa el aroma (Por el nombre en inglés scent). Hay varias

formas de hacer esto. Por ejemplo, podemos crear esta regla al final de la lista de reglas de PacMan:

Esta regla dice “Siempre da a S el valor 1000”. AgentCubes interpreta una condición vacía como verdadera. Esta regla debe aparecer DESPUÉS del resto de las reglas de PacMan, al final del método

while running (mientras se esté ejecutando).

Hasta ahora, tu Fantasma sólo se mueve de manera aleatoria, por el piso, o bien, por el

Piso y las bolitas…en realidad no persigue al PacMan, ¿Verdad? ¡Eso está a punto de

cambiar!

El Fantasma inteligentemente buscará al agente PacMan usando un Patrón de

Pensamiento Computacional llamado “búsqueda”. En esta ocasión, usaremos un método de búsqueda específico llamado Ascenso de Colinas (Hill Climbing). Imagina que el

agente PacMan emite un aroma. Ascenso de Colinas (Hill climbing) es un procedimiento

o algoritmo para encontrar la dirección en la cual el aroma es más fuerte.

El aroma se va a esparcir, o propagar, por el agente Piso usando un Patrón de

Pensamiento Computacional llamado “difusión”. Difusión es un proceso fundamental

(físico, biológico y social) por el cual los objetos se mueven de áreas de mayor

concentración a áreas de menor concentración. ¡Entre más cerca se encuentre la fuente

del aroma, mayor sera su valor!1.

Esta fase del proyecto introduce el concepto de “atributo de un agente” el cual es

información única que se guarda en cada ocurrencia de un agente. En programación a

este atributo del agente se le llama variable local.

Page 11: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 11 of 22 Scalable Game Design

Reto:

¿Qué pasará si pones estar regla arriba de las reglas de movimiento de PacMan? ¿El PacMan será

capaz de moverse?

Otra forma de inicializar el atributo S del agente PacMan es poner el valor cuando el PacMan se

agrega al Mundo. Para hacerlo, crea un nuevo Método eligiendo el botón +Método de la parte de

abajo de la ventana. Haz clic en la palabra “on” en la parte gris y amarilla del método y cámbialo

por “when creating new agent” (cuando se cree un nuevo agente).

Tu método “cuando se cree un nuevo agente” debe quedar como este:

Si usas este método para poner valor al atributo S de PacMan, asegúrate de borrar y volver a

dibujar el PacMan y luego GUARDAR el Mundo.

Nota: Si olvidas guardar el Mundo, PacMan podría no tener ningún valor para el atributo S

cuando se vuelva a cargar el Mundo.

Verificando el valor del atributo S del agente PacMan:

1. Selecciona el PacMan en el Mundo.

2. Selecciona Mostrar Atributos del Agente (Show Agent Attributes) del botón que tiene

un engrane en la parte superior de la ventana de AgentCubes.

3. Debes ver aparecer esta ventana:

4. Si la S no se ve en la ventana, quiere decir que todavía no se le ha asignado un valor.

5. Si pusiste la acción de ponerle valor a la S en el método mientras que esté corriendo del

agente PacMan, ejecuta el juego brevemente. Y la S debe aparecer en la ventana de

Atributos.

6. Si usaste el método cuando se crea un nuevo agente, borra y vuelve a dibujar el

PacMan y luego Guarda el Mundo. La S debe aparecer en la ventana de Atributos.

Page 12: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 12 of 22 Scalable Game Design

¿Por qué multiplicamos por 0.25? Cuando calculas el promedio de un conjunto de números, los sumas y luego divides la suma entre la cantidad de números. En este caso, dividir entre 4 es equivalente a multiplicar por 0.25

Paso 2:

Ahora, como el aroma se está difundiendo, o esparciendo, necesitamos encontrar el promedio del

aroma del área alrededor del agente Piso o del agente Bolita. Imagínate que los aromas vienen del

norte, sur, este y oeste. El aroma en el centro, entonces, se calcula como el promedio de estos cuatro aromas. ¿Cómo podemos hacer esto en el programa?

Difundir el aroma con las bolitas

El agente bolita tendrá el comportamiento que se muestra abajo; solamente se requiere calcular y

guardar el promedio de los cuatro atributos S de los agentes que se encuentran alrededor del agente.

Recuerda que usaste el nombre de atributo S para representar el aroma (por su nombre en inglés

scent).

S = 0.25*( S[arriba] + S[abajo] + S[derecha] + S[izquierda])

La acción “set” (establecer) coloca al atributo S de cada agente bolita el promedio de los atributos de los agentes que están arriba, abajo y a ambos lados:

S = 0.25*(S[left] + S[right] + S[up] + S[down])

Page 13: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 13 of 22 Scalable Game Design

Cambiar el color del piso de acuerdo con el valor S del agente Piso

Puedes agregar acción al Mapa al cambiar el color del piso de acuerdo con el valor S del agente

Piso. Así, puedes ver el valor S difundirse por el mundo.

Nota que el piso debe tener un color relativamente claro. Una forma fácil de crear un agente piso

coloreado con un tono claro es hacer que el piso sea algún ícono inflable (inflatable icon). Da

clic en el botón ELIMINAR para borrar el dibujo. Luego escoge un color claro usando la caja de

colores y ponlo en el dibujo en 2D usando la herramienta cubeta. Ahora tienes un rectángulo

plano en un color claro que puede ser acomodado debajo de las bolitas y el PacMan.

Haz un mundo de prueba con tu agente Piso de color claro y el PacMan. Ejecuta tu juego y los

colores cambiantes deben mostrar que la S es alta cerca del PacMan y baja lejos de él. Agrega un

Fantasma y observa que sigue a PacMan en este mundo simple.

Page 14: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 14 of 22 Scalable Game Design

AHORA…¡Difunde el aroma

por el piso agregando una regla

al agente Piso!

Asegúrate de que los paréntesis “(” y los

corchetes “[” se cierran, es decir, tienen sus

paréntesis “)” y corchetes “]” equivalentes.

Paso 3:

Para que los Fantasmas sepan hacia donde caminar, tienen que determinar hacia donde es más fuerte

el aroma. Llamamos a esto Ascenso de Colinas (Hill-Climbing). Si fuera la vida real, olfatearía hacia

arriba, hacia abajo, hacia la izquierda y hacia la derecha. El Fantasma caminaría hacia donde el

aroma fuera más fuerte. Necesitamos programar el Fantasma para que haga esto. Haremos un

MÉTODO para que el Fantasma siga este conjunto de reglas. Observa el código que se muestra

abajo.

La regla del método while running (mientras que se esté ejecutando) dice:

“ONCE EVERY 0.5 seconds, follow the Chase Pacman procedure” que significa:

“UNA VEZ CADA 0.5 segundos, sigue o lleva a cabo el procedimiento llamado Chase PacMan

(Persigue a PacMan)”.

La regla del método Persigue al PacMan (Chase Pacman) dice:

“IF (SI) el aroma (S) arriba (up) de ti es mayor o igual que cualquiera de los otros aromas en las

diferentes direcciones (down –abajo, left- izquierda, right- derecho), THEN (entonces) muévete

(move) hacia arriba (up).”

¿En qué se parecen las ALARMAS DE INCENDIO y la programación?

Un MÉTODO es un conjunto de reglas que tienen un nombre… reglas que se siguen en una situación específica. Éstas se ejecutan cuando se les manda llamar …similar a cuando suena una alarma de incendios, lo cual significa que hay reglas que tienes que seguir. Puedes crear un MÉTODO haciendo clic en el botón +Method (+Método) en la parte de abajo del comportamiento del Agente.

Page 15: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 15 of 22 Scalable Game Design

Es decir:

“SI el aroma de arriba de ti es mayor o igual que cualquiera de los otros aromas en las diferentes

direcciones (abajo, izquierda o derecha) ENTONCES muévete hacia arriba.

Ahora, agrega el resto de las reglas para que el Fantasma sepa que hacer

SI el aroma de abajo (S[down]) es mayor…

¿Qué pasa SI el aroma de la izquierda es mayor?

¿Qué pasa SI el aroma de la derecha es mayor?

¡Ejecuta tu juego para ver si el Fantasma persigue al PacMan! Si no funciona, es hora de hacer algo de resolución de problemas. Revisa lo siguiente:

o La regla “pon al atributo S de PacMan el valor 1000” debe ser al última en el método while running (mientras se esté ejecutando).

o O, si usaste el método “cuando crees un nuevo agente” (when creating

new agent) pon a la S el valor 1000, borra y vuelve a dibujar al PacMan, luego guarda el Mundo de manera que el valor inicial de S se guarde.

o En las reglas de “perseguir”, el nombre del método debe ser el mismo en

el mensaje de acción y en el nombre del método que está en el espacio amarillo y gris del método Ascenso de Colinas (Hill Climbing).

o El uso de parentesis “(“ y corchetes “[“ de las reglas del agente Piso

deben ser correctas. Observa la gráfica de la ecuación del agente piso 2 páginas antes de ésta y compáralo con la ecuación que se encuentra en tu agente Piso.

o Revisa tus reglas de Ascenso de Colinas (Hill Climbing) otra vez y

asegúrate de que las flechas de las acciones apuntan a la dirección correcta y que las condiciones de cada una de las reglas son correctas.

Page 16: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 16 of 22 Scalable Game Design

Difusión y Ascenso de Colinas (Hill-Climbing) Paso 1:

Para determinar qué pasa en tu juego, es útil observar los atributos del agente.

1. En tu mundo, haz clic en ejecutar hasta que el Fantasma se mueva fuera de la caja y luego

da clic en parar.

2. No vuelvas a cargar el mundo.

3. El aroma de PacMan (el valor de S) se ha difundido a través del mundo.

4. Par ver como el aroma de PacMan (el valor de S) se ha difundido, haz clic en cualquier

parte del piso.

5. Después haz clic en el menú de la ventana de AgentCubes y selecciona la opción Show

Agent Attributes (Muestra los Atributos del Agente)

6. Aparecerá una ventana que muestre el valor del atributo S para ese agente.

7. Haz clic en el mundo. ¿El valor de S es más grande cerca de PacMan y más pequeño lejos del

PacMan?

Revisa los atributos de los cuatro cuadros alrededor del Fantasma (arriba, abajo, izquierda y derecha)

y luego avanza el juego paso a paso usando el botón de manera que puedas ver si tu Fantasma

se está moviendo hacia el agente con el valor S mayor.

Si el Fantasma se mueve hacia el lugar equivocado o no se mueve, regresa y revisa tus reglas en el

método Persigue a PacMan (Chase PacMan). Compara tus reglas con las de alguno de tus amigos.

• ¿Las condiciones son correctas?

• ¿Las flechas en las acciones move (mover) son correctas?

• Revisa que PacMan tenga un valor S dando clic en él y observando en la caja de diálogo de

atributos. Observa en las páginas anteriores las sugerencias acerca de cómo poner valor al

atributo S del PacMan

Page 17: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 17 of 22 Scalable Game Design

Fin de la Unidad. Hoja de Revisión. PacMan

A) Los principales patrones de pensamiento computacional que revisamos son:

1) Control del Usuario (User Control): moviendo intencionalmente un agente.

a. Usando las teclas para mover un agente.

b. Un ejemplo es mover el PacMan.

2) Absorción (Absorb): eliminar agentes de la escena.

a. Usa la acción “Borrar” (“Erase”) de AgentCubes.

b. Por ejemplo, borrar las bolitas.

3) Colisión (Collision): cuando 2 agentes chocan

a. Uso de la condición “Ver” (“See”)

b. Uso de la condición “Apilado” (Stacked), ó

c. Uso de la condición “Al lado de” (Next to).

d. Por ejemplo, cuando PacMan come bolitas o cuando pierdes el juego

porque un Fantasma toca al PacMan.

B) Los principales Patrones de Pensamiento Computacional NUEVOS que aprendimos son:

1) Difusión (Diffusion): esparcir el aroma (olor) de un agente a través de un medio

(como el fondo (background)). Usamos un atributo de agente llamado S en el

agente que será perseguido, y difundimos el aroma poniendo el atributo en el

fondo (background) usando el promedio de los 4 aromas alrededor de él,

S = .25 * (S[izquierda]+S[derecha]+S[arriba]+S[abajo])

2) Ascenso de Colinas (Hill-Climbing): seguir el valor más alto del aroma S.

Solamente funcionará si se ha hecho la difusión antes, por lo que estos 2 patrones

van de la mano. Un ejemplo es el método que creamos en el Fantasma para

moverse hacia el agente que esté alrededor que tenga el valor más alto de “S”.

C) Otros conceptos que hemos cubierto en AgentCubes son:

1) Resolución de problemas en la simulación y considerar el orden de las reglas.

2) Usar sonidos y mensajes en el juego.

3) Usar tiempo en las acciones usando la condición UNA VEZ CADA ( “Once

every”).

Page 18: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

Manual para el Alumno 4a:

PacMan Cambia de Dirección

Reto

Antes de iniciar este reto:

Debes tener el juego básico PacMan completo, que se gana si

PacMan se come todas las bolitas y los Fantasmas se mueven

de manera aleatoria, o bien, persiguen al PacMan. El PacMan

pierde si un Fantasma lo atrapa. El mundo debe tener paredes

que los Fantasmas y el PacMan no puedan atravesar.

Descripción del reto:

PacMan debe voltear a la dirección a la que se está moviendo.

¿Qué considerar?:

¿Necesitas un agente nuevo?

¿Necesitas una regla nueva?

Debes estar pensando que requieres nuevos agentes …¡PERO ESPERA! Como cada PacMan

seguirá las mismas reglas, no necesitas un agente nuevo, ¡sino 3 formas o representaciones

nuevas (shapes en inglés)!

Pasos:

• Selecciona PacMan haciendo clic en su imagen, luego haz clic en el botón +Shape y dale

un nombre a esta nueva forma.

• Haz doble clic en la imagen que está al lado del nombre nuevo y aparecerá la ventana de

dibujo.

• Borra la imagen y dibuja al PacMan “viendo” hacia una dirección diferente.

• Una vez que tengas 4 formas diferentes, necesitarás cambiar tu código para que cuando

el PacMan cambie la dirección a la que va, también cambie para tener una nueva forma.

• Usa la acción cambia (change) con un punto en el centro porque eso significa

“cámbiame a mí mismo a” (“change me to”) de modo que el agente puede modificar su

propia forma.

• PRUEBA tu programa para confirmar que la imagen cambia cuando el PacMan cambia

su dirección.

Cambia Direcciones

Haz que el pacman “vea” a la dirección a

la que va.

Page 19: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

Manual para el Alumno 4b:

El PacMan se mueve Todo el Tiempo. Reto

Antes de iniciar este reto:

Debes tener el juego básico PacMan completo, se gana si PacMan come

todas las bolitas y los Fantasmas se mueven de manera aleatoria, o si

persiguen al PacMan. PacMan pierde si un Fantasma lo atrapa. El

mundo debe tener paredes que los Fantasmas y PacMan no puedan

atravesar.

Debes tener 4 formas diferentes de PacMan de manera que vea hacia la dirección hacia la

que va.

Descripción del Reto:

PacMan se moverá continuamente en la dirección a la cual está “viendo”.

Este reto te da el punto de partida, pero no te dará todo el código. Revisa el código que se

encuentra abajo: Dice, cuando se presiona la flecha a la derecha y no veo una pared a la

derecha, cambia la imagen del PacMan para usar la que “ve” hacia la derecha. Una vez cada

0.2 segundos, haz que yo (PacMan) me mueva en esa dirección (se ejecute el método

MoverEnDireccion (Movedirection).

Cuando se manda llamar el método MoverEnDireccion, el PacMan hace lo siguiente:

Si me veo viendo hacia la derecha Y no veo una pared a la derecha, me muevo a la derecha.

El efecto de esta regla del método MoverEnDireccion es hacer que el PacMan se mueva

hacia donde esté “viendo” mientras que no haya pared en esa dirección.

Todavía hay mucho que hacer:

Moverse Continuamente

Haz que el PacMan se mueva hasta el final de

la fila de bolitas

Page 20: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 20 of 22 Scalable Game Design

Paso 1:

Crea el código para las demás direcciones.

Paso 2:

Prueba tu programa (Sugerencia: asegúrate de que tu PacMan todavía deja su aroma

por todas partes).

Haz clic en el PacMan con la herramienta flecha grande para seleccionarlo y ejecutar el

programa.

Usa colores para decidir qué reglas son verdaderas o falsas. En este caso, la primera regla

es roja, lo que significa que la flecha a la derecha no ha sido presionada o que hay una

pared “en su camino”.

La siguiente regla es verde, lo que significa que cada 0.2 de segundos, el PacMan recibe

la indicación de ejecutar su método MoverEnDireccion (Movedirection).

El método MoverEnDireccion (Movedirection) es verde, lo que significa que alguna, o

ambas condiciones son verdaderas.

El PacMan “ve” que su forma actual es la de “ver a la derecha” Y no ve una pared, lo que

hace que la regla sea VERDADERA, de modo que PacMan se moverá un paso a la

derecha.

Page 21: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 21 of 22 Scalable Game Design

Manual para el Alumno 4c:

Bolita de Poder. Reto

Antes de iniciar este reto:

Debes tener el juego básico PacMan completo, se gana si

PacMan come todas las bolitas y los Fantasmas se mueven de

manera aleatoria, o bien, persiguen al PacMan. PacMan pierde

si un Fantasma lo atrapa. El mundo debe tener paredes que los

Fantasmas y el PacMan no puedan atravesar.

Debes tener 4 formas diferentes de PacMan de manera que vea

hacia la dirección hacia la que va, y se mueva de manera

continua.

Descripción del Reto:

• Agregar Bolitas de Poder al mundo.

• Las bolitas de Poder le dan a PacMan la habilidad temporal de comerse a los

enemigos. Los enemigos se vuelven de color azul obscuro y empiezan a moverse en

la dirección opuesta a la que originalmente iban.

Este reto te da el punto de partida, pero no te dará todo el código.

Para ayudarte, piensa en lo siguiente …

• Necesitarás un agente nuevo: la Bolita de Poder (Power Pellet)

• ¿Necesitas un nuevo agente para los fantasmas azules?

• Cuando el fantasma persigue al PacMan, tiene un aroma de 1000. ¿Qué pasa si

tiene un aroma de -1000? ¿Cómo puedes poner valor para ese nuevo aroma?

¿Cómo puedes limitar por tiempo ese valor?

• Sugerencia: Usa la acción ascenso de colinas (Hill-Climbing) en lugar de usar

todo el código para “olfatear”.

Bolitas de Poder

Haz una Bolita de Poder que permita que PacMan se coma a los

Fantasmas

Page 22: Creando PacMan - recursos.mexicoaprendeti.comrecursos.mexicoaprendeti.com/manualesalumnos/AC... · Vocabulario/Definiciones Algoritmo Colección de instrucciones diseñadas para desempeñar

PacMan Curriculum v3.02017 Page 22 of 22 Scalable Game Design

Manual para el Alumno 4d:

Siguiente Nivel. Reto

Antes de iniciar este reto:

Debes tener el juego básico PacMan completo, se gana si

PacMan come todas las bolitas y los Fantasmas se mueven de

manera aleatoria, o bien, persiguen al PacMan. PacMan pierde

si un Fantasma lo atrapa. El mundo debe tener paredes que los

Fantasmas y el PacMan no puedan atravesar.

Debes tener 4 formas diferentes de PacMan de manera que vea

hacia la dirección hacia la que va.

Descripción del Reto:

• Cuando el juego termina, aparece un nuevo nivel, ¡Más difícil que el anterior!

Este reto te marca el punto de partida, pero no te dará todo el código.

Para ayudarte, piensa en lo siguiente …

• ¿Necesitas un Agente nuevo? ¿Un mundo nuevo?

• ¿Cuándo aparecerá el nuevo nivel?

• ¿Qué código se necesita cambiar para hacer que el nuevo nivel aparezca?

Debes tener una regla como esta:

¿Como puedes incorporar esta acción en lugar de parar el juego?

Siguiente Nivel

¡Haz un segundo nivel para el PacMan!

¡Siguiente

Nivel!