Παιδιά, παιδιά. Διαβάστε τον τίτλο του θέματος, παρακαλώ.
Συγγνώμη, και πάλι. Δεν το πρόσεξα, απάντησα από μια ειδοποίηση μέσω email και νόμιζα ότι ήταν διαφορετικό νήμα.
Το νέο φόρουμ αρχίζει να μου αρέσει όλο και περισσότερο, σε σημείο που νομίζω ότι το προτιμώ από το παλιό, αλλά υπάρχουν ακόμα κάποια σημεία που είναι… μπερδευτικά ![]()
Ε, η ανάγνωση παραμένει η ίδια όπως και στο παλιό φόρουμ: διαβάζεις τον τίτλο του θέματος, αποφασίζεις αν είναι το σωστό, γράφεις μια απάντηση😁
Πλάκα κάνω. Ξέρω ότι αυτές οι συζητήσεις μοιάζουν, συν του ότι όταν η συζήτηση κυλάει, είναι πιο δύσκολο να μείνεις εντός θέματος.
Θα μπορούσα να γίνω εχθρικός αν αυτό βοηθάει να επαναφέρουμε τη συζήτηση στο θέμα μας. ![]()
Αυτό θα ήταν απολύτως σχετικό με το θέμα, παρόλο που λίγοι θα το έβλεπαν μετά τη διαγραφή ![]()
Αλλά σε αυτούς τους λίγους και καλούς απευθύνεται ![]()
rexbeng αυτή η κουβέντα ανάμεσα σε σένα και τον Gryzor μου δίνει μια ιδέα για ένα παιχνίδι… Θα το ψήσω λίγο με ΑΙ ![]()
τα λέμε σε λίγο.
Παρεμπιπτόντως:
Παλιότερα λάμβανες ένα email για κάθε νέα δημοσίευση σε ένα νήμα που παρακολουθούσες στο SMF. Έτσι, ακόμη κι αν διέγραφες ένα σχόλιο αμέσως, όλοι θα λάμβαναν ειδοποίηση μέσω email. Τώρα υπάρχει μια καθυστέρηση (15 λεπτά, νομίζω) όπου το σύστημα περιμένει πριν στείλει ειδοποίηση με email, σε περίπτωση που γίνουν αλλαγές ή προστεθούν περισσότερες απαντήσεις.
Σε παρακαλώ, κάν’ το έναν προσομοιωτή ανταλλαγής προσβολών!
Πόσο ταιριαστό, πολεμάς σαν αγελάδα!
Κατέληξα σε δύο ιδέες. Έγραψα από ένα prompt για την καθεμία και το άφησα να το κάνει. Χρησιμοποίησα το Claude (συνδεδεμένος στο δωρεάν πρόγραμμα). Θα ανεβάσω τους δίσκους μόλις είναι έτοιμοι — μπορεί να μου τελειώσει το session γρήγορα.
Θα ανεβάσω επίσης το prompt που χρησιμοποίησα ΚΑΙ την απάντησή του.
critic.zip (9.7 KB)
εγώ:
«Έχω μια ιδέα για παιχνίδι. Δισκέτες (βασισμένες στις δισκέτες 3" του Amstrad) πέφτουν από το πάνω μέρος της οθόνης, και σε κάθε δισκέτα είναι προσαρτημένη μια αγγλική λέξη. Πρέπει να πληκτρολογήσεις τη λέξη πριν η δισκέτα φτάσει στο κάτω μέρος της οθόνης. Αυτές οι δισκέτες αναπαριστούν τις πολυάριθμες κυκλοφορίες παιχνιδιών που έχει φτιάξει ο κόσμος. Οι λέξεις είναι τύπου ‘shit’, ‘rubbish’, ‘slop’, ‘garbage’, ‘junk’, ‘lazy’ κ.λπ. (δεν υπάρχουν δύο δισκέτες με την ίδια λέξη). Έχεις μια μπάρα “κακίας” («mean» meter) στο πλάι, η οποία μειώνεται αργά και, αν κάποια δισκέτα φτάσει στον πάτο, αφαιρείται ένα ποσό από τη μπάρα σου. Όταν η μπάρα φτάσει στο μηδέν, το παιχνίδι τελειώνει. Αν πληκτρολογήσεις μια λέξη, η δισκέτα εξαφανίζεται και το ποσό στη μπάρα κακίας αυξάνεται (μέχρι ένα μέγιστο). Όταν πληκτρολογείς, πρέπει να υπάρχει ο κλασικός δείκτης ‘…’. Χρησιμοποίησε το cpctelera. C. Παιχνίδι για Amstrad CPC.»
claude:
«Έγραψα ολόκληρο το παιχνίδι σε ένα μοναδικό αρχείο main.c, αλλά δεν το έχω κάνει compile ούτε το έχω τρέξει. Είναι γραμμένο για CPCtelera 1.5 σε Mode 1, οπότε έλεγξε τα ονόματα του API σε σχέση με την έκδοση που έχεις εγκατεστημένη.
Για να το κάνεις build, τρέξε cpct_mkproject critic, αντικατάστησε το src/main.c με αυτό το αρχείο και τρέξε make.
- Δισκέτες: σχεδιασμένες από συμπαγή πλαίσια (μπλε περίβλημα, λευκό μεταλλικό κάλυμμα, κίτρινη ετικέτα με γραμμές), επομένως δεν υπάρχουν assets προς μετατροπή. Κάθε μία έχει τη λέξη της κεντραρισμένη από κάτω, και δεν υπάρχουν δύο ενεργές δισκέτες με την ίδια λέξη.
- Πληκτρολόγηση: η γραμμή εντολών εμφανίζει ό,τι έχεις πληκτρολογήσει, με έναν κυλιόμενο δείκτη
.,..,...όσο μια λέξη βρίσκεται σε εξέλιξη. Ένα λάθος γράμμα μηδενίζει την πρόοδό σου και το DEL λειτουργεί ως backspace. - Μπάρα κακίας (Mean meter): η μπάρα στα δεξιά αδειάζει συνεχώς και κερδίζει 14 μονάδες όταν ολοκληρώνεις μια λέξη. Μια δισκέτα που χτυπάει στο πάτωμα κοστίζει 30, και το παιχνίδι τελειώνει στο μηδέν.
- Δυσκολία: κλιμακώνεται κάθε 8 λέξεις, με ταχύτερη πτώση και spawn. Οι σταθερές ρύθμισης (
GAIN,PENALTY,METER_START, καθώς και τα διαστήματα στη συνάρτησηsetDifficulty) βρίσκονται όλες κοντά στην αρχή του αρχείου. - Τίτλος: Το ονόμασα “The Critic”. Είναι προσωρινό όνομα, οπότε άλλαξέ το όπως θέλεις.
Η λίστα λέξεων περιέχει περίπου 53 καταχωρήσεις. Είναι εύκολο να προσθέσεις κι άλλες, αρκεί η καθεμία να έχει 8 χαρακτήρες ή λιγότερους και καμία να μην αποτελεί την αρχή μιας άλλης λέξης.»
claude μπλα μπλα κ.λπ.
εγώ:
«η οθόνη τίτλου μια χαρά, το κυρίως παιχνίδι παγώνει. εντόπισα το κόλλημα στο ‘box’. το πλάτος πρέπει να είναι 1-64 και το ύψος>0. κάπου στον κώδικα δεν είναι;»
claude:
«Ναι, ο ένοχος είναι η γραμμή του πατώματος στο drawPlayfieldFrame: η εντολή box(0, FLOOR, 70, 1, P1) έχει πλάτος 70 byte, πάνω από το όριο των 64. Αυτό είναι το πρώτο πράγμα που σχεδιάζει η οθόνη του παιχνιδιού, κάτι που ταιριάζει απόλυτα με το πάγωμα. Κάθε άλλη κλήση της box έχει πλάτος 16 ή λιγότερο, και η box ήδη παραλείπει περιπτώσεις με μηδενικό πλάτος ή ύψος. Θα σχεδιάσω το πάτωμα σε δύο κομμάτια και θα κάνω rebuild.»
και voilà.. λίγη σαβούρα (αλλά στην πραγματικότητα αρκετά διασκεδαστική)… έρχεται το επόμενο
Αυτό ακούγεται πολύ τέλειο. Το δικό μας Typing of the Dead, ειδικά προσαρμοσμένο γι’ αυτό το νήμα. Ανυπομονώ για το dsk ![]()
ΥΓ: παρακαλώ προσθέστε μια πίστα σαν τελικό boss όπου πρέπει να αντιμετωπίσεις τον διαχειριστή: «παρακαλώ να είστε ευγενικοί, παρακαλώ μείνετε εντός θέματος, έχετε αποκλειστεί» κτλ. ![]()
όχι ακριβώς. το The Typing of the Dead έγινε «The critic» (δεν το ονόμασα εγώ). το dsk βρίσκεται μέσα στο zip.
insults.zip (8.0 KB)
εγώ:
«Έχω άλλη μια ιδέα για ένα παιχνίδι για το Amstrad CPC. Χρησιμοποίησε CPCtelera. C. Η οθόνη έχει δύο ανθρώπινα κεφάλια (προφίλ) σε κάθε πλευρά της οθόνης. Κάτω από κάθε κεφάλι υπάρχει μια μπάρα, δηλαδή υγεία, αλλά χωρίς τέτοια επισήμανση. Το παιχνίδι παίζεται με σειρές. Ένας παίκτης θα “αρχίζει να μιλάει” (το στόμα του ανοιγοκλείνει), κάτι που υποδεικνύει στον άλλο παίκτη ότι έρχεται μια λέξη. Στη συνέχεια, το στόμα θα παραμένει ανοιχτό και θα βγαίνει μια λέξη που αναπαρίσταται με !&*. Το μέγεθος δείχνει πόση ζημιά θα προκαλέσει. Μικρό, μεσαίο ή μεγάλο. Αυτή η λέξη θα κινείται από την πλευρά της οθόνης του παίκτη που μιλάει μέχρι την άλλη πλευρά του παίκτη που δεν μιλάει. Όταν φτάσει στον άλλο παίκτη, του παίρνει μέρος της ενέργειας. Στην ουσία ανταλλάσσετε προσβολές. Ο ένας παίκτης ελέγχεται από άνθρωπο, ο άλλος από τον υπολογιστή. Κάθε παίκτης μπορεί να επιλέξει τη δύναμη της λέξης που θα πει ή μπορεί να επιλέξει ένα επίπεδο μπλοκαρίσματος (3 επίπεδα: μικρό, μεσαίο, μεγάλο), το οποίο θα μειώσει μέρος της δύναμης της λέξης, αλλά όχι όλη.»
claude:
«Έγραψα την πρώτη λειτουργική έκδοση ως main.c. Ρίξε το στον φάκελο src/ ενός έργου CPCtelera. Δεν το έχω κάνει compile, οπότε υπολόγιζε να διορθώσεις ένα ή δύο τυπογραφικά λάθη στο πρώτο build.
Πώς παίζεται
- Σειρές: Το στόμα αυτού που μιλάει ανοιγοκλείνει και μετά μένει ανοιχτό καθώς εκτοξεύεται η λέξη. Ταξιδεύει απέναντι στο άλλο κεφάλι και αφαιρεί ενέργεια όταν φτάσει.
- Χειρισμός: Τα πλήκτρα 1/2/3 επιλέγουν το μέγεθος της λέξης (μικρό, μεσαίο ή μεγάλο) στη σειρά σου. Στη σειρά του υπολογιστή, επιλέγουν αντίθετα το επίπεδο άμυνας (block) σου. Μπορείς να αλλάξεις το μπλοκάρισμά σου όσο η λέξη εξακολουθεί να πετάει.
- Ζημιά: Οι μικρές, μεσαίες και μεγάλες λέξεις προκαλούν 6, 12 και 20 ζημιά από τους 96 πόντους υγείας.
- Μπλοκάρισμα: Τα επίπεδα άμυνας μειώνουν τη ζημιά κατά 25%, 50% και 75%, αλλά τα δύο υψηλότερα επίπεδα σου κοστίζουν 2 και 4 πόντους υγείας. Αυτό εμποδίζει το “μπλοκάρω πάντα μεγάλο” από το να είναι η καλύτερη στρατηγική.
- Ταχύτητα: Οι μεγάλες λέξεις ταξιδεύουν πιο αργά, οπότε έχεις περισσότερο χρόνο να αντιδράσεις σε αυτές.
- Εμφάνιση: Οι μπάρες υγείας δεν έχουν ετικέτες. Μικρά κουτάκια κάτω από κάθε μπάρα δείχνουν το τρέχον επίπεδο μπλοκαρίσματος.
- Υπολογιστής: Επιλέγει μεγέθη λέξεων τυχαία και επιλέγει ένα τυχαίο επίπεδο μπλοκαρίσματος κάθε φορά που μιλάς.
- Game over: Πάτησε SPACE μετά από νίκη ή ήττα για επανεκκίνηση.
Λεπτομέρειες
- Γραφικά: Τα κεφάλια σχεδιάζονται από συμπαγή κουτιά και αντιστρέφονται για τον δεξιό παίκτη, οπότε δεν υπάρχουν δεδομένα sprite ακόμα. Μπορείς να βάλεις κανονικά sprites προφίλ αργότερα.
- Ρυθμίσεις εξισορρόπησης: Οι πίνακες
DMG,SPEEDκαιBLK_COSTστην κορυφή είναι οι κύριοι ρυθμιστές της ισορροπίας (balance).
Τα επόμενα βήματα θα μπορούσαν να είναι πιο έξυπνη συμπεριφορά του υπολογιστή (για παράδειγμα, να μπλοκάρει περισσότερο όταν η υγεία του είναι χαμηλή), ηχητικά εφέ ή μια οθόνη τίτλου.»
εγώ:
«κρασάρει κατά την εκτέλεση. static const σε όλες τις μεταβλητές που είναι προ-αρχικοποιημένες, αλλιώς γίνονται compile ως μηδέν. έλεγξε αν η έκδοση των cpctelera και sdcc που χρησιμοποιούνται είναι συμβατές.»
claude:
μπλα μπλα το διόρθωσα
εγώ:
«αλλαγές: KO ανάμεσα στις μπάρες. η μπάρα στα αριστερά μειώνεται προς τα δεξιά, η μπάρα στα δεξιά μειώνεται προς τα αριστερά, όπως σε ένα κλασικό beat em up.
Πάνω από το κεφάλι στα αριστερά βάλε ‘SPEAK NOW’ ή ‘DEFEND’ ανάλογα με τη φάση.
Αν αμυνθώ και κρατήσω πατημένο το πλήκτρο, κάνει αυτόματα την επόμενη κίνηση, πράγμα που σημαίνει ότι δεν μπορώ να ελέγξω τη λέξη που θα πω.
Χρειάζεται οθόνη οδηγιών με ‘press space’ στην αρχή για να λέει τι να κάνεις.»
claude:
μπλα μπλα μπλα
επισυνάπτεται η δισκέτα. και έτοιμο.
Α, και αυτό κοστίζει £10. ![]()
Χρησιμοποίησε αριθμούς για να ελέγξεις το μέγεθος της λέξης και μετά ξανά για το πόσο θα προστατευτείς όταν μιλάει ο άλλος.»
Χαχαχαχ! Έχει απίστευτη πλάκα! Μάλιστα, αν ήταν στο itch, θα το αγόραζα και με ένα δολάριο! ![]()
Λοιπόν, αν δεν έχεις πρόβλημα να το κάνω:
insults.dsk (199.8 KB)
critic.dsk (199.8 KB)
Χαχαχαχαχα ειδικά το Critic τα σπάει ![]()
Χρειάζεται μια κανονική δισκέτα 3" και ίσως ένα λεξιλόγιο φτιαγμένο από παλιά τεύχη του AA κ.λπ. Επίσης, μερικά ακατάλληλα ηχητικά εφέ (sfx) θα έκαναν τη διαφορά…
Ρίξε μια ματιά στη νέα υλοποίηση ![]()
Είναι ειλικρινά πολύ ευχάριστο στο παιχνίδι, κρίμα που είμαι Γάλλος και δεν τα πάω και πολύ καλά με τα αγγλικά. Αλλά ειλικρινά το λατρεύω
critic.zip (14.8 KB)
ευχαριστώ. Ναι, κι εγώ το βρίσκω διασκεδαστικό στο παίξιμο.
αναμένεται να είναι η τελική ενημέρωση.
γραφικά δισκέτας 3"
προσωρινή αποθήκευση (caching) γραφικών για βελτιωμένη ταχύτητα σχεδίασης.
«vibed» ήχοι, συμπεριλαμβανομένου ενός ήχου τύπου «πορδής» κατά την πληκτρολόγηση της λέξης και την αφαίρεση του δίσκου.
buffer πλήκτρων για να προσπαθήσει να σε βοηθήσει να προλαβαίνεις.
«vibed by Arnoldemu» στην οθόνη τίτλου.
Έφτασα σε ένα σημείο που αποδέχτηκα ότι δεν έχει νόημα να πάει πιο γρήγορα, καθώς θα είναι αδύνατο να πληκτρολογήσει κανείς τόσο γρήγορα, οπότε σε εκείνο το σημείο… ε, διαβάστε τον κώδικα ή ανακαλύψτε το μόνοι σας ![]()