MetsuOS

Construyendo la plena inclusión a través del videojuego

Tutorial de AGD 2018 Capítulo 14 - Conectando panallas entre si ⚫①

Varias pantallas de JBA interconectadas

En un capítulo anterior, estuvimos viendo como indicar a AGD el rol de cada tile , creando suelos, plataformas y zonas mortales. En esta ocasión vamos a interconectar pantallas en las cuatro direcciones.

AGD admite hacer un juego en el que "pases pantallas" a lo Bubble Booble o Snow Bros, y eso lo comentaremos cuando empecemos a hacer juegos de otros tipos, de hecho cuando termine publique y posteriormente os comente como está hecho C5 Juanje's Revenge mi siguiente juego y que va con un retraso monumental, pero que quizá continuaré como parte del Tutorial en el futuro.

Si, ya sé, ya sé, iba a salir en 2018 xD, no voy a entrar a explicar la dificultad creciente de nuestras vidas según envejecemos, tenemos que cuidar hijos, sobrinos y padres, y todo lo que supone la vida adulta. 

Solo diré que tengo previsto retomarlo, a pesar de que en su dia perdí la versión de desarrollo que estaba como al 80% de completarse y respiraré hondo para rehacerlo.

Soy el mapa, el mapa, el mapa

Lo primero, antes de hacer que nuestro protagonista recorra las pantallas, es configurar el mapa, ya sabéis como funciona, lo que no sé si os comenté en su momento es que podéis indicar en qué pantalla debe comenzar el protagonista seleccionando una de las pantallas del mapa y pulsando X.

Editor de Mapas con la pantalla de la cascada seleccionada

En la imagen anterior podéis apreciar el bloque de pantallas 00 - 01 en la fila superior y 07-02 en la inferior, que corresponden con las pantallas que se ven en la imagen que encabeza este capítulo.

Un detalle obvio, además de crear e insertar las pantallas en el mapa, las aberturas y paredes entre ellas deben ser coherentes. Por cierto, aquí podeis consultar el mapa al completo 🌐🟡③.

Engarzando pantallas

Como decía , las aberturas deben ser coherentes si hay hueco para pasar hacia la derecha de la pantalla 1 a la 2 a determinada altura, debe existir el hueco equivalente en la parte izquierda de la 2 para poder regresar, a no ser que exista algún motivo en la mecánica o el argumento por el que no deba ser de este modo.

Lo mismo sucede con las partes superior e inferior de las pantallas que se comuniquen a través del "suelo" y "techo", el hueco debe ser coherente, y estar indicado, salvo en los casos en que - como sucede por ejemplo con el acceso a las pantallas de las nubes - se quiera "mantener en secreto" para darle algo de emoción al asunto en determinadas zonas del mapeado. Cuestión de imaginación.

Recordemos que si el personaje supera el margen izquierdo aparecerá en el derecho y lo mismo sucede con arriba y abajo, para dotar de coherencia al mapa, es necesario limitar con paredes, suelos o techos el avance del personaje para que no cambiemos de pantalla donde no se debe.

En las pantallas en que "el cielo es el límite", hay por ejemplo bloques de tipo pared con aspecto de cielo, para evitar este problema en aquellos lugares donde el salto máximo supera el margen de la pantalla.

El mecanismo del cambio de pantalla

Antes de discutir el código en sí, me gustaría explicar como logramos el efecto de "cambiar de pantalla" de modo que el jugador perciba continuidad.

En esencia, cuando cambiamos de pantalla con SCREENLEFT o SCREENRIGHT por ejemplo, lo único ue sucede es que desaparecen los sprites de la pantalla actual, se cambia el escenario al correspondiente según el mapa y se ponen en pantalla los sprites de la nueva.

Quizá sea algo decepcionante, pero lo único que sucede es que "cambiamos el escenario", cuan titiriteros que cambian el fondo para mostrar que caperucita está en el bosque.

Pero claro está queda nuestro protagonista, si sólo cambiamos el fondo, resultará que el personaje quedará situado en una posición incorrecta, es por ello que cuando vamos a la pantalla de la derecha, además de cambiar el fondo, movemos el personaje al lado que le corresponde en la pantalla destino. Todo sucede tan deprisa que para el jugador el muñequito ha ido andando a otra pantalla, pero, en realidad, es como un escenario teatral. X metros cuadrados y ya xD.

Antes de ver código, arranquen el juego y cambien de pantalla ahora que saben lo que ocurre realmente y fijense en lo que sucede realmente.

El Código "Mágico"

Entre los tipos de tiles y esto, estoy destrozando vuestro recuerdo de la infancia, resulta que todo es una obra de teatro bien sincronizada. No hay motivo para entristecerse, ahora que empezáis a vislumbrar como funciona, podreis apreciar aún más el trabajazo de los desarrolladores de la época, y ellos no tenían ni internet, ni AGD

Vamos al lío, lo primero, tengamos en cuenta que los pixeles en AGD se cuentan con un sistema de coordenadas cartesianas cuyo punto de origen es el pixel superior izquierdo de la pantalla.

Aquí va el código, no está todo el del evento de movimiento del jugador, sólo las partes relevantes.

...
        IF Y > 167
          SCREENRIGHT
          LET Y = 6
          EXIT
        ELSE
        ...
        IF Y < 8
          SCREENLEFT
          LET Y = 168
          EXIT
        ELSE
        ...

Es el mísmo código que vimos cuando movíamos al protagonista de nuestro juego por primera vez, solo que ahora somos más conscientes de lo que sucede en realidad.

En esencia cuando movemos a la derecha, y se supera el pixel 168 pasamos a la pantalla de la derecha (el proceso del fondo y los sprites lo realiza AGD, sólo hemos de decirle que pantallas hay y como están situadas, en el Mapa y ajustamos la posición del protagonista.

Todo lo que sube baja, y viceversa

¿Que pasa con arriba y abajo?, aunque el código de tipo Manic Miner no lo contempla, veamos como gestionar esto:

...
        IF KEY 3
          JUMP
        ENDIF
        ...
        IF X <= 16
          SCREENUP
          LET X = 128
        ENDIF
        ...
        FALL
        IF X > 128
          SCREENDOWN
          LET X = 17
        ENDIF
        ...

Básicamente integramos las comprobaciones para el cambio arriba y abajo en el flujo que controla el salto y la caida, de este modo si "nos dejamos caer" bajaremos a la pantalla inferior y si saltamos por encima del límite de la pantalla, cambiaremos a la superior.

¡Cuidado! cuando diseñemos el mapa tengamos en cuenta que para subir hemos de poder saltar y caer en un área sólida por encima del límite inferior de la pantalla a la que accedemos mediante el salto.

Antes de programarlo en sus proyectos, prueben a cambiar de pantalla arriba y abajo en JBA para observar el funcionamiento del proceso.

En el próximo capítulo trataremos la configuración del salto y las diferentes posibilidades narrativas que este nos ofrece, hasta entonces ¡no olvidéis practicar, practicar y practicar!.

Y ahora que?

Referencias Bibliográficas

One More Thing

Un escenario de retrocomputación del siglo 24

¡Desbloquea el poder de MetsuOS y descubre que la privacidad y la seguridad son la clave para desencadenar tu verdadero potencial en línea!

Contenido registrado en Safe Creative

Logo Safe Creative
¡Usa el código de promocional 7ZYM4Z y ahorrate unos eurillos en tu suscripcion de Safe Creative!

MetsuOS Needs You!

Apoyanos en este proyecto difundiendolo en tus redes, o mejor, haznos una donación a la cuenta paypal para poder dedicar más tiempo y recursos a el. No olvides comentarnos que parete te interesa más junto con tu donación.

En este momento, además de mantener los servicios, estoy centrado en crear la siguiente iteración del software que me permite hacer todo esto y creando una biblioteca personal física para poder contrastar contenido.

Sobre el sistema de validez de un contenido en MetsuOS

Empezando a incorporar los niveles de validación de un contenido (también llamada sabiduría o niveles de conocimiento) ⚫🔴 🟡 🟢 🔵⚪ ¿Qué són?

Sobre la categorización de los tipos de conocimiento

La Metsukeología (de Metsuke vision global y logos conocimiento) es la ciencia que estudia el conocimiento como un conjunto potencial de conocimiento del que podemos obtener, procesar o percibir partes concretas dentro de un marco contextual específico, y cuyo contexto general real está muy por encima de lo que somos capaces, como especie, de percibir, procesar e integrar de forma completa (definición en progreso).

La Metsucología (de Metsu aniquilación - en este contexto en forma de colapso - , logos conocimiento) es la ciencia que estudia como extraemos verdades percibidas - colapsadas - como conocimiento desde nuestra perspectiva real (tanto epistemológico como gnoseológico) al tomar una parte específica del conocimiento metsukeológico potencial enmarcado en un contexto concreto, obligando a colapsar el conocimiento potencial en conocimiento específico (definición en progreso).

Mas sobre el contexto

DISCLAIMER: Mi consideración de anticientífico respecto al consenso científico es una hipotesis de trabajo propia, que supone que toda asignación de validez, incluso aquella derivada de la conclusión por acumulación de evidencia NO debe ser supeditada a debate, ni acuerdo, debe ser algo probabilistico sin intervención del ego humano. Podría estar equivocado y, en este punto, es donde se aplicaría entonces ese mismo consenso que ahora considero no valido (incluso dañino)

Existen indicadores para algunas cuestiones adicoinales como los siguientes:

Cuando hablamos de un contenido que incluye un texto que hace referencia a otro.

También aplicaremos el Sistema de fiabilidad de fuentes y credibilidad de contenidos de la OTAN 🔴②, este sistema incluye una valoración de la fiabilidad de la fuente de A a F (siendo A la de mayor fiabilidad) y una varloración de credibilidad del contenido de 1 a 6 (siendo 1 la mayor credibilidad).

En MetsuOS la agregaremos al final uniendo amos valores como si fuera una coordenada. Por ejemplo: ⚫①-D4 o 🟡③-B2. Esto ayudarña a contextualizar la información sobre la solidez del conocimiento al que se hace referencia en cada momento.

Hay que tener en cuenta que, cuando hay elementos subjetivos o parcialmente subjetivos, el punto de referencia seré yo mismo. Quizá más adelante pueda objetivizar esto más (seria lo deseable), pero en tanto no tenga herramientas que me lo permitan, debo ceñirme al principio de honestidar intelectual, y esperar que mis sesgos dañen lo menos posible la información (en parte este es el nudo gordiano que pretendo resolver, y por ello es dificil resolverlo a priori).

Así de forma resumida, podríamos decir que esta definición es nivel 🔴② (Rojo2 xD) ¿Crees que me dejo algo? Si es así por favor ayudame a mejorarlo contactándome a través de X (Twitter) en mi cuenta, @metsuke 🌐

Consulta la versión completa de la descripcion en ⚫🔴🟡🟢🔵⚪ (🔴②) Un poco más de detalle