Tutorial de ZX Basic + Fourspriter #11: Un mapa

Manejar el Mappy ya sabemos (o deberíamos saber), pero antes de ponerse a lo loco hay que pensar varias cosas. Principalmente el tamaño de nuestro mapa en pantallas y el tamaño de cada pantalla en tiles. Esto es importante porque luego echarse atrás y cambiar cosas es un coñazo.

Nosotros para probar vamos a hacer un mapa en el que cada pantalla sea cuadrada, de 12×12 tiles, y todas formen un rectángulo de 6×5 pantallas, en total 30. Esto, a lo basto, ocupará 12x12x6x5 = 4320, 144 bytes por pantalla. Esto es muy comprimible del mil formas, pero por ahora vamos a pasar de estos temas, y vamos a ir poco a poco con un mapa normal sin comprimir ni gaitas.

Pues nada, abrimos mappy, creamos un nuevo mapa con las dimensiones que queramos (para mi ejemplo, de tiles de 16×16 y con 12×6=72 tiles de ancho y 12×5=60 tiles de alto), cargamos nuestro tileset, y nos ponemos manos a la obra con nuestro mapita (no olviden activar las lineas azulicas que te marcan cuando acaba una pantalla con dividers -> enable dividers y definiéndolos en su sitio: 16 * nº tiles; 192 y 192 en nuestro ejemplo). Cuando terminemos lo grabamos como mapa.fmp para conservar y editar y como mapa.map para importarlo. Todo esto lo metemos en una subcarpeta /map de nuestro proyecto.

Para empezar vamos a hacer un mapa de estos de vista cenital, que luego es más fácil programar el motor, y para empezar es más mejor.

Cuando ya esté petón petón, tendremos que convertirlo a código BASIC. Para ello usamos el mapcnv adaptado a ZX Basic que hice para el Suppafoam (del que ya hablaremos en este blog) y que viene muy bien para estas cosas, ya que saca código BASIC del tirón y no hay que andar convirtiendo mierda. Descargadlo de aquí y descomprimidlo en la carpeta /map.

Para usarlo, sólo tendremos que pasarle como parámetros el archivo mapa.map que hemos exportado con Mappy, las dimensiones del mapa en pantallas, las dimensiones de las pantallas en tiles, y si el mapa es packed. Nuestro mapa no será packed, de hecho ni siquiera sabemos qué carajo es eso, así que nos vale con:

mapcnvZXB.exe mapa.map 6 5 12 12

Si todo va bien, tras un misterioso proceso, tendremos un mapa.bas generado. Ese mapa.bas hay que llevárselo a /dev. Y en el próximo capítulo veremos como pintar las pantallas del mapa (aunque es algo bastante trivial).

5 Responses to Tutorial de ZX Basic + Fourspriter #11: Un mapa

  1. josepzin says:

    ¿Ya hay un mapa?? :O

    Me huelo que este tutorial lo está haciendo uno de los monos esclavo de los mojones…

  2. na_th_an says:

    ¡Esto avanza rápido! Aunque ahora habrá parón, que me voy de mini-vacas.

  3. nitrofurano says:

    would be awesome if each step could have ready snippets to be tested (for lazy people like me… ;p ) – links from pastebin.com would be awesome! 🙂 – thanks (specially, for this awesome, and missing, tutorial initiative) and cheers! (btw, there in the zxbasic forum i posted something about ulaplus, be welcome using and improving! 🙂 )

  4. na_th_an says:

    When the advance is minimal I tend not to include a download – everything is included in the next chapter. This one, for example: the .MAP and .FMP files are in the next download.

    Anyhow, from now on, I think all chapters have their own RAR file 😉

Deja una respuesta

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. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: