Z88DK (curso Radastan) - Dudas Varias

Soporte técnico sobre los lanzamientos de MojonTwins y comentarios sobre los güegos. Ofrecemos soporte técnico con Fourspriter, te ayudamos con ZX Basic o Z88DK, te damos pistas some cómo saltarse un bicho y cosas así.

Moderador: na_th_an

Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Z88DK - Borrar "consola" - Printf

Mensajepor na_th_an » Vie, 16 May 2014, 10:56

Como mejor te pete :D
Como diría Rorshach: "Urm..."
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: Z88DK (curso Radastan) - Dudas Varias

Mensajepor antoniovillena » Vie, 16 May 2014, 12:28

Está muy chulo, con poco más creo que te podrías currar un juego. A los mapas puedes aplicarles compresión, pero eso es algo que sería más recomendable para más adelante, en principio usa un array de WxH bytes por pantalla (a tile por byte).

Y otra cosilla, en vez de borrar el fondo de detrás del personaje lo podrías enmascarar. Como siempre pasas por los mismos tiles y son sencillos lo mejor (más eficiente) es que uses una máscara XOR. No sólo es un método muy rápido de pintado de sprites, lo mejor de todo es que puedes usar exactamente el mismo método para borrar el sprite (y mucho más rápido que repintar los tiles de detrás).
Avatar de Usuario
Hark0
Mensajes: 96
Registrado: Mar, 28 Ene 2014, 07:42
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Z88DK (curso Radastan) - Dudas Varias

Mensajepor Hark0 » Vie, 16 May 2014, 12:39

antoniovillena escribió:Está muy chulo, con poco más creo que te podrías currar un juego. A los mapas puedes aplicarles compresión, pero eso es algo que sería más recomendable para más adelante, en principio usa un array de WxH bytes por pantalla (a tile por byte).

Y otra cosilla, en vez de borrar el fondo de detrás del personaje lo podrías enmascarar. Como siempre pasas por los mismos tiles y son sencillos lo mejor (más eficiente) es que uses una máscara XOR. No sólo es un método muy rápido de pintado de sprites, lo mejor de todo es que puedes usar exactamente el mismo método para borrar el sprite (y mucho más rápido que repintar los tiles de detrás).


Por partes:

El tema de los mapas es en lo que estoy "pensando"... me gustaria (ejem, bendita RAM) poder tener 2 copias del mismo.

Uno el mapa original, y luego el mapa "actualizado en tiempo real". Personalmente ODIO los juegos en los que al entrar en una sala por segunda vez y por arte de birlibirloque, resulta que todo está como al principio del juego (léase puertas, y enemigos que han resucitado...) si lo mato, LO MATO... entiendo que según la ram esto se puede hacer (o no)....


El tema de la máscara ya se lo pregunté a @Radastan, y la respuesta fué algo tipo "implementaré FASE en mi motor"... evidentemente si teneis por ahí la forma de añadir máscaras/ rutina de flip (espejo) a los tiles... me da un telele... (con permiso de Radastan, creador del curso... :P)

;)
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: Z88DK (curso Radastan) - Dudas Varias

Mensajepor antoniovillena » Vie, 16 May 2014, 13:49

Si lo vas a hacer con FASE lo mejor es usar el motor de tiles y mapas del propio engine. El mapa es fijo pero se pueden cambiar los tiles de la pantalla actual en tiempo real tan sólo cambiando los valores en array. Lo que tendrías que hacer es guardar las posiciones y los estados de las puertas de cada pantalla para que en cada cambio de pantalla "memoricen" su estado.
Avatar de Usuario
Hark0
Mensajes: 96
Registrado: Mar, 28 Ene 2014, 07:42
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Z88DK (curso Radastan) - Dudas Varias

Mensajepor Hark0 » Vie, 16 May 2014, 14:01

antoniovillena escribió:Si lo vas a hacer con FASE lo mejor es usar el motor de tiles y mapas del propio engine. El mapa es fijo pero se pueden cambiar los tiles de la pantalla actual en tiempo real tan sólo cambiando los valores en array. Lo que tendrías que hacer es guardar las posiciones y los estados de las puertas de cada pantalla para que en cada cambio de pantalla "memoricen" su estado.


Hombre... la idea es seguir el curso de Radastan... que para eso se lo está currando...

Pero ya que lo comentas... ¿puedo integrar FASE junto con "su" invento?

Sobre lo que comentas de guardar estados... estoy barajando dos opciones:

a) matriz completa del mapa. Inicialmente una copia y luego la voy modiificando. (Necesitaria espacio para 2 mapas enteros)
b) matriz sctrucutra con los items que se cambian....

hmmm
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: Z88DK (curso Radastan) - Dudas Varias

Mensajepor antoniovillena » Vie, 16 May 2014, 14:12

Hark0 escribió:Hombre... la idea es seguir el curso de Radastan... que para eso se lo está currando...

Pero ya que lo comentas... ¿puedo integrar FASE junto con "su" invento?


No hace falta, ya lo va a integrar él.[/quote]

Hark0 escribió:Sobre lo que comentas de guardar estados... estoy barajando dos opciones:

a) matriz completa del mapa. Inicialmente una copia y luego la voy modiificando. (Necesitaria espacio para 2 mapas enteros)
b) matriz sctrucutra con los items que se cambian....

hmmm


Lo que te decía es que FASE también se encarga (si quieres) de almacenar el mapa y pintar cada pantalla. Si lo haces con la opción a) el mapa te va a ocupar mucho más, no sólo el doble por tenerlo duplicado, sino 5 ó 6 veces más porque FASE lo almacena comprimido.

Lo óptimo sería la opción b) dejando a FASE que se encargue del mapeado, pero siempre puedes mejorarlo creándote tu propia rutina de mapeado con tu propio compresor de mapas. El límite de tiles de FASE es de 256 tiles, y puedes reutilizar los tiles coloreando los mismos con distintos colores o bien usando los mismos colores para distintos tiles.
Avatar de Usuario
Hark0
Mensajes: 96
Registrado: Mar, 28 Ene 2014, 07:42
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Z88DK (curso Radastan) - Dudas Varias

Mensajepor Hark0 » Vie, 16 May 2014, 16:23

Entiendo.... si te parece vamos a dejar que Radastan haga su parte... y ya me adapto a partir de ahí.

Gracias x la info... ;)
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Z88DK (curso Radastan) - Dudas Varias

Mensajepor radastan » Dom, 18 May 2014, 21:23

Harko, comprendo que una vez el potencial y que todo va como la seda quieras ir a por todas. No obstante te aconsejo que hagas un juego con lo que ya tienes, y ya irás usando cosas más potentes. Como comprenderás yo voy un poco más lento porque tengo mucho curro y vida familiar, no obstante si quieres saltar directamente a FASE tienes varios hilos en este mismo foro que te lo sirven en bandeja.

Yo voy a añadir FASE, pero antes van otras cosas.
Avatar de Usuario
Hark0
Mensajes: 96
Registrado: Mar, 28 Ene 2014, 07:42
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Z88DK (curso Radastan) - Dudas Varias

Mensajepor Hark0 » Lun, 19 May 2014, 07:11

radastan escribió:Harko, comprendo que una vez el potencial y que todo va como la seda quieras ir a por todas. No obstante te aconsejo que hagas un juego con lo que ya tienes, y ya irás usando cosas más potentes. Como comprenderás yo voy un poco más lento porque tengo mucho curro y vida familiar, no obstante si quieres saltar directamente a FASE tienes varios hilos en este mismo foro que te lo sirven en bandeja.

Yo voy a añadir FASE, pero antes van otras cosas.


Estoy de acuerdo, pero a medias... porque he empezado con tu motor y quiero seguir con él.

Necesito como agua de mayo para tu motor:
- Rutina random... (rnd x)
- Rutina para textos (print at)
- Rutina putsprite (8x8 px).

Nada más! ¿es posible un upgrade de motorzx.h con SOLO estas funcioncillas?

:P
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Z88DK (curso Radastan) - Dudas Varias

Mensajepor na_th_an » Lun, 19 May 2014, 07:54

Rutinas para imprimir tienes aquí por un tubo. Usa la que más te guste.

Lo básico es usar draw_fast, que a su vez necesita draw_char, que a su vez necesita los 768 bytes que hay definidos tras la etiqueta ._letters (la fuente con la que se imprime el texto, vaya), además de las variables ncx, ncy, ncc, ncn y los datos de line_buffer.
Adjuntos
printer.h
(11.22 KiB) Descargado 90 veces
Como diría Rorshach: "Urm..."

Volver a “Ayuda”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado