Página 1 de 1

Colocador y mapeador

Publicado: Vie, 28 Nov 2014, 11:04
por Gocho
Pregunta.

¿El Colocador y el Mapeador cambian en algo?
Porque si no, se puede seguir usando Tiled y los conversores de Antonio Villena. Pero si la cosa varía mucho o nos olvidamos de ellas o se modifican los conversores.

Para hacer 128KB en linux habrá que compilar sus utilidades también...

Re: Sobre MK2

Publicado: Vie, 28 Nov 2014, 23:02
por na_th_an
Sí y no. Cambia cómo se usan los datos desde el juego. Churrera usaba archivos .h con los datos metidos en código, MK2 utiliza directamente los mismos datos pero en binario, para que sea más sencillo construir juegos multi-nivel para 128K y cosas así.

Entre las nuevas utilidades, están map2bin y ene2bin, que cogen, respectivamente, archivos .map de mappy y .ene del colocador y generan un binario directamente utilizable por el motor.

Si queréis os hago un paquete con los fuentes de todas las utilidades de conversión.

Otra cosa que habría que tener en cuenta es que, aunque puede usarse el antiguo motor de enemigos, ahora hay uno nuevo que permite combinar caracteristicas: cualquier motor de movimiento con cualquier sprite y elegir si el enemigo dispara o no. Eso significa que el byte del tipo de enemigo ahora codifica muchas más cosas.

De whatsnew.txt...
$this->bbcode_second_pass_code('', 'El módulo nuevo de enemigos.
----------------------------

Para usarlo, asegúrate de comentar #define USE_OLD_ENEMS.

Ahora los enemigos son mucho más flexibles. Cada uno define varias cosas:

- Qué sprite usa, de 0 a 3.
- Qué tipo de movimiento lleva: lineal, volador...
- Si dispara o no.

Además está preparado para que sea muy fácil meter más comportamientos.

Todo se especifica en el tipo de enemigo, que se divide en varios campos
a nivel de bits:

76543210
XBBBBFSS

Donde:

- X está reservado para marcar si un enemigo está muelto.
- BBBB es el tipo de movimiento. Por ahora hay implementados estos:

0001 (1) - lineal de ida y vuelta, como siempre.
0010 (2) - volador. Como los fantys tipo 6.
0011 (3) - perseguidor. Los coñazo tipo 7 de siempre.
1000 (8) - plataforma móvil. Como "1" pero plataforma móvil.

Ojete! Si usas tipo 2, tienes que activar ENABLE_FLYING_ENEMIES. Si
usas tipo 3, activa ENABLE_PURSUE_ENEMIES.

- F es si dispara (1) o no (0). Si lo activas para algún enemigo,
acuérdate de que tienes que activar ENABLE_SHOOTERS y configurar MAX_COCOS
y otras cosas.

- SS es el número de sprite, según spriteset, de 0 a 3 (00, 01, 10, 11).

El "tipo" de enemigo se calcula, por tanto, usando esta fórmula tonter:

S + 4 * F + 8 * B, donde S es el sprite, F si dispara, y B el comportamiento

Para colocarlos puedes calcular tú el valor del tipo de enemigo usando
la fórmula de arriba (es binario) o usar el Colocador MK2 que hay
en /enems, donde puedes poner los valores por separado. Lo que te pete.')

Re: Sobre MK2

Publicado: Jue, 04 Dic 2014, 11:07
por Gocho
Vamos, que cambia y no se puede usar tal cual, porque el conversor de tiled pasa directamente a .h
No recuerdo si había un tiled2map habrá que mirarlo, pero los enemigos tocará modificarlo o usar USE_OLD_ENEMS

Gracias monstruo.

Re: Sobre MK2

Publicado: Lun, 22 Dic 2014, 23:14
por Cthonian Godkiller
Sois la milk ... :twisted: :twisted: