8BP Programado juegos profesionales desde Basic

Programando el Amstrad en BASIC, C, etc.
Avatar de Usuario
jjaranda13
Forero habitual
Forero habitual
Mensajes: 129
Registrado: Jue 18 Feb , 2016 4:12 pm

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor jjaranda13 » Lun 22 Feb , 2016 1:09 am

En el vídeo veo ke a los sprites les rodea una sección en negro.
El hardware de vídeo del CPC no puede manejar sprites con zonas transparentes [pseudo-alpha] ?¿
[si viene explicado en el manual.... esta noche le pego un tiento... no hace falta ke lo repondas por akí]

No es algo ke me peocupe, viniendo el Spectrum... jajajaja. :mrgreen:

Un saludo

hola Raptor
El amstrad no tiene sprites hardware como el commodore64. El amstrad en ese sentido es como el zx spectrum, donde todo el trabajo debe hacerlo la CPU. Sin embargo, el amstrad puede hacer lo que dices, es que que se llama "sobreescritura". Actualmente la libreria 8BP no soporta sobreescritura pero en la siguiente versión la tendrá, como algo opcional en el comando "|PRINTSP". La sobreescritura implica el uso de un concepto llamado "máscara", y una serie de operaciones extra que hacen que la velocidad de impresión de sprites disminuya. No obstante en un juego con pocos sprites se puede hacer perfectamente. Y tambien se puede "simular" cierta sobreescritura, la del ejemplo de la nave epacial sobrevolando una luna con cráteres. Ese no queda mal y da sensación de sobreescritura. Subiré un video al canal 8BP sobre este tema.
En amstrad hubo un programador (Paul shirley, autor de mission genocide) que desarrolló una técnica de sobreescritura ultrarrápida sacrificando los colores, de modo que un sprite solo podía tener 3 colores. De ese modo consiguió mas velocidad que nadie.
En resumen, de momento tenemos en 8BP una capacidad de imprimir sprites muy rápida pero sin sobreescritura. Eso llegará en la versión 2.0, al igual que nuevas capacidades y mejoras ( de momento ya tengo una mejora preparada que aun reduce en 0.7 milisegundos el tiempo de impresión de los sprites).

un saludo

Avatar de Usuario
javymetal
Megaforero
Megaforero
Mensajes: 331
Registrado: Mar 08 Sep , 2015 11:36 am
Contactar:

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor javymetal » Lun 22 Feb , 2016 8:18 am

Cada vez más interesante. =D>

Avatar de Usuario
jjaranda13
Forero habitual
Forero habitual
Mensajes: 129
Registrado: Jue 18 Feb , 2016 4:12 pm

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor jjaranda13 » Jue 25 Feb , 2016 10:37 pm

hola amigos del amstrad y de la retrocomputacion

he subido al blog un ejemplo sencillo comentado para construir un juego de naves. son unas primeras pinceladas, pero seguro que ayuda en los primeros pasos de programación con 8BP

aquí lo teneis: http://8bitsdepoder.blogspot.com.es/201 ... n-8bp.html

y a disfrutar de 8BP.

Avatar de Usuario
6128
Moderador
Moderador
Mensajes: 7910
Registrado: Lun 12 Dic , 2005 6:08 pm

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor 6128 » Vie 26 Feb , 2016 5:08 pm

Gracias a ti por el curro que te estás metiendo con este programa y con los tutoriales. =D>

Avatar de Usuario
javymetal
Megaforero
Megaforero
Mensajes: 331
Registrado: Mar 08 Sep , 2015 11:36 am
Contactar:

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor javymetal » Vie 26 Feb , 2016 5:23 pm

Y que siga así! \:D/

Avatar de Usuario
jjaranda13
Forero habitual
Forero habitual
Mensajes: 129
Registrado: Jue 18 Feb , 2016 4:12 pm

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor jjaranda13 » Vie 26 Feb , 2016 7:20 pm

He de advertiros que esto es un vicio (creo que ya lo sabeis)

de modo que va para largo el tema 8BP.

he limpiado un poquito el codigo de la libreria y la tengo en 4460 bytes, dejandome 540 para ampliaciones. He pensado cosas como:

por orden de importancia:
- una impresion con sobreescritura (esto es obligatorio, lo tendremos pronto con un simple parametro en PRINTSP)
- capacidad de layout de mode 1
- quizas dos parametros nuevos en PRINTSPALL para que invoque internamente a AUTOALL y MOVERALL. Esto ahorraria 1.17ms por ciclo de juego y en arcades cada ms es vital

si alguno tiene una sugerencia interesante, soy todo oidos. Ya he puesto meteoritos al juego ANNUNAKI, y pronto hare un post con el tema. Algo interesante que quiero contar es la diferencia entre estas dos cosas:

c=c+1: if c=4 then c=1

c= c+1 mod 3

aunque os parezca lo mismo una consume 2.65ms y la otra 1.84ms y lo voy a incluir en la guia de programación. Hay que medir cuanto consume cada instruccion de basic y elegir bien que hacemos. Por ejemplo, un GOTO es mas barato que un REM !!!!!

Avatar de Usuario
javymetal
Megaforero
Megaforero
Mensajes: 331
Registrado: Mar 08 Sep , 2015 11:36 am
Contactar:

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor javymetal » Vie 26 Feb , 2016 7:36 pm

Yo hasta que no termine los líos que llevo no voy a ponerme con 8BP. Aun así, sigo el hilo con entusiasmo. =D>

¿Sería muy difícil adaptar una interfaz gráfica (IDE) bajo windows que permita exportar el juego al formato cpc? Al estilo Game Maker Studio. Eso sería la hostia! \:D/

Avatar de Usuario
jjaranda13
Forero habitual
Forero habitual
Mensajes: 129
Registrado: Jue 18 Feb , 2016 4:12 pm

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor jjaranda13 » Vie 26 Feb , 2016 8:13 pm

Yo hasta que no termine los líos que llevo no voy a ponerme con 8BP. Aun así, sigo el hilo con entusiasmo. =D>

¿Sería muy difícil adaptar una interfaz gráfica (IDE) bajo windows que permita exportar el juego al formato cpc? Al estilo Game Maker Studio. Eso sería la hostia! \:D/
hola,

te refieres a la generación del fichero .dsk y/o .cdt/wav?
si te refieres a eso (puede que no) es realmente facil generarlos desde el emulador de CPC
yo programo tanto en ASM como en BASIC desde el winape, el cual permite crear .dsk en blanco para empezar a trabajar. Ademas su editor es un millon de veces mejor que el editor del amstrad (a pesar de que el editor del amstrad era bueno en comparacion con el de zx u otros). Usando la capacidad de "ensamblar" de winape, los graficos que hago con spedit los ensamblo y en realidad ensamblo todo (la música también) y luego desde el CPC con 3 comandos SAVE salvo los .bin en el .dsk o el .wav. y hago un loader.bas con la pantalla de presentacion.

En definitiva, winape hace las veces de game maker studio para esa funcionalidad, aunque en lugar de simplemente pulsar una opcion de un menu, tienes que ensamblar y luego ejecutar comandos SAVE, pero en realidad esos comandos ayudan a comprender donde ensamblamos las cosas y perder la claridad de como y donde ensamblamos cada cosa es perder mucho. Yo defiendo un principio:

programar en basic, pero entendiendo y manejando el verbo ensamblar

Asi conseguimos dominar y doblegar a la máquina, sin perder nunca el control

pero claro...a lo mejor te referias a otra cosa!!! #-o yo he contestado por donde creo que iban los tiros pero a lo mejor me he liado con tu planteamiento

pd: para simplificar escribi el "make_all.asm" lo abres, le dices a winape que lo ensamble todo y ensambla graficos, musica, player y funciones 8BP. Y luego eso si, hay que ejecutar los comandos SAVE.

Avatar de Usuario
javymetal
Megaforero
Megaforero
Mensajes: 331
Registrado: Mar 08 Sep , 2015 11:36 am
Contactar:

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor javymetal » Vie 26 Feb , 2016 8:24 pm

Me refería a un entorno completo como game maker studio en windows para el cpc. Se que es algo muy chungo de hacer. ](*,)

Avatar de Usuario
jjaranda13
Forero habitual
Forero habitual
Mensajes: 129
Registrado: Jue 18 Feb , 2016 4:12 pm

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor jjaranda13 » Vie 26 Feb , 2016 8:36 pm

Me refería a un entorno completo como game maker studio en windows para el cpc. Se que es algo muy chungo de hacer. ](*,)

bueno es que eso seria un "motor de juegos", como el arcade game designer (AGD) que lo hay para zx y para amstrad. en realidad 8BP tiene otra filosofia. Te da mas libertad, puedes programar en basic (en lugar de un lenguaje de script interno de AGD) puedes instalar rutinas en ensamblador e invocarlas, puedes hacer todo lo que la maquina te permite porque estas "sobre" la maquina y no sobre agd, es decir

con este diagrama me vas a entender y vas a ver que con 8BP tienes mas libertad y mas control de la maquina, aunque te exige saber basic y el significado de "ensamblar", pero pagas un precio bajo por disfrutar del control y tus creaciones pueden ser del genero que quieras (plataformas, arcade, aventuras, 3D, pseudo-scroll, juegos con inteligencia como pacman, juegos raros como el kane, etc) todo es posible porque al usar la maquina no tienes las "ataduras" del AGD (con todos mis respetos al AGD que esta muy bien, pero yo no quería hacer un motor de juegos por este motivo)

juego Juego
| | |
AGD | 8BP
| | |
maquina maquina

se entiende el diagrama, verdad? 8BP es muy atractivo por eso. Creo que incluiré este dibujo en la siguiente versión del manual, para explicar la filosofia

Avatar de Usuario
jjaranda13
Forero habitual
Forero habitual
Mensajes: 129
Registrado: Jue 18 Feb , 2016 4:12 pm

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor jjaranda13 » Vie 26 Feb , 2016 8:38 pm

ostras el diagrama ha quedado como el xxxx

lo digo de palabra:

con agd:
tu juego usa el AGD y esta limitado por los limites y posibilidades impuestos por AGD pues tu juego corre "dentro" de AGD

con 8BP
tu juego usa el 8BP y la maquina directamente. plena libertad, plena potencia, sin limites (salvo los de la maquina)

Avatar de Usuario
javymetal
Megaforero
Megaforero
Mensajes: 331
Registrado: Mar 08 Sep , 2015 11:36 am
Contactar:

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor javymetal » Vie 26 Feb , 2016 8:41 pm

Ok. Todo claro! :mrgreen:

Avatar de Usuario
jjaranda13
Forero habitual
Forero habitual
Mensajes: 129
Registrado: Jue 18 Feb , 2016 4:12 pm

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor jjaranda13 » Vie 26 Feb , 2016 8:49 pm

de todos modos, aunque 8BP no es un motor de juegos y yo queria hacer una libreria de juegos que no fuese un motor, tengo mucho respeto a los motores de juegos y en concreto he usado AGD y he analizado como esta hecho y es muy interesante y esta muy bien construido.

Simplemente quise experimentar con una alternativa a los motores de juegos para "vencer" sus limitaciones , por amor al arte, y por eso hice 8BP

Una cosa buena de programar con 8BP es que te sientes "creador" plenamente. Tu programa no corre dentro de un motor. Te has independizado y caminas solo, sin el "abrigo" del motor. Usas un bastón en el que te apoyas (el 8BP), pero estas tu ante la maquina. Es una sensación muy adictiva

Avatar de Usuario
jjaranda13
Forero habitual
Forero habitual
Mensajes: 129
Registrado: Jue 18 Feb , 2016 4:12 pm

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor jjaranda13 » Vie 26 Feb , 2016 9:40 pm

un ejemplo de 8BP de juego de naves con meteoritos en https://youtu.be/1FBg-fJUlVM



pronto publicare un post explicando las tripas en basic de este sencillo juego

Avatar de Usuario
javymetal
Megaforero
Megaforero
Mensajes: 331
Registrado: Mar 08 Sep , 2015 11:36 am
Contactar:

Re: 8BP Programado juegos profesionales desde Basic

Mensajepor javymetal » Sab 27 Feb , 2016 8:49 am

¿Se puede quitar algo del marco negro de la nave? Cuando colisiona con el meteorito se ve muy grande. Supongo que será a la hora de crear el sprite donde podemos definirlo.

Un consejo:
Podrías mejorar el editor de sprites. Quitar el molesto sonido (yo lo he quitado :mrgreen: )
Añadir una vista previa y una zona con zoom.

¿Puedes hacer sprites en movimiento y ver una vista previa?


¿Quién está conectado?

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


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic