Scrolles

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Re: Scrolles

Notapor antoniovillena el Mie May 07, 2014 4:20 pm

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.
Imagen
Avatar de Usuario
antoniovillena
Nonamed
 
Mensajes: 1162
Registrado: Dom Ene 09, 2011 9:55 am

Re: Scrolles

Notapor climacus el Mie May 07, 2014 5:35 pm

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 :lol: :lol:. ¿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
Avatar de Usuario
climacus
Sabreman
 
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Re: Scrolles

Notapor climacus el Mie May 07, 2014 5:40 pm

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
Avatar de Usuario
climacus
Sabreman
 
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Re: Scrolles

Notapor climacus el Jue May 08, 2014 7:56 am

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
Avatar de Usuario
climacus
Sabreman
 
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Re: Scrolles

Notapor Hark0 el Jue May 08, 2014 8:01 am

Bravo por esos videos! :wink:
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica
Avatar de Usuario
Hark0
Freddy Hardest
 
Mensajes: 545
Registrado: Mar Nov 13, 2012 1:42 pm
Ubicación: Cornella de Llobregat - Barcelona

Re: Scrolles

Notapor utopian el Jue May 08, 2014 2:53 pm

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 :)
:lol: :lol:

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 :).
utopian
Manic Miner
 
Mensajes: 219
Registrado: Jue May 10, 2007 2:28 pm

Re: Scrolles

Notapor climacus el Jue May 08, 2014 3:58 pm

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 genesis :)
:lol: :lol:

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 :).


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
Avatar de Usuario
climacus
Sabreman
 
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Previo

Volver a Programación y nuevos desarrollos

¿Quién está conectado?

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

cron