Γεια σας, φίλες και φίλοι. Τούτη εδώ είναι η πρώτη ανάρτηση για το 2024 από τις (ελπίζω) πολλές που θα ακολουθήσουν, και ως εκ τούτου θα ξεκινήσω με τις πατροπαράδοτες αλλά ποτέ αρκετές ευχές για υγεία, μακροημέρευση, ευτυχία και, με δυο λέξεις, Καλή Χρονιά!
Αν και αρχικά δεν είχα την παραμικρή ελπίδα ότι μπορεί να συμβεί κάτι τέτοιο καθώς οι προτεραιότητές μου είχαν διαφοροποιηθεί αρκετά και η διάθεσή μου για γράψιμο είχε πάει περίπατο, παρόλα αυτά τη χρονιά που ολοκληρώθηκε πριν από 8 ημέρες κατάφερα να αυξήσω τον αριθμό των αναρτήσεων στο blog, από 44 το 2022 σε 48 το 2023. Είναι η πρώτη φορά που η πορεία είναι ανοδική από τότε που ξεκίνησα αυτό το ιστολόγιο, και κάτι που ομολογουμένως δεν συνηθίζεται στα blogs καθώς ο γενικός κανόνας είναι ότι όταν παίρνουν την κάτω βόλτα δεν υπάρχει επιστροφή. Μακάρι να αποτελέσει αυτό που διαβάζετε την εξαίρεση. Για την ιστορία, ξεκίνησα το 2016 με 309 (!) αναρτήσεις σε 10,5 μήνες, σχεδόν μία ανάρτηση ημερησίως. Δεν ξέρω πόσο κέφι και μεράκι είχα και δε μπορώ να διανοηθώ πού έβρισκα το χρόνο, αλλά ας είναι. Το 2017 έπεσα στις 179 αναρτήσεις, το 2018 στις 122, το 2019 για πρώτη φορά ο αριθμός ήταν διψήφιος (97), και ο... κατήφορος συνεχίστηκε και τα χρόνια που ακολούθησαν με 84 posts το 2020, 58 το 2021 και, όπως έγραψα και παραπάνω, 44 (all-time low) το 2022. Για να δούμε τι θα φέρει ο καινούριος χρόνος...
Ξεκινάμε λοιπόν με ένα demo, το In Color, το οποίο είναι κάτι παραπάνω από εντυπωσιακό. Τρέχει σε ZX Spectrum με 128ΚΒ μνήμης RAM και, πραγματικά, είναι τόσο πολύχρωμο και ομαλό, που παραπέμπει σε άλλες παραγωγές για άλλες, πιο "προικισμένες" πλατφόρμες. Ένα στοιχείο που το κάνει ξεχωριστό είναι το ότι σε πολλά από τα εφέ που βλέπουμε δείχνει να λάμπει δια της απουσίας του ο περιορισμός των 2 χρωμάτων ανά "μήτρα" των 8x8 pixels, κάτι που χαρακτήριζε τον Spectrum από την πρώτη μέρα της ζωής του και είχε ως αποτέλεσμα το περίφημο attribute clash με λιγότερο ή περισσότερο δυσάρεστες επιπτώσεις σε διάφορα παιχνίδια. Στο In Color όμως δεν θα συναντήσετε κάτι τέτοιο, καθώς τα μέλη των Darklite και των Offence μάλλον δεν είδαν απλά φως και μπήκαν, αλλά την γνωρίζουν την πλατφόρμα. Ειδικά για τους τελευταίους είναι γνωστό το ταλέντο τους και τα coding skills τους καθώς μόνο και μόνο στο blog μου με έχουν απασχολήσει ουκ ολίγες φορές (αλλά ποτέ μέχρι τώρα με demo για τον Spectrum).
Καθώς τα πολλά λόγια είναι φτώχεια (και ως πολυλογάς είμαι αναπόφευκτα πάμπτωχος!) λέω να σταματήσω την πάρλα και να σας αφήσω να απολαύσετε το In Color. Τώρα μόλις ξεκίνησε η χρονιά, ας μην σας ταράξω στα... "σεντόνια". Ακόμα, τουλάχιστον.
"Είναι να γελάει κανείς", που θα έλεγε και ο μακαρίτης ο Φίλιππας ο Συρίγος. Γιατί; Διότι κάποια τυπάκια από την Τσεχία και την Σλοβακία - θυμηθείτε ότι "στα χρόνια μας" επρόκειτο για κοινή χώρα που ονομαζόταν Τσεχοσλοβακία - θεώρησαν λογικό και εφικτό να φτιάξουν ένα demo χρησιμοποιώντας την... Sinclair BASIC! Κανονικά, στο σημείο αυτό θα έπρεπε να είχα βάλει παραπάνω από ένα θαυμαστικά και να είχα σταματήσει με ατάκες του τύπου "δεν μεταδίδω άλλο", αλλά επειδή γνωρίζω ότι ίσως να μην καταλαβαίνετε άπαντες ποιο ακριβώς είναι το όλο θέμα και γιατί το θεωρώ κάτι που έχει κάποιο ιδιαίτερο ενδιαφέρον, θα σας κάνω ένα (πολύ) σύντομο μαθηματάκι ιστορίας...
Την εποχή λοιπόν που έκανε την εμφάνισή του ο ZX Spectrum της Sinclair, το 1982, ακριβώς στη μέση της περιόδου της κυριαρχίας των 8bit υπολογιστών, ο κανόνας ήταν κάθε μηχάνημα που κυκλοφορούσε να είναι εξοπλισμένο και με μία διάλεκτο της γλώσσας BASIC (υπήρξαν και κάποιες ελάχιστες εξαιρέσεις, αλλά δεν είναι του παρόντος). Η δημοφιλέστερη διάλεκτος της BASIC που υπήρχε εκείνη την εποχή ήταν η Microsoft BASIC, πράγμα που σήμαινε ότι όποιος κατασκευαστής επιθυμούσε να εξοπλίσει τον υπολογιστή του με τη γλώσσα αυτή θα έπρεπε να πληρώσει κάποιο ποσό στην εταιρία του Bill Gates και του Paul Allen. Οι περισσότεροι κατασκευαστές το έκαναν, αλλά ο Clive Sinclair, επιθυμώντας οι home computers του να έχουν όσο το δυνατόν χαμηλότερη τιμή ώστε να είναι προσιτοί στον καθένα, απέρριψε την ιδέα από την αρχή: παρά να επιβαρύνει τον καταναλωτή με το κόστος της άδειας χρήσης της Microsoft BASIC, ανέθεσε στην εταιρία Nine Tiles τη δημιουργία της Sinclair BASIC, τα δικαιώματα της οποίας θα ανήκαν αποκλειστικά και μόνο στην Sinclair Research. Οι άνθρωποι της Nine Tiles - αρχικά ο John Grant και στη συνέχεια ο Steve Vickers - έφεραν εις πέρας το έργο, ξεκινώντας με την πρώτη έκδοση της Sinclair BASIC με την οποία εφοδιάστηκε ο ZX80 (4ΚΒ σε μέγεθος), συνεχίζοντας με την βελτιωμένη έκδοση του ZX81 (8KB) την οποία και εξέλιξαν σε μία γλώσσα που πλέον υποστήριζε γραφικά υψηλής ανάλυσης, χρώματα και ήχο, τις νέες δυνατότητες δηλαδή που διέθετε ο ZX Spectrum. Αυτή η τελευταία έκδοση της Sinclair BASIC από την Nine Tiles ήταν διπλάσια σε μέγεθος (16ΚΒ) και, παρόλο που σε κάποιες εντολές ξέφευγε λίγο από τα standards χρησιμοποιώντας ιδιαίτερο συντακτικό και ονοματολογία, αποτέλεσε ένα σημαντικό επίτευγμα, καθώς ήταν μία διάλεκτος που μπορούσε κουτσά-στραβα να ανταποκριθεί στα πάντα. Το κοινό την λάτρεψε και ήταν αμέτρητα τα προγράμματα σε Sinclair BASIC που δημοσιεύτηκαν στα περιοδικά της εποχής και αναρίθμητοι οι χρήστες που ξημεροβραδιάζονταν καθημερινά ππροσπαθώντας να την χρησιμοποιήσουν ως όχημα για τον μετασχηματισμό των ιδεών τους σε λειτουργικά προγράμματα. Πέρα από την (αρκετά ενοχλητική) έλλειψη εντολών δομημένου προγραμματισμού, η Sinclair BASIC είχε ένα σημαντικότατο ελάττωμα: ήταν αργή. Για την ακρίβεια ήταν από τις πλεόν αργές διαλέκτους BASIC όπως μπορείτε να διαπιστώσετε και από αυτή τη σειρά αναρτήσεων.
Όμως, ας μην κοροϊδευόμαστε: ακόμα και μια ταχύτατη υλοποίηση της BASIC, όπως π.χ. αυτές των BBC micro και Amstrad CPC, δεν είναι η κατάλληλη γλώσσα για τον προγραμματισμό demos. Εκεί χρειάζεται άμεση επικοινωνία με τα ίδια τα chips και πλήρης εκμετάλλευση του κάθε κύκλου ρολογιού του επεξεργαστή. Εκεί, οι γλώσσες υψηλού επιπέδου δίνουν με συνοπτικές διαδικασίες τη θέση τους στην assembly. Demos σε BASIC δεν γίνεται να φτιαχτούν, τουλάχιστον όχι τέτοια που να δίνουν παρόμοια αποτελέσματα με αυτά που είναι γραμμένα σε assembly. Εκτός...
Εκτός κι αν έχουμε να κάνουμε με τους θεότρελους (πρώην) Τσεχοσλοβάκους του group Gemba Boys οι οποίοι με το Balik αποφάσισαν να με διαψεύσουν στο έπακρο για όσα έγραψα στην προηγούμενη παράγραφο!
Πραγματικά, το Balik σου δίνει την εντύπωση ότι είναι γραμμένο εξ' ολοκλήρου σε assembly διότι απλά, αυτά που κάνει δεν γίνονται σε BASIC! Και όχι μονάχα δεν γίνονται, αλλά, ακόμα και αν γινόντουσαν θα απαιτούσαν... μέρες μέχρι να ολοκληρωθούν! Έτσι και εγώ λοιπόν, από τη μία περίεργος και από την άλλη λιγάκι δύσπιστος, προσπάθησα να αποκτήσω πρόσβαση στον κώδικα (listing το λέγαμε στα χρόνια μου) του Balik. Και, σχετικά εύκολα τα κατάφερα. Ιδού ένα δείγμα:
Βλέπετε πως πρόκειται για ατόφια Sinclair BASIC. Πλην όμως, για παρατηρείστε λίγο πιο προσεκτικά: θα διαπιστώσετε ότι οι εντολές PEEK και POKE αποτελούν την συντριπτική πλειονότητα, ενώ και οι IN και OUT δεν πάνε πίσω. Επί της ουσίας λοιπόν έχουμε μεν ένα πρόγραμμα γραμμένο σε BASIC, το οποίο όμως δεν χρησιμοποιεί την πλειοψηφία των εντολών υψηλού επιπέδου αλλά αντί γι' αυτό διαβάζει και αποθηκεύει συνεχώς bytes σε συγκεκριμένες διευθύνσεις της μνήμης ή ports του επεξεργαστή. Αν έχετε ασχοληθεί με την "περίφημη" Commodore BASIC 2.0 θα γνωρίζετε ότι εκεί τα PEEK & POKE πάνε σύννεφο, ελλείψει άλλων εντολών. Στην περίπτωση του Balik όμως οι PEEK, POKE, IN και OUT χρησιμοποιούνται κατά κόρον προκειμένου υπορουτίνες σε γλώσσα μηχανής να κάνουν ό,τι θα έκαναν πολύ πιο αργά οι αντίστοιχες εντολές της BASIC. Οπότε, ναι μεν το Balik είναι γραμμένο σε Sinclair BASIC, αλλά μονάχα... τυπικά!
Όπως και να 'χει, το Balik είναι μία εντυπωσιακότατη παραγωγή, η οποία μπορεί να μην παρουσιάζει ακριβώς την ωμή δύναμη της Sinclair BASIC όπως διατυμπανίζουν οι Gemba Boys, αλλά σίγουρα δείχνει πώς το πάντρεμα εντολών μιας γλώσσας υψηλού επιπέδου με υπορουτίνες γλώσσας μηχανής μπορεί να κάνει τα αδύνατα να γίνουν δυνατά. Κατεβάστε το Balik από εδώ ή δείτε το απλά να τρέχει στο παρακάτω video...
Α, και να μην το ξεχάσω: δεν άλλαξε η θεματολογία του blog σε "μόνο για Spectrum", έτσι; Ειλικρινά, είναι εντελώς συμπτωματικό το γεγονός ότι από τον θάνατο του "θείου" μέχρι και σήμερα όλα τα θέματα των αναρτήσεων έχουν να κάνουν με τον "γομολάστιχα". Λογικά, σύντομα θα αναφερθώ και σε κάτι άλλο. Απλά έτυχε, τίποτα περισσότερο...
Πρόκειται περί νεκρανάστασης; Πώς αλλιώς να χαρακτηρίσει κανείς την διαδικασία ξεθαψίματος, καλοπισμού, ρετουσαρίσματος, αλλαγής της σειράς των σκηνών και επανακυκλοφορίας ενός από τα καλύτερα demos στην ιστορία του ZX Spectrum; Well, του 128άρη, για να είμαστε ακριβείς...
Είναι αστείο από τη μία αλλά και τραγικό από την άλλη το γεγονός πως όταν πρωτοπαρουσιάστηκε το Forever των Digital Reality, το μακρινό 1998, δεν κατέλαβε καν την πρώτη θέση στο διαγωνιστικό τμήμα του demoparty Funtop. Κάτι σαν την ιστορία με τον καλύτερο μπασκετμπολίστα όλων των εποχών, τον μοναδικό Michael Jordan, ο οποίος είχε κοπεί από την ομάδα μπάσκετ του high school του επειδή δεν ήταν αρκετά καλός ένα πράγμα!
Το γεγονός της επανακυκλοφορίας του Forever το 2020 προσωπικά με βόλεψε - δεν θα σας πω ψέματα - καθώς σε άλλη περίπτωση πιθανότατα να μην είχα δει ποτέ το αριστουργηματικό αυτό demo των Digital Reality. Το οποίο είναι ένα συνοθύλευμα από εφέ, μηνύματα και σκηνές που διαδέχονται η μία την άλλη με μεγάλη ταχύτητα υπό τους ήχους εξαιρετικής techno μουσικής από το AY (είπαμε, του 1998 είναι το Forever) προσφέροντας στον ανυποψίαστο θεατή μια σειρά από μακάβριες σεκάνς που ολοκληρώνονται τελικά με μία εικόνα ελπίδας και γαλήνης.
Δεν ξέρω αν θα σας αγγίξει θεματολογικά το Forever, εάν πάντως το κάνει θα βιώσετε με τον ιδανικό τρόπο την εμπειρία της παρακολούθησης μίας παραγωγής - έστω και 23 ετών - που πραγματικά απογειώνει τον Spectrum. Απολαύστε υπεύθυνα.
Γενικώς, δεν συνηθίζω να γράφω για παιχνίδια που πρόκειται να κυκλοφορήσουν στο μέλλον. Η προσφιλής μου τακτική είναι να περιμένω να υλοποιηθούν και κατόπιν να τα παρουσιάσω εδώ ή να γράψω κάποιο πιο αναλυτικό review στο Retro Planet. Φυσικά, υπάρχουν κι εξαιρέσεις: αν για παράδειγμα μάθαινα ότι θα βγει sequel του Battle Squadron, του Wing Commander Prophecy ή ότι είναι στα σκαριά port του Green Beret ναι, τότε κάτι θα έγραφα. Όχι, ψέματα, σβήστε το αυτό το τελευταίο: υποτίθεται ότι εδώ και καιρό ετοιμάζεται η μεταφορά του coin op της Konami στην Amiga και εγώ δεν έχω γράψει λέξη!
Όπως και να 'χει, νομίζω ότι έγινα σαφής: εκτός σπανίων εξαιρέσεων, δεν θα διαβάσετε από αυτό εδώ το blog ότι "πρόκειται να κυκλοφορήσει...".
Το λοιπόν, πρόκειται να κυκλοφορήσει (!) σύντομα ένας νέος τίτλος για τον ZX Spectrum, από τους "παλαβούς" Ρώσους coders της Zosya Entertainment. Νέα παιχνίδια για το λατρεμένο τέκνο του Sir Clive είναι η αλήθεια ότι εμφανίζονται σαν τα σαλιγκάρια μετά τη βροχή (ή, σαν τους Αθηναίους στην παραλιακή τα ηλιόλουστα Σαββατοκύριακα), ήτοι, σε μεγάλο πλήθος. Ειδικά μετά την κυκλοφορία του Arcade Games Designer του Jonathan Cauldwell που διευκόλυνε σε μεγάλο βαθμό την διαδικασία δημιουργίας ενός παιχνιδιού από το μηδέν, η games software library του μηχανήματος άρχισε να αυξάνει σε ρυθμούς που θύμιζαν... 80s!
Μέσα στην πληθώρα των νέων κυκλοφοριών λοιπόν, είχαμε και κάποια παιχνίδια που ήταν, απλά, ασύλληπτα εντυπωσιακά ή με εξαιρετικά gameplay. Ή και τα δύο. Ποια να πρωτοθυμηθεί κανείς; Το Valley of Rains; Το RetroForce; Το Metal Man Reloaded; Το Redshift; Το Drift!;
Έτσι λοιπόν, ενώ υπό Κ.Σ. (Κανονικές Συνθήκες, τίποτα δεν θυμάστε πια απ' το σχολείο;) δεν θα ασχολούμουν περαιτέρω στην παρούσα φάση, όταν είδα το παρακάτω video και διαπίστωσα ότι επρόκειτο για μελλοντική κυκλοφορία της Zosya Entertainment, ήταν αδύνατο να το προσπεράσω:
Σκεφτείτε τώρα: εθιστικό racing παιχνίδι με υπέροχα γραφικά, storyline που μας ξεναγεί στα καλύτερα χρόνια του δεύτερου μισού του προηγούμενου αιώνα και κλασικά αυτοκίνητα (ναι, αυτά τα παλιά που είχαν μέχρι και λάστιχο ρεζέρβα) και... βέσπες! What's not to like?
Ο επερχόμενος λοιπόν αυτός τίτλος που ονομάζεται Travel through time vol.1: Northern Lights θα κυκλοφορήσει - ελπίζουμε - μέσα στο τρέχον έτος και θα τρέχει σε ZX Spectrum 128 (και +2/+3, προφανώς). Αυτή τη φορά μάλιστα δεν θα γκρινιάξω που δεν θα τρέχει σε 48άρη: χαλάλι του αν είναι αντάξιο του παραπάνω video!