Galaga CPC

Hola,
he usado mis últimos créditos de Claude para hacer una versión de Galaga para CPC, y estoy trabajando en ella para conseguir algo jugable.
Como de costumbre con todos mis proyectos de Claude, quiero que sea un proyecto de cpcteleraNext completo y funcional, de forma que pueda entenderlo y, sobre todo, hacer modificaciones.

Aquí está el avance; por ahora va un poco lento.

15 Me gusta

Un pequeño adelanto mientras se realiza una reconstrucción con optimización completa.

Solo para su información, para hacer esta versión usé todos mis créditos de la nube con los 100 $ gratis que tenía (una promoción para probar la nube).


9 Me gusta

¡Que te diviertas! Galaga es un juego buenísimo.

El juego funciona con 64 KB en un CPC clásico y sin cargas posteriores.
Casi todo el código está escrito en C y usa la librería cpcteleraNext, pero por problemas de velocidad y tamaño de memoria, algunas funciones específicas se escribieron en ensamblador.

En fin, es una demostración excelente de lo que se puede hacer con cpcteleraNext (y Claude.IA).

El juego está ligeramente simplificado, pero la mayoría de las características del juego original están presentes.
Mi objetivo principal era que fuera jugable.

Galaga_cpctelera.dsk (199.8 KB)

13 Me gusta

¿Entonces tal vez eso fue lo que me olió raro en tu publicación? Esto y la estructura (secciones en markdown) hicieron que pareciera la respuesta de una IA copiada y pegada. Y siendo honesto, tras echarle un vistazo por encima a la publicación y notar ese «aire a IA», la verdad es que no la leí entera, así que pasé por alto lo de … le pedí a Claude que … Mala mía.

Pero no me malinterpretes. No estoy en contra de usar IA para investigar (yo lo hago un montón), pero en mi opinión, cuando se comparten los resultados en internet, debería señalarse claramente como tal (y no dejarlo escondido por ahí en medio del texto).

1 me gusta

¡Guau! Se ve increíble y se agradece muchísimo, pero es evidentemente bastante lento. Si se pudiera mejorar la velocidad, ¡sería fantástico!

Acabo de probarlo en el hardware real y me surgió otro problema: los jefes Galaga de las fases 1 y 2 no lanzan el rayo. A propósito los dejo pasar para conseguir la nave doble de cara a la fase de desafío (Challenging Stage), pero no había rayo. Si quedan varios jefes Galaga, al menos uno de ellos debería lanzar el rayo. Esa es una parte fundamental del juego.

Sin duda puede ir más rápido, sobre todo las formaciones y la fase de desafío; de hecho, cuando solo quedan unos pocos personajes en pantalla, se acelera demasiado.

1 me gusta

¡Esto es alucinante! ¿Parece que Cloud hizo ingeniería inversa del juego de arcade original?

Me interesaría leer la conversación completa solo para satisfacer mi curiosidad…

1 me gusta

Sí, le pasé a Claude.AI la ROM de MAME del juego, el repositorio de cpcteleraNext y ejemplos de mis juegos.

1 me gusta

La verdad es que este juego impresiona bastante para ser una versión creada por IA; va un poco lento, pero se deja jugar y tiene buena pinta.

Sin embargo, ¿se me permite ser un poco negativo y decir que algo así podría desanimar a los programadores humanos a hacer una versión que funcione mejor? Parecido a como se ha acusado a las traducciones de juegos retro hechas por IA (que funcionan, pero pierden la esencia del texto original) de desanimar las traductions humanas hechas como dios manda, ya que algunas personas sienten que no tiene sentido hacerlas si ya hay una traducción precisa, aunque no sea una maravilla.

¡Me interessaría muchísimo ver el código fuente!

1 me gusta

Esta nueva versión tiene cosas que hay que corregir (ojalá no pusiera la música del principio al empezar cada fase), pero ha acertado en mucho. Es demasiado lenta, por supuesto, pero se ve de maravilla. La sencilla división de colores entre amarillo y blanco funciona muy bien. Es una buena prueba de concepto. Me pregunto cuánto más rápida se podría hacer.

¿Están los sprites desplazados previamente (pre-shifted) y compilados? Si la pantalla fuera de 32x32, las rutinas de los sprites se podrían acelerar un poco. Habría unos 40 sprites en pantalla como mucho, pero lo normal serían unos 20. Se podrían dibujar todos sin máscara y podrían borrar sus propios rastros en lugar de limpiarse por completo en cada fotograma.

2 Me gusta

Otro problema… En realidad, Galaga tiene un montón de sprites. A ojo, unos 80 más o menos. Pero si cuentas las paletas alternativas, son más bien 150. Además, hay que reflejarlos en horizontal, en vertical y en ambos ejes, así que nos vamos a 600. Parece que cada nave del juego tiene 32 fotogramas de rotación. Y si además los predesplazas para el CPC, eso daría unos 2400 sprites. ¡Uf!

Aunque no se usan todos a la vez. Hay algunos que no he visto nunca, así que no sé si realmente están en el juego o solo en la hoja de sprites. Quizás se podría hacer algo ingenioso con código automodificable para crear estampados de sprites.

Creo que podrías reducirlo a 12 naves x 32 rotaciones y olvidarte de la mayoría de las paletas alternativas, con lo que se quedaría en «solo» 384. Si renuncias a los sprites compilados, puedes voltearlos en vertical de forma bastante sencilla, lo que reduce la cifra a la mitad. Y si haces que solo se muevan en horizontal en pasos de 2 píxeles, reduces los predesplazamientos a la mitad… así que volvemos a 384. Todos miden 16x16, así que 16x4 bytes = 64 bytes cada uno. Vale, ¿entonces unos 24 KB de datos de sprites para las naves…?

Tal vez también podrías reducir el número de rotaciones a 16.

4 Me gusta

Creo que ahora está bien, tiene que girar un poco más rápido.

¡¡Heeeeeey bienvenido, hermano!! Qué bueno tenerte de vuelta :slight_smile:

La frase real debería ser «la IA hace un mejor trabajo que una persona de verdad que no sabe lo que hace».

Esta versión de Galaga sí que promete mucho más: es lo suficientemente buena como para justificar su propia versión, pero también tiene sus méritos aquí.

1 me gusta

Trabajando en la versión para CPC+ (con cpcteleraNext), he conseguido unos colores y una pantalla geniales.


13 Me gusta

HILO (PARCIALMENTE) LIMPIADO.

Por favor, mantengamos la conversación centrada en el tema.

Podéis continuar con los debates sobre IA aquí:

P. D.: Si creéis que se deberían mover otros comentarios, avisad por favor.

2 Me gusta

Aquí tenéis un adelanto de GalagaPlus para CPC+ 128k (también hay una versión en desarrollo para 64k).

Tiene algunos fallos, pero se ve de verdad genial. La próxima versión estará lista la semana que viene, cuando se recargue mi crédito de Claude.AI.

Estábamos en plena conversación sobre cómo optimizar el uso del hardware de sprites y los trucos de raster.

GalagaPlus.dsk (199.8 KB)

3 Me gusta

Visualmente se ve realmente bien, pero los enemigos parecen dirigirse a tu nave de forma demasiado agresiva; su único modo de ataque es «apuntar a la nave del jugador», lo que reduce bastante la jugabilidad.

Y aunque hay una ralentización cuando los alienígenas entran inicialmente en pantalla, ¡son increíblemente rápidos una vez que empiezan a bajarse hacia ti!

El sonido y la música están muy bien :slight_smile:

Sí, no es muy jugable que digamos. Tendré en cuenta tus comentarios.

Hola a todos:

Aquí tenéis tres versiones de Galaga: una para el CPC clásico, una para CPC+ de 64 KB (para GX4000) y la última para CPC+ de 128 KB.

En esta versión, el comportamiento de los enemigos debería ser más fiel al original y el juego debería funcionar más rápido.

La versión de 128 KB incluye casi todos los sonidos y sprites del juego original.

No soy un experto en el juego, así que no puedo asegurar si es completamente fiel.

Espero que lo disfrutéis.

Galaga.dsk (199.8 KB)

GalagaPlus.dsk (199.8 KB)

GalagaPlus128k.dsk (199.8 KB)

8 Me gusta

No sé si es fiel, pero al menos está intentando hacerlo bien.

1 me gusta