Proyecto Pacman.

Comenzamos nuestro proyecto Pacman creando una carpeta con ese nombre en el lugar donde tu prefieras.

Arrancamos nuestro editor MPAGD. Para ello ejecutamos winagd.exe (yo le he creado un acceso directo en el escritorio). Lo primero que haremos es guardar nuestro nuestro proyecto vacío. Seleccionamos la opción "Save proyect" del menú "File", lo guardamos en la carpeta que hemos creado y con el nombre de proyecto Pacman. Cerramos el MPAGD (opción "Exit" del menú "File").

Volvemos a cargar el proyecto. Seleccionamos opción "Load" del menú "File" y buscamos Pacman.apj en nustra carpeta Pacman.

Por último pulsa "F5" (opción "Build" del menú "File") y deberá aparecer un juego vacío:

Dentro de la carpeta Pacman se habrán creado una serie de archivos correspondientes a los scripts de código que vamos a programar. Estos scripts se ejecutan en determinados eventos del juego.

Otro archivo es el script del editor, con extensión .agd donde se describen los bloques de datos y secciones del juego: pantallas, mapas, Sprites, eventos, sonido, fuentes, paleta de color, etc.

Todos estos archivos los maneja el editor. No los toques por ahora.

Si no cierras el emulador, no podrás controlar de nuevo el editor.

DEFINEWINDOW

Este es el primer bloque que vamos a definir hoy: “la ventana de juegos”.

Pac-man se jugaba en una “TV de tubo” dispuesta en vertical (busca CTR TV en YouTube). Pero el escenario del ZX Spectrum es horizontal. Está dispuesto en celdas ("caracteres") de 8x8 pixeles dispuestas en 21 filas y 31 columnas.

Selecciona la opción "Window size" en el menú “Editor”. Aparece una parrilla de juego en la que está representada la pantalla completa del ZX Spectrum.

Procede de la siguiente manera. Haz "clic" en la ventana de juego, quedará seleccionada en rojo. Selecciona con otro "clic" la esquina superior izquierda en la casilla 1,1 de la parrilla y el último "clic" es para la esquina inferior derecha en la casilla 20,30 de la parrilla. Hazlo en este orden, así queda fijada la "ventana del juego".

Otras cosas que colocar. De la misma manera coloca el “marcador de puntos” a la izquierda, el de “récord” a la derecha y las “vidas” en el centro tal como se ilustra en la figura. Los botones que aparecen a la derecha del editor añaden o eliminan estas características del juego. Coloca todo esto como en la figura (necesitarás recolocar la ventana de juego para poder ver y seleccionar el marcador, récord y vidas):

Guarda el proyecto de nuevo (opción "Save proyect" del menú "File").

Hecho!! Pero, ¿Qué hemos definido con este pequeño trabajo? Pues bien:

Hemos tomado varias decisiones de diseño en cuanto a la colocación del tablero de juego y marcadores.

Hemos dado a nuestro juego una motivación: obtener un “SCORE”, algo que ganar, pero también algo que perder “LIVES”, nada más y nada menos. Además podemos presumir de nuestra maestría a través de nuestro “RECORD”.

Estas son las motivaciones de los Arcade. Nos invitan a pasar horas y horas jugando. Pac-man ofrece otras satisfacciones que lo hacen especial. Cada juego, en aquellos tiempos, ofrecía mediante expectativas, deseos y trucos sencillos un entretenimiento que enganchaba.

Descubrir y analizar los elementos de estos juegos resultará útil para diseñar tus próximos juegos.

El editor ha hecho su trabajo también.

Ha definido los valores de algunas constantes y variables en el juego: WINDOWWID, WINDOWHGT, WINDOWLFT, WINDOWTOP, LEFTEDGE, RIGHTEDGE, TOPEDGE, BOTTOMEDGE, LIVES, SCORE y HISCORE. Todas estas variables las gestionará el EngineZX, motor que trabaja entre bastidores, nosotros no nos preocupamos de esto.

SCRIPT GENERATOR

Selecciona la opción "Scripts Generator" del menú "Tools".

Esta herramienta es la más potente del MPAGD. Vamos a usarla para generar código a partir de las posiciones y elementos que hemos seleccionado en el apartado anterior "Window size".

Deja todos los botones de la segunda columna en la opción [existing] excepto el último. Selecciona Auto generate para la sección "Other events". Pulsa el botón "Generate Scripts" con seguridad.

Ahora revisa en el menú "Events" y selecciona el evento “Game initialisation”. El editor ha escrito lo siguiente:

EVENT GAMEINIT

LET LIVES = 3        ; la variable global LIVES es 3
AT 22 16             ; sitúa el cursor en pantalla en celda [16,22]
DISPLAY LIVES        ; pinta el valor de la variable LIVES

AT 22 2
SHOWSCORE            ; pinta los dígitos del SCORE.

AT 22 24
SHOWHIGH             ; pinta los dígitos del HIGHSCORE

El editor ha escrito la posición en pantalla de nuestros marcadores y nos concede 3 vidas!
Si te fijas nombramos primero la coordenada vertical y después la horizontal si usamos el comando AT. Comentar las líneas es una buena práctica para documentar el proyecto y entender el código.

Guarda el proyecto de nuevo (opción "Save proyect" del menú "File").

Puedes probar ahora. "Build" es una opción del menú "File" del MPAGD, puedes pulsar F5 también. Vigila la ventana de comandos por si hubiera algún error.

error: Label not found: nmedat

No te preocupes. Este error solo se produce cuando no se ha definido ningún enemigo en la pantalla. Pero aún no hemos empezado a trabajar. En los siguientes capítulos será lo primero que haremos. Cuando esté todo correcto y pulses F5 aparecerá la siguiente pantalla.


Otra cosa que hará el "Script Generator" es escribir el menú de inicio que será lo primero que aparezca al arrancar el juego y la única vez que lo haga. Aquí podemos escoger el tipo de control para usar en el juego. También puedes crear tu propio menú.

En la imagen: la nueva disposición de ventana y marcadores del juego

Déjalo por hoy. Marca un día a la semana o al mes para preocuparte de este proyecto. Esto es un consejo para disfrutar de este hobby un largo tiempo. Merece la pena.

Siguiente sesión.

Comentarios

Entradas populares de este blog

El laberinto