editor de mapas

Страница 1/3
| 2 | 3

By mohai

Paladin (1007)

Аватар пользователя mohai

22-11-2020, 12:47

Hola.
Busco un editor de mapas que tenga mas o menos las siguientes opciones:

- Carga de un dibujo en formato estándar (BMP, GIF, JPG, PNG ...)
- Extraer los patrones (diseños) usados.
- Calcular el número de patrones diferentes usados, estadística de su uso
y hacer el mapa de patrones.
- Calcular las transiciones entre cada diseño, dependiendo
de la dirección y sentido del scroll (horizontal o vertical) y
basándose en el tamaño del patrón físico.
- Definición de píxel x paso.
- Simulación de movimiento de scroll con el paso definido y la ventana, e
información del número de transciciones a la vez en pantalla y número de
diseños usados en pantalla, con warnings de sobrepaso del número de patrones
o transiciones.
- Editor de "macropatrones" u objetos, a partir de un grupo de
patrones.
- Editor para modificar el mapa y colocar los objetos o simples diseños (8x8).
- Definición de unidad mínima para diseño en mapa
(4x4, 8x8, 16x16, 24x24, 8x16, etc), incluyendo formatos rectangulares.
- Opción de grabación de tokens a partir del tamaño de unidad de mapa.
- Poder grabar el mapa de patrones en varios formatos:
Datos para ensamblador, BASIC, RAW.
- Poder exportar los patrones a diferentes formatos
(Bloque VRAM BASIC MSX, DATA BASIC, DB ASM, RAW, etc).

Supongo que no existe una utilidad que reuna todas esas caracaterísticas. Tal vez debería usar varios programas que se complementen.
He mirado varios programas, pero no he encontrado el conjunto que haga todo lo que necesito y estoy planteándome hacer uno yo mismo.

La historia es que se me ha ocurrido hacer una rutina de scroll para MSX1 bastante complicada y necesito saber el estado del scroll en todo momento, y cómo se comportará, para no hacer trabajo en vano.

Для того, чтобы оставить комментарий, необходимо регистрация или !login

By jltursan

Prophet (2619)

Аватар пользователя jltursan

25-11-2020, 09:16

Si fuese sólo un editor de mapas te habría recomendado lo que todo el mundo, el Tiled; pero todo lo relacionado con MSX, obviamente, no viene de serie.

Ahora bien, según comentan en su documentación:

"Tiled can be extended with the use of JavaScript. Scripts can be used to implement custom map formats, custom actions and new tools. Scripts can also automate actions based on signals."

Lo que significa que si dominas el Javascript, igual se pueden hacer auténticas virguerías con el Tiled Smile

By mohai

Paladin (1007)

Аватар пользователя mohai

25-11-2020, 17:29

Gracias.

Si. He probado TIled, Magellan y he leído sobre otros editores.
Algunos tienen características interesantes, como poder usar grupos de patrones, conteo del uso de patrones o transiciones, pero aún así me faltan opciones.
La opción de hacer extensiones para Tiled la veo muy útil. Podría ser, pero me tendría que poner con Java y me da una pereza ... LOL!

Creo que al final tendré que hacer una aplicación para todo o parte de lo que necesito. Bueno, esto suele pasar cuando te pones con un proyecto.

By mohai

Paladin (1007)

Аватар пользователя mohai

25-11-2020, 18:23

Mi idea es hacer con una sola aplicación todo lo que necesito y de forma sencilla, me explico:
Que partiendo de unos gráficos en un archivo de formato standard, como BMP, PNG u otro, el programa sea capaz de extraer los patrones, que permita hacer objetos más grandes con los patrones y con los objetos y patrones, crear un mapa.
Estas opciones las tengo en TIled o Magellan, pero además necesito hacer estadísticas detalladas del uso de los patrones en cada momento.
Estoy trabajando en una rutina de scroll vertical prácticamente sin límites, pero necesito saber si los mapas con los que estoy trabajando, se ajustarán a la rutina o tendré que ajustar la rutina al mapa.

By jltursan

Prophet (2619)

Аватар пользователя jltursan

25-11-2020, 18:04

Lo del tema del scroll es lo más específico y probablemente lo más complicado Sad

El Tiled no sólo permite emplear Javascript, también soporta (o soportaba) Python y creo que Lua también.

By theNestruo

Champion (421)

Аватар пользователя theNestruo

25-11-2020, 19:24

@mohai: Habla si puedes con Santiago Ontañón, que creo que hizo ya algo parecido en XRacing, y con ¿Mortimer? (no recuerdo exactamente si era él) que estaba trabajando también en una herramienta para hacer scroll a partir de una imagen. No creo que sea exactamente lo que quieres hacer tú, pero igual hay partes que puedes reaprovechar o te pueden dar información.

Sé que buscas hacer todo en una única aplicación y sé que la solución que te voy a dar va justo en otra dirección... Pero los formatos de fichero de Tiled son bastante fáciles de procesar e igual te resulta muy fácil hacerte una herramientita de línea de comandos que lea el fichero y te de la información que necesitas o te haga la conversión al formato de salida que quieras. Yo básicamente trabajo así: toqueteo con Tiled y convierto por línea de comandos con mis herramientitas.

Por otro lado, no sé si he entendido bien lo que comentas en tu último post... En mis herramientas yo tengo una que, partiendo de un .pcx, te saca los patrones distintos y la tabla de nombres amoldada a esos patrones. Yo lo utilicé para secuencias animadas que compartían patrones entre diferentes fotogramas. O, partiendo de varios .pcx, utiliza el primero como tabla de patrones y genera tablas de nombres de los demás; no lo utilicé para nada público, pero me permitía generar mapas a partir de pantallazos.
Como digo, me parecería muy muy raro que se amoldara 100% a lo que necesitas, y el código fuente está regular tirando a mal... pero igual como punto de partida o para hacer unas primeras pruebas te puede valer.

By manolito74

Paragon (1293)

Аватар пользователя manolito74

25-11-2020, 21:38

theNestruo wrote:

@mohai: Habla si puedes con Santiago Ontañón, que creo que hizo ya algo parecido en XRacing, y con ¿Mortimer? (no recuerdo exactamente si era él) que estaba trabajando también en una herramienta para hacer scroll a partir de una imagen. No creo que sea exactamente lo que quieres hacer tú, pero igual hay partes que puedes reaprovechar o te pueden dar información.

Sé que buscas hacer todo en una única aplicación y sé que la solución que te voy a dar va justo en otra dirección... Pero los formatos de fichero de Tiled son bastante fáciles de procesar e igual te resulta muy fácil hacerte una herramientita de línea de comandos que lea el fichero y te de la información que necesitas o te haga la conversión al formato de salida que quieras. Yo básicamente trabajo así: toqueteo con Tiled y convierto por línea de comandos con mis herramientitas.

Madre de dios... a veces me pregunto si todos hablamos el mismo Idioma.... Lo digo por los tecnicismos usados, jajaja. Lo que está claro @theNestruo es que tas hecho un "mostruo"... ;-) ¡Vaya nivel técnico que tenéis algunos! ;-)

Saludetes. ;-)

Por otro lado, no sé si he entendido bien lo que comentas en tu último post... En mis herramientas yo tengo una que, partiendo de un .pcx, te saca los patrones distintos y la tabla de nombres amoldada a esos patrones. Yo lo utilicé para secuencias animadas que compartían patrones entre diferentes fotogramas. O, partiendo de varios .pcx, utiliza el primero como tabla de patrones y genera tablas de nombres de los demás; no lo utilicé para nada público, pero me permitía generar mapas a partir de pantallazos.
Como digo, me parecería muy muy raro que se amoldara 100% a lo que necesitas, y el código fuente está regular tirando a mal... pero igual como punto de partida o para hacer unas primeras pruebas te puede valer.

By manolito74

Paragon (1293)

Аватар пользователя manolito74

25-11-2020, 21:39

theNestruo wrote:

@mohai: Habla si puedes con Santiago Ontañón, que creo que hizo ya algo parecido en XRacing, y con ¿Mortimer? (no recuerdo exactamente si era él) que estaba trabajando también en una herramienta para hacer scroll a partir de una imagen. No creo que sea exactamente lo que quieres hacer tú, pero igual hay partes que puedes reaprovechar o te pueden dar información.

Sé que buscas hacer todo en una única aplicación y sé que la solución que te voy a dar va justo en otra dirección... Pero los formatos de fichero de Tiled son bastante fáciles de procesar e igual te resulta muy fácil hacerte una herramientita de línea de comandos que lea el fichero y te de la información que necesitas o te haga la conversión al formato de salida que quieras. Yo básicamente trabajo así: toqueteo con Tiled y convierto por línea de comandos con mis herramientitas.

Madre de dios... a veces me pregunto si todos hablamos el mismo Idioma.... Lo digo por los tecnicismos usados, jajaja. Lo que está claro @theNestruo es que tas hecho un "mostruo"... ;-) ¡Vaya nivel técnico que tenéis algunos! ;-)

Saludetes. ;-)

Por otro lado, no sé si he entendido bien lo que comentas en tu último post... En mis herramientas yo tengo una que, partiendo de un .pcx, te saca los patrones distintos y la tabla de nombres amoldada a esos patrones. Yo lo utilicé para secuencias animadas que compartían patrones entre diferentes fotogramas. O, partiendo de varios .pcx, utiliza el primero como tabla de patrones y genera tablas de nombres de los demás; no lo utilicé para nada público, pero me permitía generar mapas a partir de pantallazos.
Como digo, me parecería muy muy raro que se amoldara 100% a lo que necesitas, y el código fuente está regular tirando a mal... pero igual como punto de partida o para hacer unas primeras pruebas te puede valer.

By Juan Luis

Master (143)

Аватар пользователя Juan Luis

26-11-2020, 21:52

mohai wrote:

...
- Calcular las transiciones entre cada diseño, dependiendo
de la dirección y sentido del scroll (horizontal o vertical) y
basándose en el tamaño del patrón físico.
- Definición de píxel x paso.
- Simulación de movimiento de scroll con el paso definido y la ventana, e
información del número de transciciones a la vez en pantalla y número de
diseños usados en pantalla, con warnings de sobrepaso del número de patrones
o transiciones.
...
- Opción de grabación de tokens a partir del tamaño de unidad de mapa.

Mohai, ¿podrías explicar qué entiendes por "transiciones en pantalla", "paso definido" y "grabación de tokens"?

Me gustaría entender todos los detalles.

By mohai

Paladin (1007)

Аватар пользователя mohai

01-12-2020, 19:33

Gracias a todos por los consejos.
Teneis razón en lo de usar herramientas existentes y hacer conversores mínimos para las necesidades de cada uno.
Por supuesto que lo primero es centrarse en el proyecto en sí y no quedarse atascado en programas y rutinas accesorias.

Resulta que estoy reutilizando rutinas de otro proyecto que tengo a medio hacer y ya tengo hecho bastante del trabajo: Hasta ahora, el programa puede cargar varios formatos gráficos, extrae los patrones y verifica si son compatibles con el formato TMS.
Creo que voy a añadir las opciones justas para que genere un formato RAW u otro que me venga bien, además de hacer las estadísticas y simulación del scroll que necesito.
Puede que le añada en el futuro las opciones de edición que he comentado.

By mohai

Paladin (1007)

Аватар пользователя mohai

01-12-2020, 19:51

Juan Luis wrote:
mohai wrote:

...
- Calcular las transiciones entre cada diseño, dependiendo
de la dirección y sentido del scroll (horizontal o vertical) y
basándose en el tamaño del patrón físico.
- Definición de píxel x paso.
- Simulación de movimiento de scroll con el paso definido y la ventana, e
información del número de transciciones a la vez en pantalla y número de
diseños usados en pantalla, con warnings de sobrepaso del número de patrones
o transiciones.
...
- Opción de grabación de tokens a partir del tamaño de unidad de mapa.

Mohai, ¿podrías explicar qué entiendes por "transiciones en pantalla", "paso definido" y "grabación de tokens"?

Me gustaría entender todos los detalles.

Te comento la idea que tengo:
MI idea es que cada "tile" que compone el mapa sea solo un dibujo (un diseño), que no está asignado a un patrón fijo.
Yo llamo diseño a cada recorte de 8x8 del dibujo del mapa (se podría llamar carácter, patrón o tile, pero para distinguir conceptos, yo lo llamo diseño).
En mi rutina hay un conjunto (pool) de patrones físicos del VDP a usar y que, de manera dinámica, se van tomando y se les vá asignando cada "diseño". De esta manera, cuando un patrón del VDP no esté en pantalla, volverá al pool de patrones para volver a ser usado.
Los patrones en pantalla, para simular el movimiento del scroll van mostrando desde el "diseño" actual al que tienen encima (por ejemplo, para un scroll vertical), por lo que a cada patrón en pantalla se le asocian en realidad 2 diseños.
El paso de un diseño a otro es lo que llamo transición. Magellan es capaz de calcularlas, pero lo hace para todo el mapa. Yo necesito saberlo para cada línea de patrones.

El "paso definido" se refiere al número de píxeles por movimiento del scroll, vamos, si el scroll da saltos de 1 en 1 pixel, de 2 en 2 etc.

Los tokens se refieren a meta-patrones o meta-diseños.
Es lógico que un mapa tenga algún tipo de compresión, para que no ocupe mucha memoria.
También es normal definir objetos grandes, compuestos por varios patrones para formar partes del mapa o usar rectángulos de varios patrones para formar el mapa, por ejemplo de 2x2 patrones, 3x3, 4x4, etc.
A cada conjunto se le asignaría un "token" para grabar como datos en bruto del scroll. Luego, con una rutina intérprete, se podría dibujar el mapa en memoria RAM.

Страница 1/3
| 2 | 3