SpriteJavi en JBA

Tutoria de AGD IV: Creando nuestro “Muñequito” y los “Bichos” (Sprites)

Una vez tenemos los tiles y al menos una pantalla de las entregas anteriores de este Tutorial de AGD en español, y antes de profundizar en los detalles de la configuración de suelos y paredes, o los mapas, vamos a completar los elementos básicos que necesitaremos para crear un juego: nuestro protagonista y los enemigos a los que se enfrentará.

Antes de nada, un poco de contexto.

Aunque mi objetivo principal es enseñar com hacer un juego con AGD y que a partir de ahi cada cual pueda marcar su camino, como vengo haciendo quiero antes, dar un poco de contexto sobre sprites, y haceros conscientes de las limitaciones de las maquinas de la época de los 8 bits, lo que supone todo un reto a nivel artístico (Marty… ¿no tendré que llamarte gallina no? ;))

En el caso de Spectrum tenemos un color para la tinta y otro para el fondo a elegir entre 7 por cada area de 8×8 pixels pudiendo usar o no brillo de forma que (salvo del negro) tenemos dos versiones de cada color. Eso si no podemos hacer que la tinta tenga brillo y el fondo no, todo con brillo o sin brillo.

Al margen de las especifiadades de color de Spectrum, así como las especifidades del color de los sprites en AGD que veremos mas adelante, abramos boca con estos dos videos que nos dan una gran perspectiva sobre la materia. Hay subtítulos en español para los que no domineis el ingles..

Para temas de desarrollo el ingles es básico.

Y en AGD … ¿Como va?

Lo primero es pulsar S desde el menú principal, accederemos al editor de Sprites donde podremos generar nuestras cracioes (de las dimensiones definidas traves de la opción i “Miscelanea”, en el caso de JBA he usado Sprites de 16×16). 

El protagonista en el editor de sprites

El interfaz es bastante sencillo, un cuadro enorme en la parte superior izquierda que nos permite editar el sprite al gusto, un indicador del numero de sprite en que nos encontramos y el frame que estamos editando (los sprites pueden tener varios frames de animación.

¿En qué consiste esto de los “frames de animación”?.

Siempre que observamos un “muñequito” en la pantalla, vemos que se mueve, no es – habitualmente – una imagen estática, para lograr este efecto, se dibuja al personaje varias veces con la postura ligeramente cambiada, como en los dibujos animados. Al mostrar estos dibujos en secuencia a una velocidad apropiada, percibiremos que “se mueve”. Este pequeño video lo explica muy bien:

Ahora que creo tenemos claro el contexto general es el momento de indicar las teclas que debemos usar en esta pantalla para crear nuestros muñequitos y bichos, el movimiento básico se realiza con cursores y space para cambiar el pixel donde se sitúa el cursor:

TECLAS 
=======================================================
X = Insertar Sprite
D = Borrar Sprite
C = Borrar el contenido del Sprite

Cursores = Movemos el puntero por la rejilla del Sprite
Space or 0 = Cambia el pixel actual (activo/inactivo)

M = Copia el sprite al portapapeles
K = Pega el sprite dede el portapapeles
H = gira horizontalmente el sprite
V = gira verticalmente el sprite

N = Moverse al sprite siguiente
P = Moverse al sprite siguiente

I = insertar frame
R = borrar frame
F = Ir al siguiente frame

ENTER = Volver al menú principal

Copiar bloques de un Load Screen
================================

El editor, según el manual de la version 4.6, tiene una 
pantalla en la que podemos cargar ficheros de tipo 
screen$, usando la tecla L. Una vez en esa pantalla, se 
puede mover un cursor de 16x16 pixels y copiar porciones 
de ella al portapapeles (usando space) desde el que luego 
podremos pegar usando la letra K.

L = carga una pantalla al editor para copiar trozos
G = vuelve a la pantalla cargada para copiar otro trozo
Space en la pantalla cargada = Copia el trozo activo
Cursores en la pantalla cargada = Mover Cursor de Copia.

Mas alla de esto, el funcionamiento es muy similar a los bloques, solo que aqui cada “Sprite” puede contener mas de un frame de animación , ya veremos como se usan las animaciones pero podéis practicar creando al protagonista (o vuestro propio “muñequito” con al menos 4 frames de animación, mirando a izquierda y derecha.

No os limiteis a copiar sin mas los sprites, dadles vuestro propio toque una vez que tengas claros los fundamentos.

Adicionalmente, y como ejercicio para afinar vuestro desempeño podeis tratar de replicar (y animar) los gráficos que sugiero a continuación. ¡Se me olvidaba! podeis usar la tecla F dentro del editor para ver en sucesión los frames y hacer preview de vuestra animación y asi corregirla… ¡antes de mandar vuestra creación a Dinamic!

En el próximo capitulo, os mostrare mis pruebas con la funcionalidad de copiar bloques desde pantallas de carga, y empezaremos a situar los muñequitos en la pantalla que creamos en capítulos anteriores, esto nos dará pie para ampliar los conocimientos de forma práctica.

¿Te gustó esta entrada?

Si te gustó la entrada, ayudame con los costes de servidor, de dominios, y apoyame para que pueda seguir trabajando en esta dirección, recuerda ¡esta donación es completamente voluntaria!

En caso de que la cantidad propuesta te parezca mucha o (espero que) poca, puedes donar la cantidad que quieras a través de mi página en Paypal.me, si en la nota indicas porque donas y porque no coincides con la cantidad indicada, me ayudaras a entender mejor que creaciones pueden ser de mayor valor para vosotros, y tratare de crear mas de ese tipo (aunque en esencia escribo y creo lo que siento en cada momento). Gracias de todo corazón. Por si te lo preguntas, la intención es dedicar este dinero a lo indicado, pagar servidor, dominios, servicios online y en su caso software y/o formación para poder seguir desarrollando juegos cada vez mejores, escribiendo artículos y compartiendo podcasts. Si por un casual de repente resulta que donáis millones de euros, el orden de mi lista de deseos comienza por pagarme el poder ir a varios eventos retro a lo largo del año, e incluso en un futuro ideal montar un Museo Físico en torno al mundo de la retroinformática y el videojuego. Los sueños, sueños son ?
Javis Big Adventure prueba de concepto para la version CPC de la primera pantalla

Tutorial de AGD III: Nuestra primera pantalla.

Continuamos con el tutorial de AGD en español, en esta ocasión crearemos nuestra primera pantalla, y os propondré el ejercicio artístico que les prometí en la anterior entrega.

Antes de nada, en este punto dejo definitivamente de “traducir” segmentos del curso original, el primer capitulo es prácticamente la traducción, en el segundo he sacado absolutamente los pies del tiesto, y creo que, si bien seguiré los pasos en el orden que se planteó, lo explicaré a mi modo, creo que quedará mas natural.

Dicho lo cual, continuamos con el índice de contenidos que planteamos en el capitulo II, en esta ocasión:

  • Creación de muros
  • Creación de plataformas
  • Creación de nuestra primera pantalla

El “Paciente”

Pantalla de la cueva de Javi's Big Adventure

En la anterior entrega, estuvimos creando los tiles necesarios para dibujar por vosotros mismos la pantalla que aparece sobre estas lineas, en esta ocasión, procederemos a crearla.

Vamos, por tanto, y dejando para próximos capítulos la parte de muros y plataformas, a familiarizarnos con el editor de pantallas, y de este modo estar en disposición de dar rienda suelta a nuestra vena artística:

El editor de Screens

El Editor de pantallas de AGD

Desde el menú principal de AGD, pulsamos la letra C, lo que nos llevará al editor de pantallas. Globalmente funciona de una forma similar al editor de bloques, pero con un objetivo distinto. podemos movernos entre pantallas, crearlas, editarlas, borrarlas y – usando los tildes – darles el aspecto que queramos.

En esencia, esta pantalla funciona como un lienzo en el que iremos “estampando” los diferentes tiles hasta formar la imagen deseada, así de sencillo. He aquí las teclas que necesitarás:

TECLAS
============================================
FLECHAS = Mover el cursor de dibujo
SPACE = "Estampa" el bloque actual en la posición del cursor

F = Activa/Desactiva el modo de dibujado rapido.

1 = Mover a la izquierda por los bloques
2 = Mover a la derecha por los bloques

N = Siguiente Pantalla
P = Pantalla Anterior

M = Copiar pantalla actual al portapapeles
K = Pegar pantalla desde el portapapeles

X = Crea una nueva pantalla
D = Borra la pantalla actual

ENTER = Volver al menu principal.

¿Cómo usamos el editor de pantallas?

En realidad el flujo de trabajo es sencillo, en primer lugar, tenemos que ir a la pantalla que queremos editar, si no es la que aparece al entrar, o crear una si es lo que precisamos.

Una vez estemos donde queremos pintar, debemos usar 1 y 2 para seleccionar el tile que queremos dibujar, una vez hecho usaremos las flechas de cursor para movernos y SPACE para dibujar el tile en la posición del cursor.

Hay algunos aspectos a tener en cuenta:

  • El tile número 0 es nuestro “fondo” y por defecto aparece llenando toda la pantalla. Si te ha ocurrido que tu pantalla apareció llena de “suelos”, ya sabes que debes dejar el tile 0 “vacío”. En mi caso usé un cuadro totalmente negro como tile 0 ya que preferí dejar el fondo de un color y evitar así el color clash en la medida de lo posible.
  • No existe una tecla para “borrar”, pare realizar esta acción selecciona el tile 0 y dibújalo sobre las posiciones que quieras borrar.

F: Modo de dibujado rápido

Si has seguido la máxima de practicar, practicar, practicar, te habrás dado cuenta rápidamente de que crear tooodo un suelo, o rellenar un área concreta de la pantalla con tiles idénticos es harto tedioso. Para simplificar esta tarea existe la tecla de dibujado rápido, (F), que activa este modo.

Al activar el dibujado rápido, no tendremos que pulsar SPACE para dibujar un tile sino que el tile seleccionado se estampará automáticamente en la posición de cursor al movernos. ¡Pruébalo!

Para desactivarlo, pulsaremos de nuevo la tecla F.

¡Ahora a crear!

Una vez te hayas familiarizado con el interfaz del editor de pantallas, te propongo los tres ejercicios siguientes:

  1. En primer lugar, recrea en tu AGD la pantalla que estamos usando como ejemplo de la cueva, con los tiles que tu mismo has creado en el capítulo anterior.
  2. Una vez hecha, crea copias de los tiles que has usado, cambiarlos a tu gusto (manteniendo los originales), duplica la pantalla que creaste y modifica la copia para que se dibuje usando tus tiles, no los de “The Big Javi’s Adventure“.
  3. Como BONUS, duplica la pantalla que acabas de crear a tu gusto, y conviértela en una aun mejor obra de arte, añadiendo tiles nuevos para que el aspecto sea de todo espectacular.

Una vez terminadas, deberías tener 3 pantallas distintas, la primera, tu copia de la de JBA, la segunda, tu version básica, la tercera, tu version avanzada de la segunda.

¡Envia tus creaciones!

Si te apetece, puedes enviarme via mail a metsuke(at)gmail(Dot)com tus obras, una breve reseña de que has dibujado y tu nombre, y la publicaré como ejemplo en este mismo capítulo (si así lo deseas).

¡Avanzamos!

En el próximo capítulo crearemos nuestro primer Sprite, orientando nuestro avance hacia el punto de poner un muñeco en pantalla y moverlo, pero por ahora ¡a crear pantallas!

¿Te gustó esta entrada?

Si te gustó la entrada, ayudame con los costes de servidor, de dominios, y apoyame para que pueda seguir trabajando en esta dirección, recuerda ¡esta donación es completamente voluntaria!

En caso de que la cantidad propuesta te parezca mucha o (espero que) poca, puedes donar la cantidad que quieras a través de mi página en Paypal.me, si en la nota indicas porque donas y porque no coincides con la cantidad indicada, me ayudaras a entender mejor que creaciones pueden ser de mayor valor para vosotros, y tratare de crear mas de ese tipo (aunque en esencia escribo y creo lo que siento en cada momento). Gracias de todo corazón.

Por si te lo preguntas, la intención es dedicar este dinero a lo indicado, pagar servidor, dominios, servicios online y en su caso software y/o formación para poder seguir desarrollando juegos cada vez mejores, escribiendo artículos y compartiendo podcasts.

Si por un casual de repente resulta que donáis millones de euros, el orden de mi lista de deseos comienza por pagarme el poder ir a varios eventos retro a lo largo del año, e incluso en un futuro ideal montar un Museo Físico en torno al mundo de la retroinformática y el videojuego. Los sueños, sueños son ?

Pantalla Inicial de Javi's Big Adventure

Tutorial de AGD II: Los “Tiles”

Continuamos con el tutorial de AGD en español, si empiezas de cero quizá quieras leer la primera parte de este tutorial.

En esta ocasión continuamos con el primero de los siguientes elementos (Los tres restantes serán a entrega número 3, por razones de extensión). En conjunto, los cuatro nos permitirán crear nuestro “mundo virtual”:

  • Bloques (Tiles)
  • Creación de muros
  • Creación de plataformas
  • Creación de nuestra primera pantalla

Una vez completemos este y el siguiente capitulo seremos capaces de crear pantallas sencillas, una base importantísima para seguir avanzando en nuestro uso de AGD con una base sólida.

¿Qué son los Tiles?

Pantalla de la cueva de Javi's Big Adventure

Antes de comenzar a explicar como se crean tales en AGD , quizá estaría bien explicar en que consisten los tiles y que es eso de “mapas hechos con tiles”. Todo comienza con una cruda y cruel realidad: las maquinas sobre las que ejecutaremos nuestros juegos tienen una memoria extremadamente limitada, así que conviene ahorrar lo mas posible.

En la época, los desarrolladores que trataban de grabar los pantallas de sus juegos directamente en memoria, rápidamente se encontraban con el problema de que la memoria del ordenador se llenaba extremadamente rápido, por lo que idearon una forma de reducir el espacio que ocupaban sus pantallas.

“Divide y Vencerás”

Eso reza la famosa máxima, y esto es lo que hicieron, dividir la pantalla en trocitos mas pequeños y repetir estos de forma que con un numero limitado de trozos de gráfico, un poco de arte y un mucho de paciencia, lograban crear pantallas bastante complejas, con un gasto de memoria mínimo, al tener que indicar solo que en la posición tal , estaba el gráfico cual y no almacenar el gráfico en si mas que una vez.

¿No lo ves Claro? fíjate en el agua de la parte inferior de la captura que acompaña a estas lineas y los pinchos del fondo ¿muchos verdad? en realidad no, tan solo hay un gráfico de 8×8 pixels para el agua y otro para el pincho, a base de repetir estos dos gráficos he construido ese “lago mortal de la leche”.

Si lo tradujera en texto, en lugar de tener que guardar algo del estilo: “dibujoagua dibujoagua dibujoagua dibujoagua dibujoagua dibujoagua dibujoagua dibujoagua dibujoagua”simplemente almacenaremos “9 x dibujoagua”lo que evidentemente ahorra cantidades ingentes de memoria para almacenar las pantallas.

El truco radica en guardar una sola vez el dibujo y repetirlo en lugar de almacenar los pixeles de cada parte de la pantalla, requiere mas trabajo para evitar que se note la repetición pero merece la pena.

Hay que trabajarlo

Esta claro que llegar a crear pantallas vistosas, en las que no se note la repetición de los pequeños bloques (o lo menos posible) y que ademas sea colorista, no es fácil, pero os enseñare lo básico para que luego vuestra creatividad os lleve al Olimpo de los creadores de pantallas.

Como me jacto de unir lo viejo y lo nuevo, predicaré con el ejemplo, este video, con un tono muy actual, explica bastante bien como funciona esto en la practica. Hay diferencias entre la época “arcaica” (que es donde haremos nuestro juego con AGD) y la “mona elegante”, pero es un modo muy visual de ver esto en la práctica:

Un pequeño ejercicio: dedica un rato a tratar de identificar los bloques individuales que he usado para crear el mareado de The Javi’s Big Adventuree incluso descárgalo, y usando la versión 4.6 de AGD cargado para ver como esta hecho, no hay mejor forma de aprender que tocar.

Si vas a cargar el juego en AGD, te recomiendo que uses la opción cargar de AGD y pongas la cinta del juego a partir del final de la screen.

Creando nuestros primeros tiles

Editor de Bloques - Bloque 0 Fondo

Lo primero de todo, es acceder al editor de bloques desde el menú principal, pulsando B, esto nos llevara a la pantalla del Editor de Bloques, y mostrara el Bloque 0. Este es un bloque muy especial y que debemos dejar sin tocar. AGD utiliza este bloque , de tipo “empty space” (lo explicaremos cuando lleguemos a crear paredes y plataformas) que básicamente es el “cielo”, o relleno por defecto de todas las pantallas, así que si lo tocamos, variaremos todo el fondo (para bien.y para mal)

Nota importante: Este bloque también define los colores de los sprites, el "paper" de este bloque sera el de fondo y el "ink" la tinta. Es algo que sucede "por que se ha diseñado así"

En la pantalla del editor podemos ver varios elementos, el bloque en tamaño grande, que será donde lo editemos, la version en pequeño para previsualizarlo, el tipo de bloque (que trabajaremos en la próxima entrega), una indicación de las distintas tintas y fondos disponibles (los standard de ZX Spectrum básicamente) y la indicación del número de bloque que estamos editando.

Os copio aquí las lista de atajos de teclado de esta pantalla:

TECLAS
============================================
FLECHAS = Mover el cursor de dibujo
SPACE = Cambia color del pixel seleccionado

Q = Mover a la izquierda por las propiedades
W = Mover derecha por las propiedades

N = Siguiente Bloque
L = Bloque Anterior

P = Rotar color de Fondo
I = Rotar color de Tinta
B = Cambiar Brillo y Flash

M = Copiar bloque actual al portapapeles
K = Pegar bloque desde el portapapeles
C = Limpiar el bloque actual

X = Crea un nuevo bloque
D = Borra el bloque actual

ENTER = Volver al menu principal.

Bloques, bloques, bloques

Bien, continuemos, en la primera entrega creamos “el area de juego”, ahora es el momento de comenzar a llenarla con nuestro “mundo virtual”. Como hemos dicho las pantallas se componen de bloques. Cada uno de ellos de 8×8 pixels. Como sabemos en ZX Spectrum, cada “carácter” de 8×8 pixels puede tener solamente un color de fondo y otro de tinta, por lo que debemos prepararnos para ser creativos.

En esencia es un proceso sencillo, pero lleva práctica. Ya sabéis que el maestro Fran Gallego nos incita a practicar, practicar y practicary aquí vamos a hacer honor a ese guideline!.

Practicar, Practicar, Practicar

Bien, además de trastear con los distintos bloques, en esta ocasión os voy a plantear un reto. La pantalla de “la cueva” que vemos en este mis post, esta construida con 12 tiles distintos.

El reto consiste en identificar esos 12 tiles y replicarlos en el editor de bloques. Como no es algo sencillo, en caso de que se bloqueen , quieran comprobar si los encontraron, o tengan dudas, pueden preguntarme a través de los comentarios aquí, en twitter en la cuenta @metsuke, o por mail en metsuke(at)gmail.com y – en la medida de mis posibilidades y tiempo libre, que no es demasiado – intentare ayudarles.

En el proximo capitulo usaremos esos bloques para crear la misma pantalla en el editor (por si son curiosos) y a continuación haremos un ejercicio artístico que les revelaré en la próxima entrega 🙂

Sobre todo, disfruten haciéndolo!.

¿Te gustó esta entrada?

Si te gustó la entrada, ayudame con los costes de servidor, de dominios, y apoyame para que pueda seguir trabajando en esta dirección, recuerda ¡esta donación es completamente voluntaria!

En caso de que la cantidad propuesta te parezca mucha o (espero que) poca, puedes donar la cantidad que quieras a través de mi página en Paypal.me, si en la nota indicas porque donas y porque no coincides con la cantidad indicada, me ayudaras a entender mejor que creaciones pueden ser de mayor valor para vosotros, y tratare de crear mas de ese tipo (aunque en esencia escribo y creo lo que siento en cada momento). Gracias de todo corazón.

Por si te lo preguntas, la intención es dedicar este dinero a lo indicado, pagar servidor, dominios, servicios online y en su caso software y/o formación para poder seguir desarrollando juegos cada vez mejores, escribiendo artículos y compartiendo podcasts.

Si por un casual de repente resulta que donáis millones de euros, el orden de mi lista de deseos comienza por pagarme el poder ir a varios eventos retro a lo largo del año, e incluso en un futuro ideal montar un Museo Físico en torno al mundo de la retroinformática y el videojuego. Los sueños, sueños son ?