Ver la versión completa : Space Invaders for ZX Spectrum (By SplinterGU)
SplinterGU
26/03/2021, 21:36
Hola gente linda! tanto tiempo que no paso por aca...
54446
Queria compartir con Uds. una version de Space Invaders para ZX Spectrum, no es un emulador ni la version de la consola compilada en el spectrum.
Es un codigo hecho desde cero, respetando dentro de lo posible al original, se pueden usar todas las mismas estrategias, tiene las mismas tablas de disparo, puntuacion, premios, etc... el juego esta adaptado a la resolucion de ZX Spectrum... fue programado en C+ASM...
https://youtu.be/ZBBdlRdhKiI
https://youtu.be/4pyZmEzubqg
aca les dejo el link...
https://splintergu.itch.io/space-invaders-for-zx-spectrum
Agradezco cualquier comentario (y donacion...)
¡Que bueno! Por cosas como ésta el spectrum nunca ha estado muerto del todo.
SplinterGU
27/03/2021, 17:37
¡Que bueno! Por cosas como ésta el spectrum nunca ha estado muerto del todo.
gracias!
selecter25
27/03/2021, 21:53
Muy guapo Splinter.
SplinterGU
27/03/2021, 22:09
gracias!
ya veo el primer video no hecho por mi
https://www.youtube.com/watch?v=6IzTmel0qoM
gracias!
ya veo el primer video no hecho por mi
https://www.youtube.com/watch?v=6IzTmel0qoM
El juego ha quedado súper chulo.
Pero en este vídeo ya sale uno quejándose del sonido en plan cuñao. "Esto se hace así o asá mejor".
romeroca
28/03/2021, 18:28
Ni caso. El juego es fiel al original, Gran trabajo Splinter.
SplinterGU
29/03/2021, 00:49
muchas gracias amigos! espero entre hoy y mañana (con suerte) sacar un update, con mejores sonidos y ajustar un poco el tiempo que sale el UFO arriba...
Camarografo
29/03/2021, 15:08
muchas gracias amigos! espero entre hoy y mañana (con suerte) sacar un update, con mejores sonidos y ajustar un poco el tiempo que sale el UFO arriba...
vas a sacar dlcs con nuevas naves o armas?
¡Qué guay! Enhorabuena por el trabajo realizado :)
Necesitabas descansar de tanto C ¿no? :D Está bien ir cambiando de vez en cuando y dedicarse a otras cosas, te despeja la mente.
Da envidia que termineis los proyectos que os proponéis, yo tengo una lista interminable con muchas cosas a medio hacer y otras muchas a menos de la mitad :P
fbustamante
29/03/2021, 20:12
Da envidia que termineis los proyectos que os proponéis, yo tengo una lista interminable con muchas cosas a medio hacer y otras muchas a menos de la mitad :P
La lista en sí es un proyecto. :)
SplinterGU
01/04/2021, 05:03
acabo de ver el comentario... jajaja... no lo habia visto...
la verdad que estoy luchando con el sonido... ahora pase todo el bucle principal del juego a im2 y si bien es rapido, come bastante de tiempo... y no logro darle al sonido... hay mas sonidos y mejor, pero lejos de ser sonido fiel...
estoy usando una modificacion del engine BeepFX... pero no hay forma... requiera demasiada CPU que no hay disponible... una cosa es un menu donde tenes mucha CPU disponible y otra en medio de pleno juego con mucha actividad de CPU...
la otra opcion es pasar todo a ASM, pero no creo valga la pena...
estoy haciendo el esfuerzo, pero por mas magia que intente, estoy limitado al hardware...
voy a hacer la version AY...
-----Actualizado-----
vas a sacar dlcs con nuevas naves o armas?
no, no se justifica...
-----Actualizado-----
¡Qué guay! Enhorabuena por el trabajo realizado :)
Necesitabas descansar de tanto C ¿no? :D Está bien ir cambiando de vez en cuando y dedicarse a otras cosas, te despeja la mente.
sigue siendo C... :D gracias!
quizas me animo a una version zx81 con HR...
-----Actualizado-----
Da envidia que termineis los proyectos que os proponéis, yo tengo una lista interminable con muchas cosas a medio hacer y otras muchas a menos de la mitad :P
no iba a ser un proyecto, iba a ser un tutorial en basic con un simple matamarcianos para mostrar como leer varias teclas a la vez... y muto a esto...
SplinterGU
04/04/2021, 01:48
nueva version con sonido AY...
https://www.youtube.com/watch?v=-94HklI-L3w
Beeper con un mod del Engine BeepFX Sound
https://youtu.be/AueZF7MmHkM
SplinterGU
07/04/2021, 23:50
estuve/estoy intentando portar la version a zx81 con WRX, y al momento saque esto, sin menues
https://youtu.be/jKTyOw-ZBC0
nueva version con sonido AY...
https://www.youtube.com/watch?v=-94HklI-L3w
Beeper con un mod del Engine BeepFX Sound
https://youtu.be/AueZF7MmHkM
Caray, va notablemente más rápido sin AY.
SplinterGU
08/04/2021, 05:40
Caray, va notablemente más rápido sin AY.
no es el AY, es que ajuste los tiempos a 50Hz, ademas habia cosas un poco mas rapidas.
SplinterGU
21/04/2021, 15:49
evolucion de la version para zx81
https://youtu.be/FgM75W52g00
petardea bastante por el emulador...
tengo otra version un poquito mas fluida... estoy trabajando en eso, pasando funciones de C a ASM, y se nota la diferencia...
SplinterGU
21/04/2021, 16:15
asi es, zx81... con colores y sonido AY, parece spectrum... aunque ligeramente mas lenta...
masteries
21/04/2021, 16:45
Ya se ha perdido el norte... zx81s que se creen un ZX Spectrum, Ataris que se creen una NeoGeo...
¿dónde vamos a llegar?
Increíble cómo le has sacado el partido a un muy humilde zx81
SplinterGU
21/04/2021, 17:05
Ya se ha perdido el norte... zx81s que se creen un ZX Spectrum, Ataris que se creen una NeoGeo...
¿dónde vamos a llegar?
Increíble cómo le has sacado el partido a un muy humilde zx81
tal cual, asi es... se ha perdido el norte... y hasta hace unos meses no crei que fuese posible hacer algo asi en un zx81... esta bien que tiene un poco de ayuda, con algunos cacharros extra... pero vamos que a fin de cuentas es un zx81...
gracias!
tal cual, asi es... se ha perdido el norte... y hasta hace unos meses no crei que fuese posible hacer algo asi en un zx81... esta bien que tiene un poco de ayuda, con algunos cacharros extra... pero vamos que a fin de cuentas es un zx81...
gracias!
¿De qué complementos estamos hablando?
¿De qué complementos estamos hablando?
según el titulo, WRX (ni idea que hace), Chroma8 (supongo que para poner color por el nombre) y ZonX (ni idea), pero uno de ellos es para el sonido XD
SplinterGU
22/04/2021, 01:03
- ZXpand o rampack modeado de 32k (WRX+memoria, WRX = graficos alta definicion, es un mod simple al rampack)
- Chroma 81 (soporte color)
- Zon-X (sonido AY)
masteries
22/04/2021, 11:14
Creía que sólo había una expansión de memoria RAM,
Básicamente se le están añadiendo las cosas que lleva un Spectrum,
SplinterGU
22/04/2021, 16:53
Creía que sólo había una expansión de memoria RAM,
Básicamente se le están añadiendo las cosas que lleva un Spectrum,
si y no, no es tan simple... estos accesorios estan desde hace tiempo... y no he visto un juego que le saque provecho a todo esto...
no es tan simple, porque la alta resolucion tiene su costo... no es una ULA, asi que el HR se hace por software... el mod del rampack es solo para poder refrescar la parte alta y poder accederla como una una memoria espejo... los 32k de arriba no se pueden usar para codigo... solo para datos... lo cual es un problema...
obviamente es mucho mas lenta que un spectrum, el basic, y la rom, no se modifica...
chroma81 es del 2014
zxpand al menos del 2011 (pero es una opcion, puede usarse un rampack)
rampack de la epoca del zx81
zon-x al menos 2015
creo que este es el unico juego para zx81 que usa todo... quizas lo hay, pero desconozco...
SplinterGU
20/06/2021, 18:50
libero proyecto https://bitbucket.org/SplinterGU/space-invaders/src/master/
Le he echado un vistazo rápido por encima y creo que nunca me acostumbrare al ensamblador del Z80, se me hace muy raro/dificil de leer, no sé si es porque los registros van con letras o por los nemónicos de las instrucciones. Aunque viniendo del 68000 se entiende en parte porque es un procesador muy fácil de programar en ensamblador.
SplinterGU
21/06/2021, 01:46
Le he echado un vistazo rápido por encima y creo que nunca me acostumbrare al ensamblador del Z80, se me hace muy raro/dificil de leer, no sé si es porque los registros van con letras o por los nemónicos de las instrucciones. Aunque viniendo del 68000 se entiende en parte porque es un procesador muy fácil de programar en ensamblador.
muchas gracias por los comentarios, tambien he dejado todas las viejas funciones en C, comentadas, pero reemplazan las de asm... asi que cualquiera con ganas, puede facilmente pasarlo a otras plataformas directamente en C (con las minimas modificaciones pertinentes)...
MasterGame
24/06/2021, 13:01
Muy bueno!
masteries
24/06/2021, 14:12
Le he echado un vistazo rápido por encima y creo que nunca me acostumbrare al ensamblador del Z80, se me hace muy raro/dificil de leer, no sé si es porque los registros van con letras o por los nemónicos de las instrucciones. Aunque viniendo del 68000 se entiende en parte porque es un procesador muy fácil de programar en ensamblador.
Pues con el ensamblador del 68000 cometí algunos errores, al interpretar cómo funcionaban algunas instrucciones, que provocaban unos buenos bombacos en el STE
Ahora, ¿el ensamblador generaba código máquina incorrecto? Porque eran instrucciones que no podían hacer lo que pretendía hacer con ellas, y el muy ***** no decía nada al generar el ejecutable xD
Y sí, el ensamblador del 68000 es amigable, aunque también depende de lo que quieras hacer; porque para orquestar la partitura que gestiona los loops que componen la música, son todo .wavs, fué mucho más simple hacerlo con una sencilla función en C con un switch y algunos if-else dentro, que hacerlo en ensamblador... de hecho en ensamblador, el comprobar si había terminado de reproducirse tantas veces un loop, y si tenía que saltar a tal posición de la partitura y reemplazar ese canal... se empezó a volver un laberinto.
Tampoco me quiero imaginar el infierno horroroso que tiene que ser gestionar una lista de entidades, los sprites por ejemplo; saber quienes están marcados para seguir ejecutando su función de dibujado, de IA y de colisión. A quienes hay que eliminar, liberar su estructura de datos y marcarla como libre para otra posible entidad... quién se tiene que dibujar por encima de cualquier otro...
Esa gestión en las AGT, la vez que le eché un vistazo, está escrita en C.
Pues con el ensamblador del 68000 cometí algunos errores, al interpretar cómo funcionaban algunas instrucciones, que provocaban unos buenos bombacos en el STE
Ahora, ¿el ensamblador generaba código máquina incorrecto? Porque eran instrucciones que no podían hacer lo que pretendía hacer con ellas, y el muy ***** no decía nada al generar el ejecutable xD
No creo que sea culpa del ensamblador, pero ten en cuenta que si accedes a una dirección impar como .w o .l tendrás un address error. Y si accedes a los registros hardware o vectores de interrupción sin estar en modo supervisor tendrás un bus error.
-----Actualizado-----
Ahora importa poco porque lo normal es que ensambles en PC y después pruebes las cosas en un emulador, pero programar en el 68000 es muchísimo mas fácil que en cualquier procesador de 8 bits, si intentas hacer algo ilegal o haces un salto mal a una zona donde no hay código te saltara alguna excepción, en un z80 o 6502 sigue para adelante hasta que se cuelga la maquina, por lo que te costara mas encontrar el error.
SplinterGU
24/06/2021, 18:13
Pues con el ensamblador del 68000 cometí algunos errores, al interpretar cómo funcionaban algunas instrucciones, que provocaban unos buenos bombacos en el STE
Ahora, ¿el ensamblador generaba código máquina incorrecto? Porque eran instrucciones que no podían hacer lo que pretendía hacer con ellas, y el muy ***** no decía nada al generar el ejecutable xD
Y sí, el ensamblador del 68000 es amigable, aunque también depende de lo que quieras hacer; porque para orquestar la partitura que gestiona los loops que componen la música, son todo .wavs, fué mucho más simple hacerlo con una sencilla función en C con un switch y algunos if-else dentro, que hacerlo en ensamblador... de hecho en ensamblador, el comprobar si había terminado de reproducirse tantas veces un loop, y si tenía que saltar a tal posición de la partitura y reemplazar ese canal... se empezó a volver un laberinto.
Tampoco me quiero imaginar el infierno horroroso que tiene que ser gestionar una lista de entidades, los sprites por ejemplo; saber quienes están marcados para seguir ejecutando su función de dibujado, de IA y de colisión. A quienes hay que eliminar, liberar su estructura de datos y marcarla como libre para otra posible entidad... quién se tiene que dibujar por encima de cualquier otro...
Esa gestión en las AGT, la vez que le eché un vistazo, está escrita en C.
juraria recordar que habias hecho cosas en ensamblador...
sin dudas C es mas facil... pero es cuestion de practica, yo hacia muchisimos años que no tocaba asm... bah, incluso hacia un tanto que no programaba nada... y hasta me costo unos minutos cosas como un puntero para acceder a cierta zona de la memoria... bah, no es que no lo hice, sino que lo hice muy rebuscado...
masteries
25/06/2021, 09:51
juraria recordar que habias hecho cosas en ensamblador...
sin dudas C es mas facil... pero es cuestion de practica, yo hacia muchisimos años que no tocaba asm... bah, incluso hacia un tanto que no programaba nada... y hasta me costo unos minutos cosas como un puntero para acceder a cierta zona de la memoria... bah, no es que no lo hice, sino que lo hice muy rebuscado...
Si, y las he hecho, y funcionando están... ¡y tan contento y orgulloso de ello!
Pero algunas otras que he intentado (alguna cosilla con una ejecución muy condicional y con alguna realimentación por en medio), se terminaban volviendo muy farragosas en ensamblador, y en cambio en C con unas pocas líneas quedaba más elegante, legible y práctico. Por eso me dí cuenta, que depende de lo que vayas a hacer, puede ser más interesante o práctico el ensamblador o el C.
SplinterGU
27/06/2021, 20:51
ya me parecia que tan loco no podia estar... :D
si, sin dudas C es mas facil, por eso empece el juego en C, y fui luego pasando a ASM por cuestiones de velocidad y espacio, donde el compilador/optimizador de C no hacia tan buen trabajo... de hecho no hace buen trabajo, mete demasiado codigo extra ASM innecesario... y ahi es donde tuve que meter mano para hacer el port a zx81 (y tambien lograr mejora en zx spectrum)
Oye, pues si os aburrís, le podríais meter mano al Nba Jam de recreativa, jeje
GitHub - historicalsource/nba-jam: A fast-paced basketball game (https://github.com/historicalsource/nba-jam)
Lo malo es la CPU, pero si se coge el código fuente de alguna recreativa que use un z80 o 68000... eso si, también debe incluir los gráficos y sonidos.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.