Mostrando entradas con la etiqueta FyD. Mostrar todas las entradas
Mostrando entradas con la etiqueta FyD. Mostrar todas las entradas

domingo, 30 de junio de 2013

Scroll Multidireccional

Me estaba complicando mucho la vida con la rutina de scroll hasta que, después de leer un artículo de k0ga, he descubierto el principio KISS (Keep It Simple Stupid) y casi he rehecho la rutina con la mitad de líneas. No está tan optimizada como pretendía con la idea inicial, pero esta funciona perfectamente. Ya habrá tiempo de optimizaciones.
Antes tenía una rutina teóricamente óptima  y que no funcionaba. Ahora tengo una rutina no tan óptima, pero que funciona perfectamente.



Lo que falta por hacer es la posibilidad de mover el mapa a diferentes velocidades, desde 1/8 hasta 16px (con eso creo que será suficiente, aunque se podría aumentar si hiciera falta). Para este mapa no haría falta. Se utilizará a partir de la fase 3 de "Losaben Akel", donde cada uno de los planos se moverá a diferente velocidad.


-----------------------------------------------------------

I was greatly complicating life with scroll routine until, after reading a k0ga article in his blog, I discovered the KISS principle (Keep It Simple Stupid) and I have redone the routine with half the lines.  It's not as optimized as intended with the initial idea, but this works perfectly. There will be time for optimizations.
I had a routine theoretically optimal that not work. Now I have a not optimal routine, but it works perfectly.


What remains to be done is the ability to move the map at different speeds from 1/8 ​​to 16px (with I think that will be enough, but could be increased if required). For this map would not need. Be used from the phase 3 in "Losaben Akel", where each of the planes will move at different speeds.

domingo, 14 de abril de 2013

Integración Player SCC en el Engine MSLOOPX


Primera prueba de integración del player del TriloTracker (http://www.trilobyte-msx.com/)

La música no pega ni con cola, pero es la única que tenía a mano  :P


El siguiente paso será modificar todas las cargas de disco para hacerlas desde ROM directamente.


Hay algunos BUGs pendientes de eliminar, como al disparar agachado, que desaparece el protagonista...

sábado, 6 de abril de 2013

Remake FyD MSX: Pantalla de título, Intro y Fase 1 casi completa


A falta del apartado sonoro y de corregir algunos problemillas estarían completos el menú, la intro y la primera fase (faltan un par de movimientos del diablo de mitad de fase y el giro de las brujas).


Hay objetos que todavía no están implementados, como los cacharros que dan puntos y el resto de armas, pero se irán implementando poco a poco durante el resto de fases.


Se han recortado en el video los tiempos de carga, porque de momento está cargando desde disco. La versión final casi seguro que será en cartucho, así que este será más o menos el aspecto durante las cargas.

La calidad del video no es muy alta, pero es por la compresión. El título parece pixelado, pero en realidad no se ve así.




Pending sound/music and to correct some problems. Besides that, the menu, the intro and the first phase (missing a few moves of devil and shift of witches) are finished.


There are objects that are not yet implemented, as the pots that give points and other weapons, but they will gradually implemented during the remaining phases.


Load times have been cut in the video, because currently being loaded from disk. The final version will almost certainly be in cartridge, so this will be about the look for the loads.

Video quality is poor due to compression. The title appears pixelated, but in the game it has more quality.



miércoles, 23 de enero de 2013

Prueba Fase 1 FyD

Usando el mismo Engine que para "Losaben Akel", hemos retomado un proyecto al que empezamos a dar vueltas poco antes de empezar con "Losaben Akel".

Antes de intentar retomarlo, necesitaba completar la rutina de scroll multidireccional, y aunque en esta prueba no se aprecia porque solo hay scroll horizontal, está completa. 

El engine en principio está preparado para funcionar en TurboR, pero refrescando la pantalla una vez cada dos frames (25 fps), creo que puede funcionar bien en un Z80.




Using the same Engine from "Losaben Akel", we did some tests on the idea that we started before "Losaben Akel".

We had to complete multidirectional scroll routine before to try this remake. This test only uses horizontal scrolling but the multidirectional routine is complete.

This Engine is ready for TurboR, but writing to the screen once every two frames, I think it will be possible to run in a Z80.





El prota solo se mueve hacia los lados y no detecta, todavía, las colisiones, pero es cuestión de incluir unas cuantas líneas de código.  

Este es el trozo de código que "mueve" al prota:



The protagonist only moves sideways and still does not detect collisions, but a matter of including a few lines of code.

This is the piece of code that moves the protagonist:


obj_arthur_mov:

        ld a,[buffer_teclado8]
;1000  Der Aba Arr Izq Del Ins Home Space
and 11110000b
cp 11110000b
jp z,.parado
bit 7,a
jr z,.derecha
bit 4,a
jr z,.izquierda
        ret

.derecha:
ld a,[ix+obj_arthur_estado]
bit 3,a
jr nz,.cambio_dir_d
and 00000111b
cp 1 ;andando
jr z,.andando
.cambio_dir_d:
ld a,[ix+obj_arthur_estado]
and 11110000b
or  00000001b 
ld [ix+obj_arthur_estado],a
ld [ix+obj_arthur_retardo_frame],1
ld [ix+obj_arthur_frame],0
res 5,[ix+obj_pat]
jr .andando
.izquierda:
ld a,[ix+obj_arthur_estado]
bit 3,a
jr z,.cambio_dir_i
and 00000111b
cp 1 ;andando
jr z,.andando
.cambio_dir_i:
ld a,[ix+obj_arthur_estado]
and 11111000b
or  00001001b 
ld [ix+obj_arthur_estado],a
ld [ix+obj_arthur_retardo_frame],1
ld [ix+obj_arthur_frame],0
set 5,[ix+obj_pat]

.andando:
dec [ix+obj_arthur_retardo_frame]
jr nz,.nocambia_frame
ld [ix+obj_arthur_retardo_frame],8
ld a,[ix+obj_arthur_frame]
inc a
and 00000011b
ld [ix+obj_arthur_frame],a
ld hl,obj_arthur_frames
ADD_HL_A
ld a,[hl]
ld b,a
ld a,[ix+obj_pat]
and 11100000b
or b
ld [ix+obj_pat],a

.nocambia_frame:
bit 3,[ix+obj_arthur_estado]
jr z,.a_derechas
.a_izquierdas:
ld a,[ix+obj_x]
cp 106
jr nz,.no_limite_izquierda
ld de,0x00ff
ld [mov_scroll_a],de
ld [mov_scroll_b],de
ret
.no_limite_izquierda:
dec [ix+obj_x]
ret

.a_derechas:
ld a,[ix+obj_x]
cp 150
jr nz,.no_limite_derecha
ld de,0x0001
ld [mov_scroll_a],de
ld [mov_scroll_b],de
ret
.no_limite_derecha:
inc [ix+obj_x]
ret

.parado:
ld a,[ix+obj_arthur_estado]
and 11111000b
ld [ix+obj_arthur_estado],a
ld a,[ix+obj_pat]
and 11100000b
ld [ix+obj_pat],a
ret        


No está optimizado ni muy limpio, pero ha sido una prueba rápida para poder hacer el video.   :P



Retroinvaders blogs retro informatica