ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

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

Moderador: Sir Cilve Sinclair

Avatar de Usuario
radastan
Phantomas
Mensajes: 2232
Registrado: Lun May 07, 2007 5:34 pm
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por radastan » Vie Abr 25, 2014 11:05 am

javiperez escribió:
radastan escribió:La pena es que para Retromadrid no me ha dado tiempo a hacer las cosas que quería, aunque algo enseñaré, porque gracias a mi propio motor estoy obteniendo una libertad creativa increíble, por no hablar de la posibilidad de hacer cartuchos. Lo que os enseñaré en Retromadrid, la alfa de mi jueguecillo IF2, ya impresiona respecto a los juegos de cartucho clásicos. ¡Una videoaventura en un cartucho!

¿Cómo vas a organizar esto en RM? ¿Una especie de taller en el propio stand? ¿A qué hora sería?


Estaré todo el día con el portatil puesto para enseñar cosicas a todo el que me lo pida, pero seguramente habrá corrillos cuando se acerquen interesados. Tu cuando te pases pregunta por mi y encantado te atiendo.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________

Avatar de Usuario
radastan
Phantomas
Mensajes: 2232
Registrado: Lun May 07, 2007 5:34 pm
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por radastan » Vie Abr 25, 2014 11:14 am

Hark0 escribió:1.- ¿Soporte para máscaras?
2.- Veo que "pintamos" carácter a carácter... ¿soporte pixel to pixel? :P


Para esas cosas están SPLIB y FASE, es absurdo reinventar la rueda. Habrá una sección dedicada a FASE, que me parece el más interesante y es de un compañero nuestro.

Hark0 escribió:3.- ¿Flip tiles?


¿Flip? es decir, ¿girado automático o modo espejo? No es soportado, implica bastante curro y necesita mucha CPU al tener que ser pixel a pixel si se hace. No merece la pena, es mejor que uses tiles ya rotados o espejados.

Lo que si comentaré en el curso es cómo animar tiles en pantalla, de echo en el ejemplo de Retormadrid ya está implementado y va de maravilla.

Hark0 escribió:4.- Tema Print, que ya me comentaste...


Ojo, el printf de Z88DK necesita la ROM del ZX Spectrum si no me equivoco. Lo digo por que entonces no te sirve para juegos en ROM.

Hark0 escribió:5.- Y ya que es una lib para juegos... ¿funciones tipo LDIR?


¿Qué crees que se usa para pintar sprites/tiles? Habrá una rutina para cualquier tamaño, para logos y cosas así.

Hark0 escribió:6.- En el ejemplo haces un mapa (1 pantalla). Según el doc ZCC no soporta DIM (a,b)... ¿como solventarlo?


Chupado. Creas el mapa con Mappy de toda la vida, usas el conversor de .map a .h de la churrera, quitas las líneas del código que sobran y la forma de leer cada pantalla es un juego de niños. No necesitas DIM. En el juego ROM de Retromadrid ya está implementado también, ten en cuenta que voy por delante del curso, necesito tiempo para poder escribir.

Hark0 escribió:7.- Porque pones "++variable" en lugar de "variable++"?


Vicio.

++variable incrementa y luego asigna el valor incrementado a la variable
variable++ hace lo mismo pero decrementando luego

Es una sutil diferencia, que en ciertos casos puede jugarte una mala pasada, por eso siempre hago ++variable. Así se con certeza que siempre estoy comparando el valor ya incrementado.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________

Avatar de Usuario
Hark0
Freddy Hardest
Mensajes: 545
Registrado: Mar Nov 13, 2012 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Hark0 » Vie Abr 25, 2014 12:57 pm

Aclarado Radastan! Muchiiiiiisimas gracias!

En este rato he estado haciendome animaciones de tiles por mi cuenta etc etc... jejeje que tenga que poner "pausas" a un juego de Spectrum como que me hace gracia y todo... ;)

...

Sobre las librerías que comentas que ya existen para máscaras, pixel, etc y tal... mis disculpas... :oops: ... soy nuevo en este "entorno de programación". Le echaré ojo si lo veo oportuno.

Por cierto... ¿no se pueden subir adjunto TAP por el foro verdad? A mi no me sale la opción... :(




(PD Sigue en pié lo de maquetarte el libro, recuerda... ;))
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica

Avatar de Usuario
radastan
Phantomas
Mensajes: 2232
Registrado: Lun May 07, 2007 5:34 pm
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por radastan » Vie Abr 25, 2014 1:49 pm

Hark0 escribió:En este rato he estado haciendome animaciones de tiles por mi cuenta etc etc... jejeje que tenga que poner "pausas" a un juego de Spectrum como que me hace gracia y todo... ;)


Recuerda que la forma óptima es haciendo:

Código: Seleccionar todo

wait_int();


Con eso esperas al retrazo de pantalla, que es la mejor sincronización posible.

Yo tengo que meterle dos o tres para que vaya a una velocida razonable, y entra cada uno voy poniendo una parte de lo que hay que hacer: mover personaje, mover enemigos, detectar colisiones, animar tiles, etc
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________

Avatar de Usuario
Hark0
Freddy Hardest
Mensajes: 545
Registrado: Mar Nov 13, 2012 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Hark0 » Vie Abr 25, 2014 4:21 pm

Exacto!

3 wait_int() necesito para que la animación de los frames se vea :lol:


Acerca de los listados de tu manual,
deberías añadir el "int" o lo que corresponda delante en la declaración de variables (Ej: Paso=0;)... te lo has "saltado" en los listados... :P ;)
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica

Avatar de Usuario
radastan
Phantomas
Mensajes: 2232
Registrado: Lun May 07, 2007 5:34 pm
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por radastan » Vie Abr 25, 2014 9:16 pm

Hark0 escribió:Acerca de los listados de tu manual,
deberías añadir el "int" o lo que corresponda delante en la declaración de variables (Ej: Paso=0;)... te lo has "saltado" en los listados... :P ;)


Y están declarados.

Te recuerdo que en C primero se declara (ej. int a) y luego se asigna (a=0). No puedes hacer las dos cosas a la vez.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________

Avatar de Usuario
Hark0
Freddy Hardest
Mensajes: 545
Registrado: Mar Nov 13, 2012 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Hark0 » Sab Abr 26, 2014 7:38 am

Mis disculpas... tienes toda la razón... no había visto el

unsigned char

Sorry sorry sorry... :oops:
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 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Hark0 » Sab Abr 26, 2014 9:49 am

Avances en la programación con Z88DK: :mrgreen:

Tengo ya un mainloop funcionando a las mil maravillas. He montado mis *.h para diferentes cuestiones como pantalla, control, calculo, etc.... Control de teclas también incluido... ahora a probar algunas funciones lógicas ;-)


Algunas observaciones:

ERROR Unexpected end of file (este error me ha llevado un rato loco loco loco)
Al parecer el fichero principal del juego, XXXXX.c debe terminar con un enter, no directamente cerrando con }
Osea, añadir una linea en blanco al final del fichero (enter).

Detener la ejecución con BREAK
Para poder detener el programa y volver al Basic, hay que añadir #include <stdio.h> al principio del programa y escribir el mainloop así:

while(!zx_break())
{
loop principal del juego
}

Si pulsamos BREAK, nos devolverá al sistema (Basic)... y si volvemos a teclear RANDOMIZE USR 24200, vuelve a cargar el código máquina EN EL PUNTO EN QUE ESTABA, no reiniciando...



...aunque supongo que tu todo esto ya lo sabias... :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 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Hark0 » Sab Abr 26, 2014 11:13 am

Añado enlace a mi primer test:

Imagen

https://dl.dropboxusercontent.com/u/556 ... _z88dk.zip

Añado el código fuente, así como la cinta...

Cuando tengas 2 minutos... ¿le echas un ojo a ver si voy bien?

Gracias! :wink:
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica

Avatar de Usuario
Alxinho
Freddy Hardest
Mensajes: 896
Registrado: Mar Jun 19, 2007 11:20 am
Ubicación: Barcelona
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Alxinho » Sab Abr 26, 2014 1:23 pm

Una cosilla que no sé de qué será (soy sincero y no he leído todo el hilo entero y a lo mejor ya lo habéis hablado) pero si movéis en diagonal la bolita giratoria no actualiza bien el fondo en los tiles con textura del fondo en la zona que hace esquina. No sé si me explico bien, moviendo la bola para todos los lados lo veréis.
Retrobytes Productions --> http://retrobytesproductions.blogspot.com.es

Soy un tío feliz, más que nada ... porque me sale más a cuenta.

Avatar de Usuario
Hark0
Freddy Hardest
Mensajes: 545
Registrado: Mar Nov 13, 2012 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Hark0 » Sab Abr 26, 2014 1:33 pm

Alxinho escribió:Una cosilla que no sé de qué será (soy sincero y no he leído todo el hilo entero y a lo mejor ya lo habéis hablado) pero si movéis en diagonal la bolita giratoria no actualiza bien el fondo en los tiles con textura del fondo en la zona que hace esquina. No sé si me explico bien, moviendo la bola para todos los lados lo veréis.



No he implementado ninguna rutina de test de diagonales... debe ser eso... gracias x probarlo... :P
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 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Hark0 » Dom Abr 27, 2014 7:29 am

El fallo estaba en que la variable que gestiona la posición del mapa no se actualizaba correctamente...

Pruebalo ahora...
https://www.dropbox.com/s/traqw20b2wdvp ... Prueba.tap

: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 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Hark0 » Dom Abr 27, 2014 9:06 am

Maestro @radastan, necesito una función tipo:

put_sprite_x8(sprite8x8px,x,y);

:mrgreen:

Ya que no vamos a usar SPLIB .... :P

Por cierto... si pudiera ser "coloreable" ya ni te cuento... :wink:


Última cinta compilada: https://www.dropbox.com/s/traqw20b2wdvp ... Prueba.tap
-Movimientos diagonales eliminados.
-Tiles dcha-izda prota
-Movimiento tile a tile (no 2x tile)
-Menu simple añadido... :wink:
Si alguien quiere el SRC que lo diga... no problema.

PD Probados los 3 editores comentados, gana Notepad++ por goleada SI o SI... :)
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica

Avatar de Usuario
radastan
Phantomas
Mensajes: 2232
Registrado: Lun May 07, 2007 5:34 pm
Contactar:

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por radastan » Dom Abr 27, 2014 10:25 pm

Hark0 escribió:Maestro @radastan, necesito una función tipo:

put_sprite_x8(sprite8x8px,x,y);


Sin problemas, y tendrá versión "coloreable" al gusto del consumidor. :wink:

Es más lo de la versión coloreable lo veo útil hasta para la de 16x16.

Por cierto, voy a trabajar para que tenga soporte de paginación de memoria también, para que podáis usar los 128K como si fuera lo más simple del Mundo.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________

Avatar de Usuario
Scooter
Freddy Hardest
Mensajes: 711
Registrado: Jue Nov 11, 2010 10:17 pm

Re: ABANDONO, NO PUEDO MAS!!! (me largo a Z88DK)

Mensaje por Scooter » Dom Abr 27, 2014 11:07 pm

Je je, hazlo para 512k que hay un grupo de lanzaos de los 512 por ahí :wink:

Enviado como me parece oportuno usando algún método.
Aquellos chalados en sus viejos cacharros...

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 11 invitados