Pac-Man
En este proyecto crearas un Pac-Man en Scratch que será capaz de
aprender como juegas tu.
No le darás instrucciones de como jugar ni cuales son las reglas ni
objetivos del juego.
En su lugar le mostraras como tu juegas al juego.
This project worksheet is licensed under a Creative Commons Attribution Non-Commercial Share-Alike License
http://creativecommons.org/licenses/by-nc-sa/4.0/
Page 1 of 17 Last updated: 6 abril 2020
1. Ve a https://machinelearningforkids.co.uk/scratchx en el
navegador.
2. Abre la plantilla de Pac-Man para este proyecto.
Pulsa en Project templates -> Pac-Man
3. Pulsa el botón de pantalla completa y después pulsa la bandera
verde.
4. Juega unas cuantas partidas de Pac-Man.
Controlas a Pac-Man y tienes que esquivar al fantasma todo el tiempo
que puedas.
Usa las teclas de las flechas para controlar el movimiento de Pac-Man.
Pulsa la bandera verde para empezar una nueva partida.
Page 2 of 17 Last updated: 6 abril 2020
5. Piensa una estrategia para evitar al fantasma todo el tiempo que
puedas.
Representación de Pac-Man en Scratch
El tablero es un gráfico.
5 Pac-Man y el fantasma solo pueden
Valores y
ir por las líneas.
4
La localización de los personajes se
3 guarda así:
* un valor x (numero del 1 al 7)
2
* un valor y (numero del 1 al 5)
Por ejemplo, el fantasma de la
1 izquierda esta en:
X=5
Y=2
1 2 3 4 5 6 7
Valores x
arriba
En cada turno cada
personaje tiene que
elegir entre cuatro
movimientos:
izquierda
arriba, abajo, izquierda,
derecha.
derecha
(No te puedes mover en
diagonal.)
abajo
Page 3 of 17 Last updated: 6 abril 2020
¿Qué vas a hacer?
Vas a entrenar a Pac-Man a evitar al fantasma. Lo harás enseñándole
ejemplos de como juegas tu al juego.
Imagina que el tablero esta así: Imagina que el tablero esta así:
Imagina que decides ir arriba: Imagina que decides ir abajo:
El ordenador aprenderá de las decisiones que hagas al jugar.
¡Si haces movimientos que eviten al fantasma durante mucho tiempo el
ordenador aprenderá a evitar al fantasma!
6. Cierra la ventana de Scratch.
7. Ve a https://machinelearningforkids.co.uk/ en el navegador.
8. Pulsa en “Empezar”
Page 4 of 17 Last updated: 6 abril 2020
9. Pulsa en “Inicia Sesión” y escribe tu usuario y contraseña.
Si no tienes usuario, pide a tu profesor o líder de grupo que te cree uno.
Si no te acuerdas de tu usuario o contraseña, pide a tu profesor o líder de
grupo que te la restablezca.
10. Pulsa en “Proyectos” en el menú superior.
11. Pulsa en el botón “+ Añadir un nuevo proyecto”.
12. Nombra el proyecto “pacman” y configúralo para que aprenda a
reconocer “números”.
13. Pulsa “Add a value” y nombra el valor “pacman x” y el tipo de valor
ponlo como “número”.
14. Pulsa “Add another value” y repite para añadir valores para las
otras tres posiciones: “pacman y”, “fantasma x”, “fantasma y”.
Page 5 of 17 Last updated: 6 abril 2020
15. Pulsa Crear.
16. Podras ver “pacman” en tu lista de proyectos. Pulsa en el.
17. Pulsa el botón “Entrenar”.
Page 6 of 17 Last updated: 6 abril 2020
18. Pulsa “+ Añadir etiqueta” y crea una etiqueta llamada “izquierda”.
Los ejemplos de la localización de pacman y el fantasma cuando vas a la
izquierda se guardarán en este cubo.
19. Pulsa “+ Añadir Etiqueta” de nuevo y crea etiquetas para los otros
tres movimientos del juego: “derecha”, “arriba” y “abajo”.
20. Pulsa en enlace “< Volver al proyecto”.
Page 7 of 17 Last updated: 6 abril 2020
21. Pulsa el botón “Crea”, después el botón “Scratch”.
22. Pulsa el botón “Straight into Scratch”.
Te avisara que todavía no has entrenado al ordenador, no pasa nada,
usaremos Scratch para recolectar ejemplos de entrenamiento.
23. Deberías ver nuevos bloques en la sección “More blocks” de tu
proyecto de pacman.
24. Abre de nuevo la plantilla del proyecto de Pac-Man.
Pulsa Project templates -> Pac-Man.
Page 8 of 17 Last updated: 6 abril 2020
25. Pulsa en el “Stage” y busca el script “when green flag clicked”, que
establece las constantes “izquierda”, “derecha”, “arriba”, “abajo”.
26. Modifica el script para usar los nuevos bloques del proyecto de
pacman.
27. Busca el bloque “pacman-decision”
Page 9 of 17 Last updated: 6 abril 2020
28. Actualiza el bloque “pacman-decision” para añadir a los datos de
entrenamiento de machine learning todos los movimientos que hagas.
29. ¡Entrena al ordenador jugando al juego!
Pon la pantalla completa de nuevo y pulsa la bandera verde.
Juega al Pac-Man unas cuantas veces, hazlo lo mejor que puedas.
Cuanto mejor juegues, mejor sabrá jugar el ordenador.
30. Guarda el proyecto.
Pulsa File -> Save Project.
Nombra al archivo “pacman-aprende.sbx” para acordarte que esta
versión del proyecto es la que entrena a Pac-Man.
31. Vuelve a la herramienta de entrenamiento.
32. Pulsa “< Volver al proyecto”, después pulsa el botón “Entrenar”.
Deberías ver los ejemplos de entrenamiento que has recogido al jugar.
Page 10 of 17 Last updated: 6 abril 2020
¿Qué has hecho hasta ahora?
Has enseñado a un ordenador a jugar Pac-Man.
Has actualizado un juego de Pac-Man en Scratch para que recoja
ejemplos de como juegas. Usaras estos ejemplos para entrenar un
modelo de machine learning.
33. Pulsa “< Volver al proyecto”.
34. Pulsa el botón “Aprender & Probar”.
35. Pulsa el botón “Entrenar un nuevo modelo”.
36. Vuelve a la ventana de Scratch.
Si la cerraste por error, puedes volver a abrirla así:
* Pulsa “< Volver al proyecto”.
* Pulsa el botón “Crea”.
* Pulsa el botón “Scratch”.
* Pulsa el botón “Abrir en Scratch”.
* Abre el proyecto de Scratch que guardaste antes con “File” -> “Load
Project”
Page 11 of 17 Last updated: 6 abril 2020
37. Pulsa en Stage
38. ¡Borra los scripts de pulsar las teclas porque es el turno del
ordenador! (Borra el script haciendo clic derecho en el y eligiendo
“Delete”).
Estos son los scripts que ya no necesitaremos:
39. Modifica el bloque “pacman-decision”.
En lugar de aprender de lo que estas haciendo, lo que ahora queremos
que lo use el modelo de machine learning.
Page 12 of 17 Last updated: 6 abril 2020
40. Modifica el script “When Green Flag clicked” para quitar “wait 1
second”.
El script debe acabar así:
41. Guarda el proyecto.
Pulsa File -> Save Project.
Nombra el archivo “pacman-juega.sbx” par acordarte que esta versión del
proyecto es en la que el ordenador controla a Pac-Man.
42. ¡Pon a prueba al ordenador!
Pon la pantalla completa y la bandera verde.
Mira al Pac-Man que tu has entrenado para evitar al fantasma.
43. Abre el proyecto “pacman-aprende.sbx”.
¡Asegúrate antes que guardaste el proyecto pacman-juega!
Pulsa File -> Load Project
44. Entrena al ordenador un poco más jugando unos cuantos juegos
más.
Page 13 of 17 Last updated: 6 abril 2020
45. Vuelve a la herramienta de entrenamiento.
46. Vuelve a la página “Aprender & Probar”.
Pulsa “< Volver al proyecto” y después en “Aprender & Probar”.
47. Pulsa de nuevo el botón “Entrenar un nuevo modelo”.
48. Cambia a la ventana de Scratch.
Si la cerraste por error, puedes volver a abrirla así:
* Pulsa “< Volver al proyecto”.
* Pulsa el botón “Crea”.
* Pulsa el botón “Scratch”.
* Pulsa el botón “Abrir en Scratch”.
49. Abre el proyecto de probar “pacman-juega.sbx”
Pulsa File -> Load Project
50. Pon a prueba al ordenador de nuevo.
¿ Después del entrenamiento, lo hizo mejor el ordenador?
Page 14 of 17 Last updated: 6 abril 2020
¿Qué has hecho?
Has entrenado al ordenador a jugar a Pac-Man.
No has tenido que decirle las reglas al ordenador.
No le has dicho que debe evitar al fantasma.
No le has descrito los limites del tablero.
(Las reglas están en el juego de Scratch, pero eso no cuenta, esa parte no
se usa en el modelo de machine learning).
En su lugar le has enseñado a jugar recogiendo ejemplos de las decisiones
que harías al jugar.
Page 15 of 17 Last updated: 6 abril 2020
Consejos
Quedarse atrapado en un bucle
A veces el ordenador tiene suerte y encuentra una ruta
rodeando el tablero y entrando en un bucle lo que hace que
nunca pierda.
Puedes apretar el botón rojo de stop si necesitas que pare el
de jugar.
¡No seas amable!
Puede que te sientas tentado a tener piedad con el fantasma
cuando juegues contra él.
No lo hagas. Aprende de la forma en que juegas. Si no juegas
bien, no puede aprender a jugar bien.
Si quieres que mejore rápidamente, juega lo mejor que
puedas.
Sigue entrenando
Cuantos más ejemplos para aprender al ordenador mejor lo
hará. Si tienes tiempo, juega muchos juegos y entrena al
modelo de nuevo.
Page 16 of 17 Last updated: 6 abril 2020
Ideas y Ampliaciones
Ahora que has acabado, ¿Porque no pruebas una de estas ideas?
¿O probar una tuya?
Añade otro fantasma
El juego es muy fácil con un solo fantasma, Pac-Man puede
seguir evitando al fantasma para siempre.
Pero con un segundo fantasma persiguiendo a Pac-Man se
hará más difícil.
Cambia el tablero de juego
Intenta hacer el tablero más grande.
O añade obstáculos que Pac-Man y los fantasmas tengan que
evitar.
Haz tu propio juego
Esto no solo funciona con Pac-Man.
¿Porque no intentas crear tu propio juego en Scratch y
entrenar un modelo de machine learning que sea capaz de
jugarlo?
Page 17 of 17 Last updated: 6 abril 2020