Galaga CPC

Γεια σου,
χρησιμοποίησα τα τελευταία μου credits στο Claude για να φτιάξω μια έκδοση του Galaga για το CPC, και το δουλεύω ώστε να γίνει κάτι που να παίζεται.
Όπως συνήθως με όλα τα projects μου στο Claude, θέλω να είναι ένα πλήρες και λειτουργικό cpcteleraNext project, ώστε να μπορώ να το καταλάβω και, κυρίως, να κάνω τροποποιήσεις.

Ορίστε η πρόοδος, είναι λίγο αργή προς το παρόν.

15 «Μου αρέσει»

Ένα μικρό teaser ενώ ετοιμάζεται ένα rebuild με πλήρη βελτιστοποίηση.

Απλώς για ενημέρωση, για να φτιάξω αυτήν την έκδοση χρησιμοποίησα όλα τα Cloud credits μου, μαζί με τα 100$ δωρεάν (προσφορά για τη δοκιμή του Cloud).


9 «Μου αρέσει»

Καλή διασκέδαση, το Galaga είναι πραγματικά πολύ καλό παιχνίδι.

Το παιχνίδι λειτουργεί με 64KB σε κλασικό CPC και δεν χρειάζεται φόρτωση στη συνέχεια.
Σχεδόν όλος ο κώδικας είναι σε C και χρησιμοποιεί τη βιβλιοθήκη cpcteleraNext, αλλά για λόγους ταχύτητας και μέγεθους μνήμης, ορισμένες συγκεκριμένες συναρτήσεις γράφτηκαν σε assembler.

Λοιπόν, είναι μια πολύ καλή επίδειξη του τι μπορεί να γίνει με το cpcteleraNext (και το Claude.IA)

Το παιχνίδι είναι ελαφρώς απλοποιημένο, αλλά τα περισσότερα χαρακτηριστικά του αρχικού παιχνιδιού είναι παρόντα.
Ο κύριος στόχος μου ήταν να είναι εύχρηστο και διασκεδαστικό στο παιχνίδι.

Galaga_cpctelera.dsk (199.8 KB)

13 «Μου αρέσει»

Τότε ίσως αυτό ήταν που μυρίστηκα στην ανάρτησή σου; Αυτό και η δομή (ενότητες markdown) την έκαναν απλά να μοιάζει με αντιγραμμένη απάντηση από AI. Και για να είμαι εντελώς ειλικρινής, αφού έριξα μια ματιά στην ανάρτηση και ένιωσα αυτό το AI vibe, δεν τη διάβασα πραγματικά και πλήρως, οπότε παρέβλεψα το … I asked Claude to … Δικό μου το λάθος.

Μην με παρεξηγείς, όμως. Δεν είμαι κατά της χρήσης AI για έρευνα (το κάνω κι εγώ πολύ), αλλά κατά τη γνώμη μου θα έπρεπε να επισημαίνεται σαφώς ως τέτοια (και όχι να είναι κρυμμένη κάπου στη μέση μιας ανάρτησης) όταν μοιράζεσαι τα αποτελέσματα στο διαδίκτυο.

1 «Μου αρέσει»

Ουάου - φαίνεται εκπληκτικό και το εκτιμώ ιδιαίτερα - αλλά είναι προφανώς αρκετά αργό. Αν μπορούσε να βελτιωθεί η ταχύτητα - θα ήταν καταπληκτικό!

Μόλις το φόρτωσα σε πραγματικό υλικό (hardware) - ένα άλλο πρόβλημα που είχα ήταν ότι δεν υπήρχε ακτίνα από τα αρχηγικά Galaga (boss Galagas) στις Πίστες 1 και 2. Τα αφήνω επίτηδες για να διπλασιαστώ για την Πίστα Πρόκλησης (Challenging Stage) - αλλά δεν υπήρχε ακτίνα - αν έχουν απομείνει عدة αρχηγικά Galaga, τουλάχιστον ένα από αυτά θα έχει ακτίνα. Αυτό είναι πολύ σημαντικό μέρος του παιχνιδιού.

Σίγουρα μπορεί να γίνει πιο γρήγορο - οι σχηματισμοί και η πίστα πρόκλησης - για την ακρίβεια, μόλις απομείνουν μόνο λίγοι χαρακτήρες στην οθόνη, μετά πάει πολύ γρήγορα.

1 «Μου αρέσει»

Αυτό είναι πραγματικά εντυπωσιακό! Φαίνεται πως ο Cloud έκανε reverse engineering στο πρωτότυπο παιχνίδι arcade;

Θα μ’ ενδιέφερε να διαβάσω ολόκληρη τη συζήτηση, έτσι απλά για να ικανοποιήσω την περιέργειά μου..

1 «Μου αρέσει»

Ναι, έδωσα στο Claude.AI τη MAME ROM του παιχνιδιού, το repository του cpcteleraNext και παραδείγματα από τα παιχνίδια μου.

1 «Μου αρέσει»

Oπότε αυτό το παιχνίδι είναι πολύ εντυπωσιακό για έκδοση δημιουργημένη από AI - είναι λίγο αργό αλλά παίζεται και φαίνεται ωραίο.

Ωστόσο, μου επιτρέπεται να είμαι λίγο αρνητικός εδώ και να πω ότι κάτι τέτοιο μπορεί να αποθαρρύνει τους ανθρώπους προγραμματιστές από το να φτιάξουν μια έκδοση που τρέχει καλύτερα; Όπως ακριβώς οι μεταφράσεις ρετρό παιχνιδιών από AI (οι οποίες λειτουργούν, αλλά χάνουν το πνεύμα του πρωτότυπου κειμένου) έχουν κατηγορηθεί ότι αποτρέπουν τις σωστές ανθρώπινες μεταφράσεις, καθώς ορισμένοι θεωρούν ότι δεν υπάρχει λόγος, εφόσον υπάρχει μια μετάφραση που είναι ακριβής, ακόμα κι αν δεν είναι σπουδαία.

Θα με ενδιέφερε πάρα πολύ να ρίξω μια ματιά στον πηγαίο κώδικα!

1 «Μου αρέσει»

Aυτή η νέα έκδοση έχει πράγματι κάποια σημεία που χρειάζονται διόρθωση (μακάρι να μην έπαιζε τη μουσική έναρξης στην αρχή κάθε πίστας), αλλά πέτυχε πολλά πράγματα. Είναι πολύ αργή φυσικά, αλλά δείχνει πραγματικά πολύ ωραία. Ο απλός διαχωρισμός χρωμάτων από κίτρινο σε λευκό λειτουργεί εξαιρετικά. Είναι ένα καλό proof of concept. Αναρωτιέμαι πόσο πιο γρήγορα θα μπορούσε να τρέξει.

Είναι τα sprites προ-εκτοπισμένα (pre-shifted) και είναι μεταγλωττισμένα (compiled); Αν η οθόνη ήταν 32x32, οι ρουτίνες των sprites θα μπορούσαν να επιταχυνθούν λίγο. Θα υπήρχαν το πολύ περίπου 40 sprites στην οθόνη, αλλά πιο συχνά γύρω στα 20. Θα μπορούσαν να σχεδιάζονται όλα χωρίς μάσκα (unmasked) και να σβήνουν τα ίδια τα ίχνη τους, αντί να καθαρίζονται εντελώς σε κάθε καρέ.

2 «Μου αρέσει»

Άλλο ένα πρόβλημα… Το Galaga έχει στην πραγματικότητα έναν τεράστιο αριθμό από sprites. Γύρω στα 80 από όσο φαίνεται. Αλλά αν υπολογίσεις και τις αλλαγές παλέτας (palette swaps), φτάνουν σχεδόν τα 150. Επίσης πρέπει να καθρεφτίζονται οριζόντια, κατακόρυφα και στα δύο, οπότε 600. Φαίνεται πως κάθε σκάφος στο παιχνίδι έχει 32 καρέ περιστροφής. Κι αν τα μετατοπίσεις εκ των προτέρων (pre-shift) για τον CPC, αυτό σημαίνει 2400 sprites. Άουτς.

Βέβαια δεν χρησιμοποιούνται όλα ταυτόχρονα. Κάποια δεν τα έχω δει ποτέ, οπότε δεν είμαι σίγουρος αν βρίσκονται στο παιχνίδι ή απλά στο sprite sheet. Ίσως θα μπορούσες να κάνεις κάτι έξυπνο με αυτοτροποποιούμενο κώδικα (self-modifying code) για να φτιάξεις sprite stamps.

Νομίζω ότι θα μπορούσες να το περιορίσεις σε 12 σκάφη x 32 περιστροφές, και να ξεχάσεις τις περισσότερες αλλαγές παλέτας, οπότε «μόνο» 384. Αν εγκαταλείψεις τα compiled sprites, μπορείς να τα αναποδογυρίσεις κατακόρυφα αρκετά εύκολα, οπότε τα μισά από αυτά. Κάνε τα να κινούνται οριζόντια μόνο ανά βήματα των 2 pixel, οπότε μειώνεις στο μισό τον αριθμό των pre-shifts… πίσω στα 384. Είναι όλα 16x16, άρα 16x4 bytes = 64 bytes το καθένα. Οπότε εντάξει, 24k δεδομένων sprite για τα σκάφη…;

Ίσως θα μπορούσες να μειώσεις και τον αριθμό των περιστροφών σε 16.

4 «Μου αρέσει»

Νομίζω ότι τώρα είναι καλό, πρέπει να περιστρέφεται λίγο πιο γρήγορα.

Εεεεϊ καλώς όρισες φίλε!! Χαρά μας που σε έχουμε ξανά μαζί μας :slight_smile:

Το πραγματικό ρητό θα έπρεπε να είναι «Η AI κάνει καλύτερη δουλειά από έναν πραγματικό άνθρωπο που δεν ξέρει τι κάνει».

Αυτή η έκδοση του Galaga είναι πολύ πιο κοντά σε αυτό — αρκετά καλή ώστε να δικαιολογεί τη δική της έκδοση, αλλά έχει την αξία της κι εδώ.

1 «Μου αρέσει»

Δουλεύοντας στην CPC+ έκδοση (με cpcteleraNext), βρήκα ωραία οθόνη και χρώματα.


13 «Μου αρέσει»

ΤΟ ΝΗΜΑ ΕΚΑΘΑΡΙΣΤΗΚΗ (ΚΑΠΩΣ).

Ας μείνουμε στο θέμα μας παρακαλώ.

Μπορείτε να συνεχίσετε τις συζητήσεις σχετικά με την Τεχνητή Νοημοσύνη (AI) εδώ:

ΥΓ. αν πιστεύετε ότι πρέπει να μεταφερθούν κι άλλα σχόλια, ενημερώστε μας

2 «Μου αρέσει»

Ορίστε ένα προσχέδιο (work in progress) του GalagaPlus για CPC+ 128k (μια έκδοση για 64k βρίσκεται επίσης υπό ανάπτυξη).

Υπάρχουν ορισμένα bugs, αλλά φαίνεται πραγματικά πολύ ωραίο. Η επόμενη έκδοση θα είναι έτοιμη την επόμενη εβδομάδα, μόλις ανανεωθεί το υπόλοιπο (credit) μου στο Claude.AI.

Ήμασταν στη μέση μιας συζήτησης σχετικά με το πώς να βελτιστοποιήσουμε τη χρήση των hardware sprites και τα raster tricks.

GalagaPlus.dsk (199.8 KB)

3 «Μου αρέσει»

Οπτικά φαίνεται πολύ ωραίο, αλλά οι εχθροί φαίνεται να εγκλωβίζουν το σκάφος σου υπερβολικά επιθετικά - ο μόνος τρόπος επίθεσής τους είναι «στόχευσε το σκάφος του παίκτη», κάτι που μειώνει πολύ την παιξιμότητα.

Και ενώ υπάρχει επιβράδυνση όταν οι εξωγήινοι εμφανίζονται αρχικά στην οθόνη, γίνονται απίστευτα γρήγοροι μόλις αρχίσουν να ορμούν προς τα κάτω!

Ο ήχος και η μουσική είναι ωραία :slight_smile:

Nαι, πράγματι δεν είναι πολύ παιξίσιμο. Κρατάω τα σχόλιά σου υπόψη.

Γεια σε όλους,

ορίστε τρεις εκδόσεις του Galaga: μία για τον κλασικό CPC, μία για CPC+ 64KB (για την GX4000) και η τελευταία για CPC+ 128KB.

Σε αυτή την έκδοση, η συμπεριφορά των εχθρών θα πρέπει να είναι πιο πιστή στο πρωτότυπο και το παιχνίδι θα πρέπει να τρέχει πιο γρήγορα.

Η έκδοση των 128KB περιλαμβάνει σχεδόν όλους τους ήχους και τα sprites από το αρχικό παιχνίδι.

Δεν είμαι ειδικός στο παιχνίδι, οπότε δεν μπορώ να πω με βεβαιότητα αν είναι απόλυτα πιστό.

Ελπίζω να το απολαύσετε.

Galaga.dsk (199.8 KB)

GalagaPlus.dsk (199.8 KB)

GalagaPlus128k.dsk (199.8 KB)

8 «Μου αρέσει»

Δεν ξέρω αν είναι πιστό, αλλά τουλάχιστον προσπαθεί να το κάνει σωστά.

1 «Μου αρέσει»