Mapas y sets gráficos en 128K

For all things Churrera. ¿Estás haciendo un juego? ¿quieres proponer un cambio? ¿tienes alguna duda? ¡Cuéntanoslo!

Moderador: na_th_an

Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Mapas y sets gráficos en 128K

Mensajepor radastan » Mié, 15 Ene 2014, 08:47

Vamos a ver, necesito confirmación de esto.

En 128K la churrera puede almacenar mapas de fases en memoria alta y pasarlos a la memoria de trabajo (los 64K que ve el Z80). ¿No sería más lógico que el mapa fuese simplemente más grande y estuviese almacenado íntegramente en memoria alta y pasar sólo la pantalla que vamos a usar a la baja?

De esta forma se simplifica el motor, digo yo, y encima tenemos la libertad de hacer un mapa más complejo y tenemos más memoria para el motor (y para hacer más cosillas).

¿Es una locura lo que digo, estoy equivocado?

Es para dimensionar lo que puedo o no puedo hacer.

Por otro lado necesito saber como tener varios sets gráficos en 128K, y si es posible tener los sets que no estoy utilizando en memoria alta al igual que la idea anterior.
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Mapas y sets gráficos en 128K

Mensajepor na_th_an » Mié, 15 Ene 2014, 10:19

Léete whatsnew.txt de la versión 3.99.3 de la churrera para saber el soporte que se da "de fábrica" (que es el mismo que se emplea en Goku Mal).

En principio está preparada para cargar niveles completos porque el soporte está orientado a tener muchas fases diferentes (fase = binario con mapa + cerrojos + hotspots + enemigos + tileset + spriteset + comportamientos) de características similares, porque esto era lo que necesitábamos para Goku Mal y por tanto fue lo que implementamos. Para nuestro proyecto actual, por ejemplo, ya no nos valía y lo hemos cambiado. El tema es usar la memoria extra como mejor convenga dependiendo del proyecto que tengamos entre manos. No hay un "mejor caso general", y menos cuando hablamos de desarrollos para máquinas tan limitadas.

Lo que tú propones claro que se puede hacer, pero tendrías que hacértelo tú. Podrías tener un mapa enorme y copiarte cada pantalla a un buffer antes de dibujarla, enemigos y hotspots incluidos.

También tendrías que idear la forma de decirle al motor que tiene que sustituir el set de tiles, que sólo tendrías que descomprimir especificando "tileset" como la dirección de destino. Tienes que acordarte además de sustituir el array de comportamientos. Lo mismo puedes hacer con los sprites, si quieres. En el engine hay un unpack que es capaz de tomar el binario fuente de otra página de RAM, además de un gestor de recursos y una aplicación "bibliotecario" que te ayuda a organizarlos. Todo en whatsnew.txt (aunque, lamentablemente, algo escueto).

De todos modos, creo que es mucho más sencillo que dividas tu juego en mapas más pequeños y que vayas saltando de uno a otro según se accede a una parte u otra del mapa general. Es mucho más fácil de gestionar y te ahorrará muchos quebraderos de cabeza. Si divides todo en secciones de, por ejemplo, 20 pantallas (que además no tienen por qué tener la misma disposición, puedes tener 5x4, 2x10, 20x1...) y las conectas haciendo las modificaciones pertinentes al motor (como sugería yo hace poco en este mismo foro, por ejemplo) apenas vas a tener que programar.
Como diría Rorshach: "Urm..."
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Mapas y sets gráficos en 128K

Mensajepor radastan » Mié, 15 Ene 2014, 10:57

Ok, es decir:

- Divido el mapa por zonas y salto entre ellas (importante).
- Los sets gráficos es la únic aparte que tendré que customizar.

Por cierto, entonces tendré que asignar un set gráfico a cada mapa, así puedo hacer uno para todas las habitaciones interiores (la puerta a otro mapa sería por script y no estaría en el borde de la pantalla).

Esto empieza a coger sentido, es que tengo que ver si lo que tengo en la cabeza es viable antes de lanzarme a lo loco.

Mola, porque se me abre la posibilidad de tener por script un barquito que aparezca cuando se pague el mismo y que al subirte aparezcas en una isla, por ejemplo.

Lo que si tendré que currarme es el sistema de compra de objetos. Lo que haré será tocar los parámetros de velocidad de movimiento, potencia de fuego, etc, con dichos objetos. El inventario tendré que simplificarlo para que no sea un desmadre.
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Mapas y sets gráficos en 128K

Mensajepor na_th_an » Mié, 15 Ene 2014, 11:05

Si usas el sistema de fases que trae Goku Mal (y que viene en la Churrera 3.99.3) no tendrás que hacer nada, el set gráfico completo viene incluido en la fase (tiles y sprites, incluso la fuente).

El tema del scripting está un poco más verde en esta versión, ya que hay un script "maestro" para el juego. Para suplir la carencia, en esta versión puedes hacer que una cláusula se ejecute o no comprobando en qué fase estás con IF LEVEL = x. Por ejemplo, para unos comandos que se ejecuten al entrar en la pantalla 4 del nivel 3, tendrás que poner

$this->bbcode_second_pass_code('', 'ENTERING SCREEN 4
IF LEVEL = 3
...
')

Como Goku Mal no necesitaba scripting la verdad es que el soporte está bastante verde en esta versión, pero es perfectamente usable.

Las tiendas y los diálogos los puedes integrar en el script usando extern.h y el comando EXTERN n del script.
Como diría Rorshach: "Urm..."
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Mapas y sets gráficos en 128K

Mensajepor radastan » Mié, 15 Ene 2014, 11:31

Perfecto entonces.

Una cosa, ¿merece la pena quitar todo el código que no sea de vista genital? es decir, ¿ahorraría memoria si quitara la vista lateral del código?
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Mapas y sets gráficos en 128K

Mensajepor na_th_an » Mié, 15 Ene 2014, 11:33

No hace falta que quites nada, ya se encarga de quitarlo el compilador con los #define de config.h
Como diría Rorshach: "Urm..."
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Mapas y sets gráficos en 128K

Mensajepor radastan » Mié, 15 Ene 2014, 11:52

Pues nada, a diseñar el mapeado y a partir de ahí que sea lo que tenga que ser. Lo suyo es hacer un juego de vista genital con un mapa flexible como el que tengo pensado e ir metiendo modificaciones hasta que la memoria me diga "hasta aquí".

Muchísimas gracias por su atención.
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Mapas y sets gráficos en 128K

Mensajepor na_th_an » Mié, 15 Ene 2014, 11:58

Lo bueno de usar los 128K es que las pantallas comprimidas (título/marco y final) van en la RAM extra y eso significa mucho más espacio para trabajar.
Como diría Rorshach: "Urm..."
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Mapas y sets gráficos en 128K

Mensajepor radastan » Mié, 15 Ene 2014, 12:26

Como esto salga bien ya no se que más puedo hacer en la churrera. :lol:
Avatar de Usuario
angel
Mensajes: 23213
Registrado: Vie, 09 Ene 2009, 13:04
Ubicación: Torreznolandia
Contactar:

Mapas y sets gráficos en 128K

Mensajepor angel » Mié, 15 Ene 2014, 12:28

Yo solo te pido que te curres bien la historia. Hazla atractiva, que invite a seguir, plantea los puzzles, que sea coherente.

En un juego de este tipo, lo de menos es lo técnico. Lo más importante es que sea divertido!
(_\_) (_|_) (_/_) (_|_) ILLO KE HEHEHEHEHEHEEEHEHEHEH!

¡Activa tu rainbow pechónico!

Volver a “La Churrera”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados