Isshokuta; 20160516

Ida de olla de salir de la zona de confort.

Target: CNROM a lo sumo, compo&cart compliant.

Idea: Juego de hostias sencillo rollo kung fu master / hokuto no ken pero con dos alturas. Aspecto sencillo. Scroll de avance con tiles de 32×32. El tema de “Hokuta” es porque es un Hokuto con una chica repartiendo. No es más que una tontería y se quedará como “codename” interno. Voy a ver si “hokuta” significa algo…

No, pero hay palabras parecidas. Podemos usar esto como título:

isshokuta いっしょくた 【 一緒くた 】 – medley; heterogenous mixture

Puede escribirse de las dos formas. La segunda parece más guay para un logo: 一緒 くた (issho kuta). Además, 一緒, escrito así, significa “juntos” (en plan ¿podemos ir juntos?, o ¿puedo ir contigo?).

一 = ichi, uno.
緒 = sho, principio. Pero también, pronunciado “o”, significa “tanga” (en realidad significa lazo, cuerda, trenza, nudo, atadura…).

Jojojo, me gustan estos dobles sentidos. Se queda.

~~

Tengo que adaptar mkts para supertiles+atributos de 32×32. Debe haber tres salidas:

  • binario con los patrones que se extraigan.
  • array con el mapeo de patrones -> metatiles.
  • array con los bytes de atributos correspondientes a cada metatile.

El conversor puede primero escanear los cuatro trozos de 16×16 para conmponer el byte de atributos, y luego operar normalmente como en un mapped. De hecho, podría incluso extender el modo “mapped” para que sacase esto como modo especial si detecta que el tamaño del metatile es de 4×4. Creo que será lo más limpio [como si eso importase algo, a estas alturas :-/].

Y ahora lo dejo descansar hasta nuevo aviso. A menos que me ponga hoy con la tontuna. Tengo el Ramiro en modo “terminado, probar, no ganas”.

~~

Me cago en mi puta calavera. Ya tengo el conversor, funciona como un tiro, y además exporta en orden de fila o de columna :*) Hacer una rutina de scroll con esto y un mapa será cosa de un momento de inspiración catódica. Son las 17:25, creo que me voy a casa… O no sé. Ya veré. Estoy un poco desanimado en general con esto.

Por cierto, va a ser realmente sencillo porque sólo hay que avanzar.

Sólo hay que componer la tira sacando la columna N-esima del tile, con N = 0-3, y al final añadir una cadena con 6 atributos. No sé si realmente ganaré algo si esto sólo lo hago únicamente cuando sea necesario, o lo hago continuamente, o distribuyo y pinto un atributo por update, o divido como mejor se me ocurra.

En total hay que escribir:

  • 4 tiras de 24 caracteres, con el overhead son 27 escrituras cada tira; total = 108
  • 6 atributos, a 3 bytes por atributo, total: 18.

Total de bytes para una tira COMPLETA = 126 bytes. No divide bien entre 4. Si me pongo un “goal” de 32 bytes por update, eso nos da para una tira y un atributo y cachito y tal. Nah, no es necesario.

Si pinto tira + atributos siempre me quedo en 27+18=45. Creo que da tiempo. Y si no, llevo aparte un contador para los atributos y los voy imprimiendo poco a poco.

Total, poco más hay que hacer en el tiempo de Vblank. Con que me de tiempo, me es suficiente.

También puedo dejar parte del array de update “fijo” y escribir en él directamente, en posiciones fijas. En ese caso:

HLN························HL0HL1HL2HL3HL4HL5
xx xxxxxxxxxxxxxxxxxxxxxxxx yy yy yy yy yy yy

Las ‘X’ son las que cambiarán, Las ‘Y’ cambiarían sólo cuando es necesario.

Otra cosa que puedo hacer es dividir el update en 5 pasos: atributos, 4 columnas. Con pintar 2 columnas “ahead” tengo suficiente.

0       89
XXXXXXXXYZ

X-> en pantalla
Y-> entrando
Z-> la que escribo.

Ideas, ideas. Puede hacerse de mil maneras.

~~

En casa, en un ratito, he escrito un conversor para los mapas que saca las cosas como las necesito, ni más ni menos. Creo que con esto y un bizcocho me puedo poner a escribir la rutina de scroll. Si consigo hacerla tan rápida que de tiempo en los primeros 32 rasters a ejecutarse, puedo meterla justo antes del split y ganar, pero no lo creo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s