Galaga CPC

Ciao,
ho usato i miei ultimi crediti su Claude per creare una versione di Galaga per CPC e ci sto lavorando per renderla giocabile.
Come al solito con tutti i miei progetti Claude, voglio che siano un progetto cpcteleraNext completo e funzionante, così da poter capire e, soprattutto, fare modifiche.

Ecco i progressi, per ora è un po’ lento.

15 Mi Piace

Un piccolo teaser mentre è in corso una ricompilazione con ottimizzazione completa.

Solo per informazione, per realizzare questa versione ho usato tutti i miei crediti Cloud, compresi i 100$ gratuiti inclusi (promozione per testare il Cloud).


9 Mi Piace

Divertiti, Galaga è davvero un ottimo gioco.

Il gioco funziona con 64KB sui CPC classici e non ha caricamenti successivi.
Quasi tutto il codice è in C e utilizza la libreria cpcteleraNext, ma per problemi di velocità e dimensioni della memoria alcune funzioni specifiche sono state scritte in assembler.

Beh, è un’ottima dimostrazione di ciò che si può fare con cpcteleraNext (e Claude.IA)

Il gioco è leggermente semplificato, ma la maggior parte delle funzionalità del gioco originale è presente.
Il mio obiettivo principale era renderlo giocabile.

Galaga_cpctelera.dsk (199.8 KB)

13 Mi Piace

Allora forse era proprio questo che si percepiva nel tuo post? Questo, insieme alla struttura (sezioni in markdown), lo faceva sembrare proprio una risposta dell’IA copiata e incollata. E ad essere del tutto sincero, dopo aver dato una lettura veloce al post e aver avvertito quell’aria da IA, non l’ho letto davvero fino in fondo, quindi mi è sfuggito il … ho chiesto a Claude di … Errore mio.

Non fraintendermi, però. Non sono contrario all’uso dell’IA per fare ricerche (lo faccio spesso anch’io), ma secondo me, quando si condividono i risultati online, dovrebbe essere chiaramente segnalato come tale (e non nascosto da qualche parte a metà post).

1 Mi Piace

Caspita — sembra davvero favoloso e lo apprezzo molto — ma è chiaramente piuttosto lento. Se si riuscisse a migliorarne la velocità, sarebbe fantastico!

L’ho appena caricato su hardware reale — un altro problema che ho riscontrato è l’assenza del raggio da parte dei boss Galaga nei livelli 1 e 2. Li lascio volutamente indietro per raddoppiare la navicella per il Challenging Stage, ma il raggio non compariva — se restano diversi boss Galaga, almeno uno di loro dovrebbe averlo. È una parte fondamentale del gioco.

Può essere sicuramente più veloce — le formazioni e il Challenging Stage — anzi, quando rimangono solo pochi personaggi sullo schermo, poi va persino troppo veloce.

1 Mi Piace

È davvero pazzesco! Sembra che Cloud abbia fatto il reverse engineering del gioco arcade originale?

Mi interesserebbe leggere l’intera conversazione solo per soddisfare la mia curiosità…

1 Mi Piace

Sì, ho dato a Claude.AI la ROM MAME del gioco, la repository cpcteleraNext ed esempi dei miei giochi.

1 Mi Piace

Quindi questo gioco è davvero notevole per essere una versione creata da un’IA: è un po’ lento, ma è giocabile e ha un bel look.

Tuttavia, mi è concesso essere un po’ critico e dire che una cosa del genere potrebbe scoraggiare i programmatori umani dal realizzarne una versione che funzioni meglio? Un po’ come è successo per le traduzioni IA dei retrogaming (che funzionano, ma perdono lo spirito del testo originale), accusate di aver scoraggiato le vere traduzioni umane, dato che alcune persone pensano che non ne valga la pena visto che esiste già una traduzione accurata, anche se non granché.

Sarei davvero incredibilmente interessato a dare un’occhiata al codice sorgente!

1 Mi Piace

Questa nuova versione ha sicuramente delle cose da sistemare (magari potesse non riprodurre la musica d’avvio all’inizio di ogni livello!), ma ha azzeccato parecchi aspetti. È troppo lenta, certo, ma fa davvero la sua figura. La semplice separazione dei colori da giallo a bianco funziona benissimo. È un ottimo proof of concept. Mi chiedo quanto possa diventare più veloce.

I file sprite sono pre-shiftati e compilati? Se lo schermo fosse 32x32, le routine degli sprite potrebbero essere un po’ velocizzate. Ci sarebbero al massimo circa 40 sprite sullo schermo, ma più tipicamente una ventina. Potrebbero essere tutti disegnati senza maschera ed eliminare la propria scia da soli, invece di essere completamente cancellati a ogni frame.

2 Mi Piace

Un altro problema… Galaga ha in realtà un numero enorme di sprite. A occhio e croce circa un’ottantina. Ma se si contano le varianti di palette, si sale a circa 150. Inoltre, devono essere specchiati in orizzontale, in verticale e in entrambi i modi, quindi 600. Sembra che ogni astronave del gioco abbia 32 frame di rotazione. E poi, se li pre-shifiti per il CPC, si arriverebbe a 2400 sprite. Argh.

Non vengono usati tutti contemporaneamente, però. Alcuni non li ho mai visti, quindi non sono sicuro che siano effettivamente nel gioco o solo nello sprite sheet. Si potrebbe magari inventare qualcosa di astuto con del codice self-modifying per creare degli stampi per gli sprite.

Penso che la cosa si possa ridurre a 12 astronavi x 32 rotazioni, dimenticandosi della maggior parte delle varianti di palette, arrivando così a “soli” 384. Rinunciando agli sprite compilati, si possono ribaltare in verticale abbastanza facilmente, quindi la metà. Facendoli muovere in orizzontale solo a passi di 2 pixel, si dimezza il numero di pre-shift… e si torna a 384. Sono tutti 16x16, quindi 16x4 byte = 64 byte ciascuno. Quindi ok, 24k di dati sprite per le astronavi…?

Forse si potrebbe anche ridurre il numero di rotazioni a 16.

4 Mi Piace

Penso che ora vada bene, deve girare un po’ più veloce.

Ehiiii bentornato amico!! È un piacere riaverti qui :slight_smile:

La citazione corretta dovrebbe essere «L’IA fa un lavoro migliore rispetto a una persona in carne e ossa che non sa cosa sta facendo».

Questa versione di Galaga ci assomiglia molto di più: è abbastanza valida da meritarsi una versione a sé, ma ha del potenziale anche qui.

1 Mi Piace

Sto lavorando alla versione CPC+ (con cpcteleraNext), ho trovato un bel layout di schermo e dei bei colori.


13 Mi Piace

THREAD (PARZIALMENTE) PULITO.

Per favore, rimaniamo in argomento.

Potete continuare le discussioni relative all’IA qui:

P.S. Se pensate che altri commenti debbano essere spostati, fatelo presente

2 Mi Piace

Ecco un’anteprima (work in progress) di GalagaPlus per CPC+ 128k (è in fase di sviluppo anche una versione per 64k).

C’è qualche bug, ma promette davvero bene. La prossima versione uscirà la settimana prossima, quando mi si ricaricheranno i crediti di Claude.AI.

Eravamo a metà strada nel discorso su come ottimizzare l’uso dell’hardware degli sprite e i trucchi raster.

GalagaPlus.dsk (199.8 KB)

3 Mi Piace

Visivamente è davvero bello, ma i nemici sembrano puntare alla tua nave in modo decisamente troppo aggressivo: la loro unica modalità di attacco è «mira alla nave del giocatore», il che riduce di molto la giocabilità.

E sebbene ci sia un rallentamento quando gli alieni compaiono inizialmente sullo schermo, diventano incredibilmente veloci una volta che iniziano a scendere verso di te!

L’audio e la musica sono carini :slight_smile:

Sì, in effetti non è proprio giocabile. Tengo a mente i tuoi commenti.

Ciao a tutti,

ecco tre versioni di Galaga: una per CPC classico, una per CPC+ 64KB (per GX4000) e l’ultima per CPC+ 128KB.

In questa versione, il comportamento dei nemici dovrebbe essere più fedele all’originale e il gioco dovrebbe girare più velocemente.

La versione a 128KB include quasi tutti i suoni e gli sprite del gioco originale.

Non sono un grande esperto del gioco, quindi non posso dire con certezza se sia del tutto fedele.

Spero che vi piaccia.

Galaga.dsk (199.8 KB)

GalagaPlus.dsk (199.8 KB)

GalagaPlus128k.dsk (199.8 KB)

8 Mi Piace

Non so se sia fedele, ma quantomeno sta cercando di fare le cose per bene.

1 Mi Piace