Página 8 de 13

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Lun, 30 Dic 2013, 19:58
por na_th_an
Un pequeño inciso: esa modificación está integrada en el motor a partir de la versión 3.99.3, y se puede activar desde config.h.

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Lun, 30 Dic 2013, 20:54
por son_link
$this->bbcode_second_pass_quote('na_th_an', 'U')n pequeño inciso: esa modificación está integrada en el motor a partir de la versión 3.99.3, y se puede activar desde config.h.

Una idea estupenda :mrgreen:

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Lun, 30 Dic 2013, 23:27
por na_th_an
No tengo demasiado tiempo para explicar las cosas que hay nuevas, pero siempre incluyo un archivo whatsnew.txt o algo asín en el paquete donde se listan más o menos exhaustivamente. Echadle un ojete :)

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Mar, 31 Dic 2013, 10:58
por son_link
Acabo de detectar un bug en esa modificación, y es que cuando cojo un huevo me sale también que cogí una llave

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Mar, 31 Dic 2013, 12:48
por na_th_an
Eso está corregido ya en la rama oficial. Hay un break mal puesto. Hay que cambiar

$this->bbcode_second_pass_code('', '#else
player.objs ++;
peta_el_beeper (9);
break;
#endif')

por

$this->bbcode_second_pass_code('', '#else
player.objs ++;
peta_el_beeper (9);
#endif
break;')

Lo he corregido también en el hilo, por eso de que no haya información chunguer.

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Lun, 02 Jun 2014, 14:13
por D_Skywalk
Pregunto, revisando un mini-tutorial que le hago a un colega para la churrera usando tiled
¿no sería más sencillo que cada enemigo usara el mismo número de "name"?
¿no se distinguirían mejor?

Además eso permitiría usar para los enemigos extra la misma lógica, e incluso permitir darle un rango como hacemos con los enems :?

Un Saludo!

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Lun, 02 Jun 2014, 15:27
por antoniovillena
El problema vendría si hay 2 enemigos del mismo tipo en una misma pantalla. Al tener el mismo número en "name" no sabríamos distinguir cómo están emparejados. Quizás en un 90% de las veces podríamos aplicar la lógica para saber dicha correspondencia, pero esta lógica no es fácil de implementar y siempre habrá casos ambiguos indistinguibles.

Por eso empleé un autocontador para generar los "name" en los enemigos del tipo 1 al 4. En la práctica, si creas el mapa manualmente (sin el conversor Map2Tmx) lo mejor es dejar los name vacíos por defecto (para enemigos del tipo 1 al 4) y rellenarlos sólo de forma excepcional en los casos ambiguos. No obstante, si hay alguna ambigüedad con names vacíos se opta por emparejarlos por orden natural, vamos que la herramienta que pasa el fichero al juego no tiene ningún problema, sería más bien para indicar a terceras personas qué dos sprites se corresponden con el mismo enemigo.

Todo esto es aplicable a los enemigos del tipo 1 al 4, que son en los que es obligatorio mostrar 2 sprites de comienzo y fin del mismo. Los enemigos del 5 en adelante tienen otro tratamiento.

Pero ya te digo, no hay una forma "mejor" de hacer las interpretaciones de los atributos para codificar los enemigos. Yo he optado por un término medio entre claridad, simplicidad y facilidad para crear mapas a mano. Por supuesto se pueden conseguir soluciones que optimicen uno de estos 3 parámetros en detrimento de los otros dos. También hay que tener en cuenta los dos escenarios: la conversión de un mapa con Map2Tmx y el archivo .ene, y el rellenado manual desde cero.

De todas formas es complicado hablar en abstracto de estos temas, ¿por qué no te creas dos archivos TMX como ejemplo ilustrativo? Uno con la interpretación actual y otra con la que propones. Así ambos lo veremos más claro.

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Lun, 02 Jun 2014, 16:54
por D_Skywalk
Te paso un tmx por que como bien dices me explico fatal XD

En realidad tomas en cuenta sólo el name y da igual si usara el frame 1 o 2 del enemigo. Si te ayuda pues bien, pero no haría falta y quitando ese requisito se podrían colocar enemigos más allá del 4 igual que se hacen con los demás. La idea sería unificar el criterio...

Yo por ejemplo en justin usaba el tipo 8 para las plataformas y tenía (igual que los enemigos) una posición inicial y final. Y claro eso no funciona ahora :/

Se podría arreglar forzando una distancia máxima pero no se no me convence, además ahorraríamos memoria si todas se trataran por igual (como hice en justin).
A ver si el ejemplo ayuda a entenderlo :boots:

Update: Añado el mapa+enems de justin para que veas como lo hice con el colocador :)

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Lun, 02 Jun 2014, 17:42
por antoniovillena
Perfecto. Ya he visionado el mapa-antonio.tmx, le he añadido un tileset y spriteset para poder verlo porque no tenía. Tienes 2 pantallas, la segunda vacía de enemigos. En la primera tienes:

  • Un enemigo del tipo 7 en (2,2)
  • Un enemigo tipo 1 entre (7,2) y (7,8)
  • Un enemigo tipo 2 entre (9,8) y (14,8)
  • Un enemigo tipo 2 entre (10,8) y (13,8)

Como lo has generado por conversor Map2Tmx, las etiquetas name de enemigos del tipo 1 al 4 son autonuméricas, empezando por 101. Al no tener etiquetas type se asume que todos los enemigos van a la velocidad por defecto.

Debido al distinto tratamiento de los tipos 1 al 4 y del 5 en adelante, para el primer enemigo (tipo 7) no necesitamos darle una segunda posición y el tipo viene determinado por la etiqueta name. Como dices da igual el sprite que le pongas (por defecto el conversor le asigna el sprite 3), que el tipo viene forzado por name.

Para el resto de enemigos (tipo del 1 al 4) el tipo viene fijado por el sprite elegido (también del 1 al 4) y son necesarias dos posiciones por enemigo (posición de comienzo y posición de fin). Aquí los "name" serían autonuméricos para diferenciar los enemigos (por ejemplo en los 2 últimos casos hay ambigüedad). En un caso de rellenado manual podrías haber dejado todos los name vacíos, o bien opcionalmente ponerlos en caso de ambigüedad como antes.

$this->bbcode_second_pass_quote('', 'Y')o por ejemplo en justin usaba el tipo 8 para las plataformas y tenía (igual que los enemigos) una posición inicial y final. Y claro eso no funciona ahora :/


Evidentemente esto es incompatible con mi criterio puesto que estás usando 2 posiciones en un tipo mayor de 5. Yo asumí que estábamos empleando la Churrera sin modificar, donde las plataformas son del tipo 4 (lo que sí encaja con mi criterio).

Mándame un segundo .TMX que codifique los mismos enemigos según tu propuesta o dime claramente en qué consiste (mejor ambas cosas). Según entiendo del post anterior los enemigos de la derecha (esqueletos) tendrían todos name=2 por lo que serían indistinguibles los 2 enemigos pero lo mismo no me he enterado bien.

Re: Tiled como editor de mapas en GNU/Linux

Publicado: Lun, 02 Jun 2014, 18:07
por D_Skywalk
A lo mejor yo lo he entendido mal, pero en mi tiled el enemigo2 tienen el type puesto a 4 ¿es correcto?

Si te fijas he emparejado los names del enemigo2: 102(f1_9x8) - 102(f2_14x8), 103(f1_10x8) - 103(f2_13x8) y luego sus velocidades.
Igual para el enemigo1: 101(f1_7x2) - 101(f1_7x8) y el type vacío por lo tanto usa la velocidad 1, no?

Sobre el enemigo 7 de la esquina superior, lo bueno por ejemplo que tenía el colocador que igualmente podías darle posición de inicio y fin... y más específica que era esa herramienta para la churrera :roll:
Por eso digo de que los números sigan siendo correlativos pero que sean iguales para la misma "entidad", no se si me explico :cry:

Eso permitiría usarla como el colocador, para todo tipo de usos hasta los no previstos inicialmente :wan:

Update:
Esto sería compatible con dejar el nombre vacío, que el converter va cogiendolos en orden pero al menos ahora (si decides nombrarlos) un mismo enemigo comparte "name" que parece más lógico, no :?