Scrolles
Moderador: Sir Cilve Sinclair
- antoniovillena
- Nonamed
- Mensajes: 1164
- Registrado: Dom Ene 09, 2011 8:55 am
Re: Scrolles
Está muy currada la demo, enhorabuena. En cuanto a los sprites borrosos, es normal, es el efecto óptico que produce el movimiento. Por eso no pasa en el personaje principal o en los enemigos cuando te mueves a la vez que ellos. No hay ninguna forma de evitar esto, se puede mejorar moviendo los sprites pixel a pixel pero tú ya lo estás haciendo por lo que no lo puede ver menos borroso.
Lo ideal sería lo que te he dicho antes, currarte lo mismo para que funcione en 48K (sincronizando con puerto flotante), aunque esto te limitará un poco el ancho de pantalla (tienes que procesar línea con el scroll incluído en poco más de 224 ciclos). Si quieres te puedo echar una mano en esto, te aviso que fácil no es. A las malas te quedará un juego sólo 128K muy chulo.
Lo ideal sería lo que te he dicho antes, currarte lo mismo para que funcione en 48K (sincronizando con puerto flotante), aunque esto te limitará un poco el ancho de pantalla (tienes que procesar línea con el scroll incluído en poco más de 224 ciclos). Si quieres te puedo echar una mano en esto, te aviso que fácil no es. A las malas te quedará un juego sólo 128K muy chulo.
- climacus
- Sabreman
- Mensajes: 411
- Registrado: Mar Ago 25, 2009 1:46 pm
Re: Scrolles
utopian escribió:Yo no noto nada borroso (Fedora 20, FUSE y Monitor apañao). ¿No será tema de la sincronización entre el emulador y tu pantalla?
Por cierto, pinta genial la rutina, y sobre todo lo de que sea multidireccional hace que la envidia me corroa . ¿Cuántos tiles estás usando? Lo digo por si almacenas prerrotadas todas las combinaciones entre tiles, o bien las calculas al vuelo.
Pues no se. Me estare quedando un poco cegato, pero a mi me parecen borrosos. Sera lo que dices de la sincronizacion.
Lo de la envidia es una de las razones por las que he programado la rutina. Y si no, no haber hecho el genesis
Las almaceno prerrotadas, pero solo las que necesito. Por ejemplo tengo cuadrado con cuadrado, cuadrado con ladrillo, etc. De todas formas eso se decidira mas adelante. Para el scroll vertical lo calculo al vuelo, ya que es muy facil y rapido.
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
http://www.matranet.net/boutique/zx/zx.php
- climacus
- Sabreman
- Mensajes: 411
- Registrado: Mar Ago 25, 2009 1:46 pm
Re: Scrolles
antoniovillena escribió:Está muy currada la demo, enhorabuena. En cuanto a los sprites borrosos, es normal, es el efecto óptico que produce el movimiento. Por eso no pasa en el personaje principal o en los enemigos cuando te mueves a la vez que ellos. No hay ninguna forma de evitar esto, se puede mejorar moviendo los sprites pixel a pixel pero tú ya lo estás haciendo por lo que no lo puede ver menos borroso.
Lo ideal sería lo que te he dicho antes, currarte lo mismo para que funcione en 48K (sincronizando con puerto flotante), aunque esto te limitará un poco el ancho de pantalla (tienes que procesar línea con el scroll incluído en poco más de 224 ciclos). Si quieres te puedo echar una mano en esto, te aviso que fácil no es. A las malas te quedará un juego sólo 128K muy chulo.
Lo dicho, lo dejamos asi y Santas Pascuas.
Pues te tomo la palabra y voy a intentar hacerlo en 48k. Te ire manteniendo informado, ya que estas cosas de andar con los ciclos me lian bastante. Por cierto, gracias por la idea de los sprites prerrotados. Es mucho mas rapido.
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
http://www.matranet.net/boutique/zx/zx.php
- climacus
- Sabreman
- Mensajes: 411
- Registrado: Mar Ago 25, 2009 1:46 pm
Re: Scrolles
antoniovillena escribió:susso escribió:Interesante hilo, por si acaso dejo un link de optimizaciones que de vez en cuando echo una ojeada:
http://wikiti.brandonw.net/index.php?ti ... timization
Interesante. Pero podrían optimizar esto:Código: Seleccionar todo
foo:
ld hl, data
call bar ; Run routine once
call bar ; .. twice
call bar ; .. three times
bar:
ld a, (hl) ; .. fourth and final time
inc l
and $0F
out (c), a
ret
Por esto otro:Código: Seleccionar todo
foo:
ld hl, data
call bar1
bar1:
call bar2
bar2:
ld a, (hl)
inc l
and $0F
out (c), a
ret
Rizando el rizo se puede usar este otro método para hacer el bucle. ocupa más memoria (como un byte más por repetición) pero es mucho más rápido (11 ciclos por repetición más o menos)
Código: Seleccionar todo
LD (STACK+1),SP
LD SP,TABLA
LOOP LD A,R
OUT (254),A
RET
TABLA DW LOOP,LOOP,LOOP,LOOP,STACK
STACK LD SP,0
EL problema es que hay que tener mucho cuidado con las operaciones que afectan a la pila ya que machacaría la tabla y había que recomponerla en momentos en que la velocidad no sea tan crítica. Además hay que asegurarse de que no salte ninguna interrupción mientras se ejecuta, claro
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
http://www.matranet.net/boutique/zx/zx.php
- Hark0
- Freddy Hardest
- Mensajes: 545
- Registrado: Mar Nov 13, 2012 12:42 pm
- Ubicación: Cornella de Llobregat - Barcelona
- Contactar:
Re: Scrolles
Bravo por esos videos!
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
-
- Manic Miner
- Mensajes: 219
- Registrado: Jue May 10, 2007 2:28 pm
Re: Scrolles
climacus escribió:Lo de la envidia es una de las razones por las que he programado la rutina. Y si no, no haber hecho el genesis
Las almaceno prerrotadas, pero solo las que necesito. Por ejemplo tengo cuadrado con cuadrado, cuadrado con ladrillo, etc. De todas formas eso se decidira mas adelante. Para el scroll vertical lo calculo al vuelo, ya que es muy facil y rapido.
Ajá, sí que debe ser rápido, simplemente empezando en una línea diferente del tile.
Lo otro... puede limitarte un poco a la hora del diseño, porque o tendrás pocos tiles con todas las combinaciones, o muchos pero con combinaciones limitadas. Será todo un rato para el grafista .
- climacus
- Sabreman
- Mensajes: 411
- Registrado: Mar Ago 25, 2009 1:46 pm
Re: Scrolles
utopian escribió:climacus escribió:Lo de la envidia es una de las razones por las que he programado la rutina. Y si no, no haber hecho el genesisLas almaceno prerrotadas, pero solo las que necesito. Por ejemplo tengo cuadrado con cuadrado, cuadrado con ladrillo, etc. De todas formas eso se decidira mas adelante. Para el scroll vertical lo calculo al vuelo, ya que es muy facil y rapido.
Ajá, sí que debe ser rápido, simplemente empezando en una línea diferente del tile.
Lo otro... puede limitarte un poco a la hora del diseño, porque o tendrás pocos tiles con todas las combinaciones, o muchos pero con combinaciones limitadas. Será todo un rato para el grafista .
Eso es. De los 16 escanes, se imprimen x del tile de arriba y 16-x del de abajo. Muy simple. Y el horizontal con los tiles prerrotados es mas facil todavia.
Supongo que habra que usar mucho la imaginacion, pero tengo mas de 9k para graficos...
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php
http://www.matranet.net/boutique/zx/zx.php
¿Quién está conectado?
Usuarios navegando por este Foro: Google [Bot] y 8 invitados