Página 2 de 10

Re: Z88DK - Borrar "consola" - Printf

Publicado: Vie, 16 May 2014, 10:56
por na_th_an
Como mejor te pete :D

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Vie, 16 May 2014, 12:28
por antoniovillena
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).

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Vie, 16 May 2014, 12:39
por Hark0
$this->bbcode_second_pass_quote('antoniovillena', 'E')stá 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)

;)

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Vie, 16 May 2014, 13:49
por antoniovillena
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.

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Vie, 16 May 2014, 14:01
por Hark0
$this->bbcode_second_pass_quote('antoniovillena', 'S')i 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

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Vie, 16 May 2014, 14:12
por antoniovillena
$this->bbcode_second_pass_quote('Hark0', '
')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]

$this->bbcode_second_pass_quote('Hark0', '
')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.

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Vie, 16 May 2014, 16:23
por Hark0
Entiendo.... si te parece vamos a dejar que Radastan haga su parte... y ya me adapto a partir de ahí.

Gracias x la info... ;)

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Dom, 18 May 2014, 21:23
por radastan
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.

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Lun, 19 May 2014, 07:11
por Hark0
$this->bbcode_second_pass_quote('radastan', 'H')arko, 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

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Lun, 19 May 2014, 07:54
por na_th_an
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.