Vamos que nos vamos:
Un poco de todo en el vídeo, me ha tomado tiempo añadir cada cosa, al final es más escribirlo de forma que no lastre a la consola a la larga, y todas las nuevas piezas son importantes:
HUD rediseñado- Muestra expresiones al recibir daño, la cara cambia según el grado de intensidad del dolor (casi me olvido en el vídeo, así que me he dejado dar al final)
- Tanques de energía: 10 coleccionables
- Poder elemental: Se puede elegir distinto tipo de tiro, en el vídeo es la bala convencional con upgrade (en aspersor más gorda)
- Es un sprite flotante, los tiles interiores se escriben a mano, en cascada para consumir 0, primero se actualiza el contador, si baja de 0 actualiza el tanque en el siguiente frame, y por último se deja la expresión de la cara
Nuevos movimientos No todos los movimientos vendrán de inicio, aquí se muestran unos cuantos desbloqueables:
- Doble salto, se puede combinar con el dash, deslizarse por una pared no devuelve el salto consumido
- Dash, se puede hacer tanto en el aire como en el suelo, además de ir más rápido protege a Nira de los ataques cuerpo a cuerpo, en el aire solo se puede hacer una vez, usar AIM en el aire consume el uso de dash
- Segada, solo al agacharse (el buffer de salto omite) o quedarse atrapada en paredes, ataca en el cuerpo a cuerpo
- El modo AIM hace brillar el traje momentáneamente (para indicar que hemos entrado al modo)
Efecto de rastro- El dash crea un efecto de 5 copias anteriores, pero no malgasta 5 sprites, va rotando a cada frame una sola copia, es un poco wip y lo más seguro es que lo mejore, bueno como todo, siempre estoy tocando todo
Ari (el bot chiquitín)- Tiene expresiones, cuando Nira recibe daño se asusta, difícil de ver en el vídeo
- Tiene un disparo auxiliar de auto apuntado (desbloqueable)
Enemigos - El motor maneja 30 enemigos por sala, lo encontré suficiente para un Metroidvania, además, tienen capacidad de reciclaje, se puede volver a lanzar el enemigo bajo otra forma, sin consumir slot
- Los 30 enemigos son 100% operativos, tienen tabla completa en memoria, por ejemplo la babosa podría seguir trepando por el escenario aunque no la veas y alcanzarte desde otra punta, el motor sin embargo puede decidir que enemigos enciende o apaga fuera de pantalla, según el consumo de CPU
- 12 enemigos simultáneos en pantalla, es un límite de control, por diseño normalmente siempre estará todo medido, lo cual no quiere decir que el número 13 desaparezca, se coordinarán en movimiento de pantalla para no aparecer
- Se muestran Lesma (babosa) y Cherry Bomb (la bola azúl)
IALesma:
- Reacciona por cercanía, sigue a la prota como un perrito, su visión no le permite ver a través de paredes
- Trepa por las paredes, pero NO le gustan las diagonales, a nadie le gustan las diagonales, se gira al toparse con paredes que no entiende, pero no se gira si tiene la prota a la espalda
- Se deja caer desde el techo si te tiene a tiro
- La inteligencia va más rápido que Lesma, se le verá cometer errores, meterse en cintas deslizadoras y similares, o como uso de peso para activar botones
Cherry bomb:
- Si no le molestas no hace nada, normalmente vuela en modo "reposo", hasta que te acercas demasiado
- Una vez activado vuela aleatoriamente por la pantalla
- Si recibe daño sabe como contraatacar
- Se puede coordinar con otros de su tipo para barrer la pantalla (se ve en el vídeo)
Colisiones
- El control de todas las colisiones lo llevan los enemigos, son ellos el elemento hostil, las cajas de colisión son a nivel de Beat em up (x,y,width,height), diferentes tipos de caja por movimiento.
- "Pausa de impacto", otro elemento BTU, en los ataques cuerpo a cuerpo la protagonista frena en cada impacto
- Recovery, mientras que las balas no tienen ningún tipo de recuperación, y el enemigo puede tragárselas todas, los ataques cuerpo a cuerpo si tienen un mínimo de tiempo
ExplosionesMe gustan y no por el nick, ahora mismo "están implementadas", pero la idea es crear explosiones de múltiples sprites:
- Hay diferentes tipos, Cherry tiene 3: única, repetida, spray hacia arriba
- Dependiendo de la ocurrencia y del tamaño se suelen cargar enteras en VRAM, o marcar una como maestra para todas, si no importa el tiempo de animación
VRAMSegún la configuración de los planos de scroll la zona alta de la VRAM se puebla de formas distintas, la SGDK solo establece como zona segura hasta el fin de la fuente de texto, antes del buffer interno del scroll (plano A,B, HLine), la penúltima por la derecha es el SAT (tabla de atributos de sprites) y engaña, ya que es incremental según el número de sprites en pantalla.

En el juego se reemplaza todo aquello que no sirve dentro de la fuente (sin perder su funcionalidad), como meter las gotas de agua, los disparos y algunas explosiones recurrentes.
Mientras se usan los huecos libres de la zona alta. (no es nada raro, la mayoría de juegos comerciales lo hace)
Para el vídeo de arriba hay VRAM de sobra, pero es bueno empezar con un esquema claro, y con tanta VRAM libre en bloque continuo como sea posible.
--
Más cosas pronto o si
DJ Garrote se anima con algún vídeo nuevo