ΣΥΝΕΝΤΕΥΞΗ – Optimus! (ΜΕΡΟΣ 1ο)

Ο Μιχάλης Καργας (κατά κόσμον Optimus) δεν είναι απλά επισκέπτης στα πολλαπλά retro fora. Είναι από τα άτομα που όταν αποφασίσει να κάνει ένα post, θα τοποθετηθεί διεξοδικά πάνω στο θέμα συζήτησης, χρησιμοποιώντας τεχνικούς όρους (που ούτε φαντάστηκες ότι υπάρχουν), θα αναλύσει τεχνικά χαρακτηριστικά (που ακόμα και οι κατασκευαστές του εκάστοτε συστήματος έχουν ξεχάσει) ενώ οι απαντήσεις του είναι “απολαυστικά” μακροσκελείς και χρειάζεσαι σίγουρα καφέ για να τις διαβάσεις! Παρακολουθούσα με ενδιαφέρον για χρόνια το blog που διατηρούσε σε γειτονικό forum καθώς και όλες τις προγραμματιστικές αναλύσεις – συγκρίσεις στις οποίες συμμετείχε και τα πρόσφατα posts του στο iamretro μου έδωσαν την αφορμή ώστε να του ζητήσω να μας παραχωρήσει την παρακάτω πολύ ενδιαφέρουσα συνέντευξη. Λάτρεις των τεχνικών όρων, της demoscene, του Amstrad και γενικότερα των micros αλλά και του programming λάβετε θέσεις…    

ΥΓ. Η συνέντευξη χωρίζεται σε 2 parts λόγω μεγάλου αριθμού λέξεων και διαφορετικής θεματολογίας. Ακολουθεί το πρώτο μέρος. Για περισσότερες πληροφορίες αλλά και portfolio επισκεφθείτε: http://optimus.untergrund.net/

Γεια σου Μιχάλη (ή αλλιώς Optimus!) ! Καλώς ήρθες στο iamretro.gr! Ξεκινώντας με τον «παραδοσιακό τρόπο», πες μας λίγα λόγια για τον εαυτό σου: Καταγωγή, ενδιαφέροντα, ασχολίες κι ότι άλλο επιθυμείς.

Γεια σου Νίκο. Γεννήθηκα στη Θεσσαλονίκη το 1980. Σπούδασα Μαθηματικά στο Αριστοτέλειο αλλά παράλληλα ασχολήθηκα με δικιά μου πρωτοβουλία με τον προγραμματισμό γραφικών, ένα όνειρο που είχα από μικρός, το οποίο κατέληξε φυσικά να είναι και το επάγγελμα μου. Αυτή τη στιγμή κατοικώ και εργάζομαι στην Γλασκόβη πάνω σε graphics programming και haptic/VR research. Πέρα από την αγάπη μου για προγραμματισμό σε σύγχρονους υπολογιστές, έχω ιδιαίτερη πώρωση με low level προγραμματισμό, optimization και γενικότερα έρευνα και “αρχαιολογία” με παλιά μηχανήματα.

Πότε ξεκίνησε η ενασχόληση σου με τους υπολογιστές και πιο συγκεκριμένα τα micros ; Ποιο είναι το πρώτο παιχνίδι που έπαιξες και τι σου έκανε εντύπωση σε αυτό;

Αν και ξεκίνησα με Amstrad, έχω αμυδρές μνήμες από πολύ μικρή ηλικία ενός Spectrum 48k που είχε δανειστεί ο πατέρας μου, και θυμάμαι πως παίζαμε ένα παιχνίδι στην σελήνη που πηδούσες λακούβες (ίσως και να έβλεπα μόνο ή να πατούσα μόνο το fire, δεν καταλάβαινα και πολλά) που μετά από λίγα χρόνια ανακάλυψα πως πρέπει να ήταν το moon patrol. Αλλά μετά ο πατέρας μου αγόρασε έναν Amstrad CPC 6128 όταν ήμουν σε ηλικία 7-8 χρονών ίσως (πραγματικά δεν θυμάμαι) με τον οποίο μεγαλώσαμε και πέρα από παιχνίδια μάθαινα να προγραμματίζω στην basic. Μου ήταν ελκυστικό πως μπορώ να δημιουργώ ότι φαντάζομαι γράφοντας τα δικά μου προγράμματα, ονειρευόμασταν τότε με τον αδερφό μου να γράψουμε παιχνίδια, και θυμάμαι που έπαιζα με την εντολή Symbol που φτιάχνεις δικούς σου χαρακτήρες pixel προς pixel και κάπως έμαθα μόνος μου και με πειραματισμό (ίσως και από το manual) να μετατρέπω binary σε hex ώστε να στέλνω τα γραφικά του char σε hex για να είναι πιο μικρές οι γραμμές. Τέλος πάντων, για να μην τα πολυλογώ, τα δύο πρώτα παιχνίδια στον Amstrad που με σημάδεψαν ήταν Galaxia και Fruity Frank. Αυτό που μου έχει μείνει στο μυαλό καρφωμένα είναι η μουσική και τα ηχητικά εφφέ, αλλά και οι πολύχρωμες color cycling εισαγωγές που ήταν πρόγραμμα σε basic. Επίσης πειράζαμε τα ENV και τα ENT (στην τύχη νούμερα) μέσα στο basic loader και άλλαζαν τα ηχητικά εφέ.

Οι περισσότεροι σε γνωρίζουν στα retro fora, σαν ενεργό μέλος της Amstrad Demo Scene. Ανήκεις σε κάποια ομάδα  ή προγραμματίζεις ανεξάρτητα? Ποιο ήταν το πρώτο demo που δημιούργησες; Έχεις πάρει μέρος σε κάποιο διαγωνισμό;

Τεχνικά είμαι σε 3-4 groups, Dirty Minds, Nasty Bugs, Mindlapse και Anubis. Αλλά ουσιαστικά προγραμματίζω μόνος μου γιατί σε αρκετά από αυτά τα groups (εκτός των Dirty Minds που καμιά φορά τα λέμε με τους γραφίστες Rex και Voxfreax) δεν υπάρχει πια ενδιαφέρον. Οι Nasty Bugs και Mindlapse είναι PC groups. Αν βγάλω PC demo/intro σήμερα, συνήθως είναι signed ως Optimus. Στους Anubis είχα μπει γιατί ήθελα να ασχοληθώ με C64, βγάλαμε ένα-δύο μέτρια demos και απλώς εγώ ανακάλυψα πως δεν έχω τελικά το χρόνο ή κουράγιο να ασχοληθώ με πολλά 8bit στον ίδιο χρόνο και ο Amstrad θέλει πιο πολύ αγάπη (Ο C64 βγάζει 5-10 κορυφαία demos τον χρόνο έτσι και αλλιώς). Γενικώς καταλήγω να δουλεύω μόνος (συν τη βοήθεια από σπάνια email contacts που μου κάνουν τη μουσική) και όποτε αποφασίζουμε με κάποιο group να κάνουμε κάτι μαζί δεν μπορούμε να συγχρονίσουμε την πώρωση. Όταν εσύ έχεις πώρωση και χρόνο, ο άλλος είναι απασχολημένος με τη ζωή του ή δεν είναι η περίοδος του, ή το ανάποδο. Φαινόμενο που δεν είναι και τόσο σπάνιο στην demoscene, λίγα είναι τα συγκροτημένα groups που τα περισσότερα μέλη είναι ενεργά και ζωντανά για πολύ καιρό.

Το πρώτο demo που έβγαλα έχει αστείο τίτλο, λέγεται The Poor Freak, λέει πολλές ιστορίες στον scroller για την εμμονή μου να γίνω σούπερ προγραμματιστής και πως μου την δίνουν αυτοί που δεν το θεωρούν normal, και τρέχει μέσα από Qbasic 1.1, δεν μπορούσα καν να κάνω compile σε exe, ήθελε την 4.5 και να πειράξω πολύ κώδικα γιατί το port μου γκρίνιαζε για τη μνήμη.

Σε διαγωνισμούς, κυρίως σε demoparties που επισκέπτομαι, παίρνω μέρος συχνά. Από τα πρώτα ελληνικά demoparties που επισκέφτηκα και τις βιαστικές προγραμματιστικές προσπάθειες σε C με το όνειρο να δείξω κάτι δικό μου στην μεγάλη οθόνη, έως πιο προσεκτικές (αλλά σίγουρα όχι τέλειες) προσπάθειες με demos/intros σε σύγχρονα PC μερικά χρόνια πριν. Και με retro 8bits είχα στείλει αρκετές φορές tiny intros και κανα δύο demos στα Forever parties ή στο ReSeT (CPC party) με remote συμμετοχή. Αν και τελευταία θέλω να αποφύγω τα demoparty compos και τις βιαστικές συμμετοχές που προκύπτουν από την ανάγκη μου να συμμετέχω και εγώ σε κάτι, αλλά τα ολοκληρώνω πολύ κοντά στο deadline, γιατί πιο πριν δεν υπάρχει πολύ κίνητρο. Θέλω να ξεφύγω από αυτό και να κάνω non-party releases όποτε μου καπνήσει, γιατί τις περισσότερες φορές καταλήγω να κάνω κάτι που είναι μεν ενδιαφέρον από πλευράς κώδικα αλλά θέλει και άλλο polishing από χρώματα/design. Πολλές φορές βλέπω κάποια παλιά μου demos και αναρωτιέμαι “Μα γιατί δεν βελτίωσα αυτά τα χρώματα; Γιατί είναι σε μαύρο background και φαίνεται τόσο άδειο; Με λίγα ακόμα γραφικά ή ένα έξυπνο transition θα φαινόταν πιο ωραίο”.

sam_rotozoomer
Development project για τον Sam Coupe σε εξέλιξη….”Εδώ έχω κάνει port ενός rotozoomer από παλαιότερο μου κώδικα σε z80″

 

Τι σε ώθησε στην ενασχόληση σου με το coding? Είχες/έχεις φιλοδοξίες για game development για εμπορική χρήση ή σου αρκεί η underground σκηνή;

Το πως ασχολήθηκα τόσο φανατικά με τον προγραμματισμό είναι μεγάλη ιστορία που την σκέφτομαι και την αναλύω ακόμα. Έχω και μια γενικότερη θεωρία το γιατί συγκεκριμένα geeks καταπιάνονται με πράγματα που για τους περισσότερους είναι δουλειά και θα έπρεπε να πληρώνονται. Ειδικότερα σήμερα, πως είναι δυνατόν σε έναν κόσμο με τόσα πιο “υπέροχα” distractions (facebook, online games, youtube, κλπ) να προτιμήσει κάποιος το δύσκολο δρόμο αντί για αυτά; Κατά τη γνώμη μου, χρειάζεται ένα ισχυρό κίνητρο ώστε κάποιος να προτιμήσει να λιώσει στον προγραμματισμό και να φάει τα μούτρα του, αντί να λιώνει στο WOW. Λίγοι το έχουν και μπορεί να παίζουν διάφορες συγκυρίες στη ζωή κάποιου ώστε κάποτε να το αποφασίσει να αφιερώσει χρόνο. Συνήθως είναι μια εμμονή, η ανάγκη να ξεχωρίσεις ή να νοιώσεις καλύτερα με τον εαυτό σου. Θυμάμαι την περίοδο στα 16-17 μου που μου είχε μπει αυτή η εμμονή, επειδή δεν είμουν και ιδιαίτερα “δημοφιλής” στο σχολείο (ή ήμουν για τους λάθος λόγους δημοφιλής) και είχα χαμηλή αυτοπεποίθηση, θα μπορούσα να ξεχωρίσω και να ανεβάσω ίσως την αυτοπεποίθηση  παίρνοντας την αναγνώριση σε κάποιο αντικείμενο που για τους περισσότερους φαντάζει δύσκολο. Πολύς κόσμος παίζει παιχνίδια έλεγα, αυτό όλοι μπορούν να το κάνουν, αλλά ο προγραμματιστής φαντάζει μάγος. Δεν λέω πως το μόνο που κρύβεται πίσω από geeky activities είναι αυτό, είχα και μια φυσική αγάπη για γραφικά σε παιχνίδια και επίσης μια ευχέρια σε θετικές επιστήμες όποτε ταίριαξε με τα ενδιαφέροντα μου. Απλώς πιστεύω ότι πολλές φορές κρύβεται πίσω από όλα αυτά μια ανάγκη να ξεχωρίσεις, να διαφοροποιηθείς, να νοιώσεις πιο παραγωγικός, ίσως και να κάνεις κάτι πιο δημιουργικό από το gaming, να αισθανθείς χρήσιμος, να συμμετέχεις σε κάτι καλύτερο. Αλλιώς ποιος θα κάτσει να γράφει κώδικα χωρίς να είναι η δουλειά του. Κάποτε με είχε ρωτήσει κάποιος “Δεν καταλαβαίνω, όλοι αυτοί που γράφουν τεράστια open source προγράμματα χωρίς να τους πληρώνουν, ποιό είναι το κίνητρο τους;”. Ένας άλλος φίλος μου θα απαντούσε χαρακτηριστικά “Fame. The money of the internet”.

Τέλος πάντων, επειδή ξέφυγα από το θέμα, όταν ήδη είχα αυτό το όνειρο σκεφτόμουνα το game developing. Αλλά με βρήκε η demoscene στην πορεία και είχε αυτά τα στοιχεία που με πωρώνουν. Graphics programming, αλγόριθμοι που δεν είναι απλώς animations αλλά έχουν πολύ λογική και μαθηματικά από πίσω, optimizations για παλιά μηχανήματα, community από χομπίστες με πάθος για αυτό, μια κοινότητα που λίγοι ξέρουν και δεν είναι τόσο trendy όσο οι hackers (με τη σημερινή παραποιημένη έννοια) αλλά τη θεωρώ σημαντική. Και επειδή μου φαινόταν πιο εύκολο να κάνω το πρώτο μου demάκι με 2-3 εφέ, να το ανεβάσω και να πάρω δέκα θετική υποστήριξη από τον κόσμο, παρά να κάτσω να γράφω ολόκληρη game engine και να θέλω και αρκετούς artists και musicians και κάπου να το προωθήσω, το πήγα προς τα εκεί.

Από την άλλη τόσα χρόνια γράφω demos και τον τελευταίο καιρό σκέφτομαι να το γυρίσω. Κάθε χρόνο λέω πότε θα ξεφύγω λίγο από τη demoscene για να ασχοληθώ με το gamedev σαν χόμπι. Υπάρχουν programming challenges στα παιχνίδια που δεν συναντάς στα demos. Υπάρχουν πράγματα που δεν έχω δοκιμάσει, χρειάζεται πιο προσεγμένο κώδικα μια game engine επειδή το project γίνεται τεράστιο και μπορεί και να την επαναχρησιμοποιήσεις. Ενώ τα demos πολλές φορές είναι κώδικας που γίνεται χάος (αυτό που λέμε spaghetti code, κακογραμμένος και χαώδης) προς το τέλος γιατί έτρεχες για τα deadlines και επίσης όταν βγει το demo θα πετάξεις ένα μεγάλο κομμάτι του και θα ξεκινήσεις από την αρχή. Ονειρεύομαι να ασχοληθώ και με 8bit game coding (π.χ. είμαι περίεργος να δω πόσο αλλάζουν τα πράγματα από διαχείριση μνήμης αν αντί για demoeffects γράφεις game engine. Μπορείς να κάνεις ένα παιχνίδι στον Amstrad με απίστευτα demoish effects; Ή να επικεντρωθείς στο gameplay;) αλλά και με μια δυο ιδέες που θέλω να κάνω prototype στο PC. Οπότε άμα δεν πωρωθώ με democoding φέτος/του χρόνου, θέλω να αλλάξω directions.

Φωτογραφία από το React demo party το 2004 στην Πάτρα.
Φωτογραφία από το React demo party το 2004 στην Πάτρα.

Τι το ιδιαίτερο βρίσκεις στον Amstrad από τεχνικής και μη τεχνικής πλευράς? Τον προτιμάς για κάποιον συγκεκριμένο λόγο?  Έχεις ασχοληθεί και με άλλα 8bit ή 16bit συστήματα;

Με τον Amstrad καταπιάστηκα γιατί φυσικά ήταν ο πρώτος μου υπολογιστής. Μου είχε φανεί φοβερό πως είχε demoscene έστω και πολύ μικρότερη σε σχέση με τον C64. Επίσης ήταν ο υπολογιστής με την μεγαλύτερη demoscene στην Ελλάδα (εντάξει καμιά δεκαριά άτομα) μετά τα PC. Οπότε βρήκα εύκολα contacts για να δω demos και να ξεκινήσω να μαθαίνω assembly (ένα άλλο αργοπορημένο μου όνειρο).

Οπότε ήταν μάλλον τυχαίο. Αλλά από τεχνικής άποψης μου αρέσει που δεν έχει tile color restrictions, οπότε μπορείς να χρησιμοποιείς και τα 16 χρώματα από παλέτα των 27 σε όποια pixels θέλεις. Αυτό βέβαια έχει το αποτέλεσμα η video ram να είναι 16k οπότε πιο δύσκολο να την κινήσεις (κάτι που σώζεται μερικώς με τις δυνατότητες hardware scrolling). Αλλά σίγουρα τον προτιμώ γιατί έχω δώσει πιο πολύ έμφαση σε software rendered effects που έτσι και αλλιώς χάνουν πιο πολύ από την αργή CPU από ότι το vram size. Για παρόμιο λόγο πορώθηκα πρόσφατα με τον Sam Coupe, 24k vram μεν αλλά 256*192 με 16 χρώματα από φοβερή παλέτα. Βέβαια άλλοι democoders έχουν αποδείξει πως με χρήση του CRTC chip και καμιά φορά συνδυασμό software rendering και perfectly timed CRTC tricks μπορείς να κάνεις πολλά πράγματα. Αλλά είμαι αρχάριος στον τομέα του CRTC και όποτε προσπάθησα να κάνω ένα split το παράτησα, θέλει αρκετή επιμονή μέχρι να καταλάβεις πως δουλεύουν κάποια πράγματα, και αν χάσεις το timing “σκρολλάρει” η οθόνη άσχημα. Ίσως το πιάσω και πάλι σε κάποια φάση γιατί έχω κάποιες ιδέες για effects που μόνο με συνδυασμό software/hardware μπορεί να τελειοποιηθούν.

Έχω ασχοληθεί με τα εξής μηχανήματα:

  • Spectrum: Μου αρέσει που είναι τόσο απλός. Εντάξει, έχει και αυτός color restrictions και χειρότερα του C64. Αλλά είναι τόσο απλοϊκό το design που δεν χάνεσαι σε ένα κάρο περίεργα modes αλλά ξεκινάς πάλι με το καθαρό software rendering. Και η μικρή 6k vram σου επιτρέπει να κάνεις τα scrolling και line based effects (που θα έκανες στον amstrad με κουρασμένα timing) με γρήγορες copy ρουτίνες και οριακά να πιάνεις τα 50fps χωρίς hardware tricks. Επίσης μου αρέσουν τα b&w demos με pixel resolution effects, ειδικά dots και wireframe 3d.
  • C64: Για μένα ο βασιλιάς στα demos, την ευκολία προγραμματισμού και τα hardware effects και φυσικά μουσική. Μου πήρε ένα δύο απογεύματα να κάνω ωραίο pixel perfect horizontal και vertical scrolling, με hw scrolling 0 to 7 και μετακίνηση των char characters. Αυτό στον απλό CPC θέλει περισσότερη δουλειά, ειδικά pixel perfect scrolling στο X είναι τέχνη, ενώ στο CPC+ το πέτυχα με παραπάνω κόπο (το έχανα λίγο στο wrap around της vram, αλλά το hw scroll 0-7 pixels το έχει πια και ο plus). Επίσης η 6502 assembly είναι πιο απλή για εκμάθηση (αν και προτιμώ διάφορα extra του z80) ενώ το hardware είναι memory mapped, οπότε με γράψιμο σε συγκεκριμένες διευθύνσεις ελέγχεις τα πάντα, ενώ στον CPC θέλεις πολλά IN/OUT που είναι πιο μπερδεμένο. Σίγουρα εμένα με εντυπωσίασε η ευκολία προγραμματισμού και όλα τα κόλπα του VIC.
  • Sam Coupe: Η νέα μου αγάπη. Ένα 8bit που βγήκε δυστυχώς αργά. Πολύ ωραίες αναλύσεις και χρώματα, 3.5” δισκέτα, μπόλικη μνήμη, γραμμική videoram και backwards compatible με τον Spectrum. Έχω ήδη κάνει μερικά πειράματα σε έναν cross assembler, το μηχάνημα δυστυχώς δεν έχει hardware scrolling, αλλά έχει line irq interupts (σαν τον C64 ή τον CPC plus), και επίσης η μνήμη 256k ή 512k επιτρέπει να κάνεις map την videoram σε κάθε 32k block της. Αλλά και αυτό το mapping μπορείς να το αλλάζεις σε κάθε γραμμή (ή και πιο συχνά) χωρίς να χρειάζεται να κάνεις line split όπως ο Amstrad (διαδικασία που θέλει παραπάνω OUTs στον CRTC με συγκεκριμένο timing). Κάποια ενδιαφέροντα εφφέ μπορούν να επιτευχθούν αποθηκεύοντας διαφορετικές οθόνες σε κάθε page και αλλάζοντας ποιες επιλέγεις ανα γραμμή. Αλλά και για software rendering λόγω γραμμικής videoram και 16 colors πιστεύω ότι λέει πολύ. Σκέφτομαι να ξεκινήσω κάποτε κάποιο Demo για αυτόν και ίσως να δοκιμάσω και να κάνω port τον wall renderer μου από το Wolfenstrad demo (που στο Sam θα γράφω bytes και θα έχει pixel μεγέθους Mode 0 Amstrad, δηλαδή καλύτερη Χ ανάλυση από ότι στον CPC, αλλά ίσως λίγο πιο αργό). Επίσης οι λίγο φανατικοί για αυτό το ξεχασμένο μηχανήματα έχουν απίστευτη πώρωση, μέχρι και papermag βγάζουν.
  • Από 16bit δεν έχω ασχοληθεί ακόμα αλλά σκεφτόμουνα τον Atari ST, γιατί θέλω να μάθω 68000 assembly και να παίξω με ένα μηχάνημα με bitplanes. Δεν σκέφτηκα την Amiga γιατί ήθελα να επικεντρωθώ σε ένα μηχάνημα με λιγότερα hardware features ώστε να ασχοληθώ πιο πολύ με software rendering και επίσης βρίσκω την AtariST community πιο ενεργή, τουλάχιστον στα 16bit. Και γενικώς έχω μια τρέλα για τον ήχο του AY που άλλωστε μεγάλωσα με αυτόν και στον Amstrad.

 

Benchmarks γραφικών για gamepark handhelds. (GP2X, Caanoo, Dingoo A320)
Benchmarks γραφικών για gamepark handhelds. (GP2X, Caanoo, Dingoo A320)

 

To 2011 κυκλοφόρησε το demo Batman Forever  το οποίο έδωσε το έναυσμα για πολλές συζητήσεις σε for a σχετικά με τις πραγματικές δυνατότητες του Amstrad και του Z80. Η αλήθεια είναι πως λίγοι περίμεναν πως τέτοια οπτικά εφέ είναι εφικτό να αποδοθούν στον Amstrad. Ποιο είναι το μυστικό πίσω από αυτό το demo( αν υπάρχει κάποιο), θεωρείς πως πρόκειται για το «καλύτερο» demo που έχει εμφανιστεί σε 8bit micro?

Ούτε και εγώ περίμενα βασικά ότι θα έβγαινε τέτοιο demo στον Amstrad. Αλλά σε επίπεδο δουλειάς. Σε μέγεθος προσπάθειας. Ειδικά σε μια ξεχασμένη σκηνή που το επίπεδο των demos είναι αρκετά έως πολύ κατώτερο από τα έπη που βλέπουμε κάθε χρόνο στον C64. Και από έναν νεοεισερχόμενο scener και όχι από παλιούς γνωστούς coders. Κανένας δεν το περίμενε. Ήρθε από το πουθενά. Και συζητώντας με γνωστό CPC scener συμφωνήσαμε ότι δύσκολα θα είχαμε το κουράγιο να κάνουμε ένα τόσο μεγάλο επικό demo.

Αυτή είναι η μόνη μας δυσκολία. Ιδέες για effects έχουμε και πολλά από τα εφέ του BF αν και αρχικά είναι μυστήρια, είναι αρκετά εφικτά. Μάλιστα μερικοί λέγανε πως δεν είναι καν πολύ advanced τα εφέ, αναφερόντουσαν στην δυσκολία του timing με του CRTC, πως πολλά από τα εφφέ ανάγονται σε απλό line splitting, αλλαγή παλέτας σε κάθε γραμμή, κλπ. Ναι όμως δες τι γίνεται. Για μένα που δεν ξέρω και πολλά από τον CRTC εντυπωσιάζομαι γιατί βλέπω επιτέλους κάποια διαφορετικά εφέ τουλάχιστον στα μάτια μου, και ας βασίζονται σε απλές τεχνικές. Είναι έξυπνες ιδέες που παράγουν πρωτότυπο γραφικό αποτέλεσμα με απλούστερο κώδικα, και όχι “κοίταξε πόσα splits έκανα με την τάδε τεχνική vertical rupture”. Γιατί όλα τα παλιά CPC demos ήταν εμφανές line per line splitting effects, τα ίδια vertical bars, wave patterns, κλπ; Συν του ότι ο τύπος έκανε και φοβερή παρουσίαση με ένα demo πραγματικό trackmo, επικό σαν Amiga demo. Αυτό είναι το Second Reality του Amstrad. Επιτέλους έχουμε ένα demo για το οποίο μπορώ να το πω αυτό.

Και όσον αφορά τα εφφέ, πολλά από αυτά γίνανε με διαφορετικό τρόπο από ότι φανταζόμουν. Χρησιμοποιείται πολύ το line splitting σε συνδιασμό με αλλαγή παλέτας ανα γραμμή ή 2-3 γραμμές. Στα fullscreen zoom, μια γραμμή ανανεώνεται με software rendering για το X-stretching και αυτή με line splitting επαναλαμβάνεται, αλλά μετά ανά 1-2-3 γραμμές αλλάζουν τα χρώματα της παλέτας και τα γραφικά είναι μάσκες του batman/joker με συμμετρία (χρώματα 0-1-2-3-4-5-…15-15-14-13-..3-2-1). Δύσκολο να το εξηγήσω αλλά τα λέω χοντρικά. Το textured twister είναι vertical hardware scrolling συν αλλαγή χρωμάτων ανά γραμμή. Τα prerendered vector animations είναι μεν η τεχνική delta packing, όπου γράφεις μόνο τα bytes που άλλαξαν στο παρόν καρέ σε σχέση με το προηγούμενο, αλλά πιο εξελιγμένο σε 1D line split vram. Τα 2d/3d dots είναι τα μόνα pure software effects και τα κοιτούσα με τον debugger και έμαθα αρκετά. Έχει κάνει αρκετά έξυπνα πράγματα σε Z80, τα οποία ξέρω τώρα πως είναι εφικτά αλλά θέλει αρκετή φαντασία για να τα σκεφτείς.

Αν θα το θεωρούσα το καλύτερο demo σε 8bit; Το θεωρώ το καλύτερο demo στον Amstrad με διαφορά. Demos της κλάσης του βγαίνουν 2-3 κάθε χρόνο στα δύο γνωστά C64 demoparties. Οι C64 sceners με εκπλήσσουν με το πόσο βελτιώνουν τα εφέ και κάνουν καινούρια απίστευτα πράγματα κάθε χρόνο (πλην του ότι το περιμένω βέβαια από την C64 scene, σε αντίθεση με τον Amstrad που ήρθε από το τίποτα). Επίσης θεωρώ το Numen στον AtariXL το πιο επικό 8bit demo που έχω δει. Θα μπορούσα να πω ότι είναι το καλύτερο, αν δεν είχα αγάπη για αρκετά C64 masterpieces και τον ήχο του SID που σε κάνει να κλαις.

 

Υπάρχει αυτή την στιγμή ελληνική CPC demo scene και γενικότερα ελληνικά demoscene projects? Αν όχι, υπήρξαν ποτέ; Ανάφερε μερικές αξιόλογες προσπάθειες αν υπάρχουν. Γνωρίζεις κάποια μέλη που να ασχολούνται ακόμα με το coding σε Amstrad?

Όταν γνώρισα την demoscene το 1998 είχε ήδη πεθάνει η πρώτη ελληνική PC σκηνή. Είχε ξεκινήσει το 1993 από τους Deus και ASD νομίζω, μέσω των BBS της εποχής. Είχαν κάνει 3 demoparty στην Πάτρα, τα Gardening 95,96,97. Παράλληλα υπήρχε μια μικρή ελληνική CPC demoscene με βασικό group τους Chaos (νομίζω ο Catloc και FG Brain κάνανε demάκια από το 1992, ίσως στην αρχή και με έτοιμους demomakers και μετά μέσω swapping ο Rex είχε την πρώτη επικοινωνία με ξένους sceners). Ο φίλος μου Antitec νομίζω ξεκίνησε τους Dirty Minds το 1995.

Με το που άρχισα να επικοινωνώ με άτομα από την παλιά ελληνική PC σκηνή ανανεώθηκε το ενδιαφέρον και οργανωθήκαν τα εξής πάρτυ: Digital Nexus 2001 στην Αθήνα, React 2002, 2003, 2004 και Pixel Show 2005 και 2007 (το 2006 δεν έγινε, απλώς υπάρχει invitation από τους ASD για να το σπρώξει :). Φυσικά με την κρίση, πολύ κόσμο να προχωράει στη ζωή του και το χάσιμο γενικά του ενδιαφέροντος δεν συνέχισε. Αλλά το θέμα είναι πόσοι ενδιαφέρονται να συμμετέχουν και στα ξένα demoparty τα οποία είναι πιο ζωντανά. Οπότε υπαρκτή ελληνική σκηνή όσον αφορά τα demos είναι οι ASD που βγάζουν επικά PC demos σε μεγάλα demoparties, και έπειτα οι δικές μου προσπάθειες σε οποιοδήποτε retro ή σύγχρονο μηχάνημα.

Στον Amstrad είμαι εγώ και δύο έλληνες γραφίστες, ο Rex και ο Voxfreax. Ο φίλος μου ο Antitec το έχει παρατήσει λόγω δουλειάς και γενικότερα έλλειψη ενδιαφέροντος για retro coding. Πρόσφατα είδα πως και ο FG Brain από τα παλιά την ξανά-ψάχνει με τον CPC+. Δεν βλέπω γενικώς να βελτιώνεται η κατάσταση, άλλωστε φαντάσου πόσο αφοσίωση θέλει για να ξεκινήσεις τον προγραμματισμό για χόμπι. Πόσο μάλλον demoscene και 8bit την εποχή αυτή. Ποιος θα προτιμούσε να ξεκινήσει τώρα σε παλιό μηχάνημα και ειδικά σε περίοδο κρίσης γιατί να μην επενδύσεις σε PC/Android; Και ειδικά άμα δεν έχεις μεγαλώσει με Amstrad. Εδώ δεν περιμένω η ελληνική σκηνή, ίσως μόνο PC demoscene (ελπίζω), αλλά έξω πιστεύω πως ο CPC θα πάρει τα πάνω του, γιατί μετά το Batman Forever υπάρχουν μερικοί από άλλες 8bit scenes που ενδιαφέρονται για Amstrad coding. Και έχει πολύ περισσότερους retro coders έξω.

 

Ποια η γνώμη σου για το ΑΥ-3-8912 chip ήχου του Amstrad?

Έχω παρατηρήσει πως αρκετοί που ξεκίνησαν από C64/Amiga και πάνω, χλευάζουν το AY ή δεν μπορούν να ευχαριστηθούν demo, ούτε το Batman Forever, ούτε άλλα από Spectrum/AtariST γιατί δεν χωνεύουν οτιδήποτε χειρότερο από SID. Εγώ όμως δεν έχω πρόβλημα και το έχω αγαπήσει το AY γιατί με αυτό μεγάλωσα. Και μου φαίνονται μια χαρά οι ήχοι και άλλωστε μπορώ να ακούσω και beeper σε spectrum 48k και να εκτιμήσω. Τεχνικά δεν ξέρω τι παίζει για να κρίνω, αλλά και ο CPC από τα παλιά παιχνίδια έβγαζε απίστευτες μελωδίες και ειδικά θυμάμαι κομματάκια σε demos του AtariST που σε κάνουν να δακρύζεις. Μπορεί και να πω πως την βρίσκω περισσότερο μερικές φορές όταν το scenemusic radio πετάει κομματάκια από AtariST.

 

Ποιον micro θεωρείς τον περισσότερο καινοτόμο για την εποχή? Ποια η γνώμη σου ZX Spectrum, C64?

Το είχα αναφέρει και πριν σε κάποια ερώτηση, σαφώς τον C64. Από άποψη graphics και sound hardware, από άποψη ευκολίας προγραμματισμού. Νομίζω πως την είχαν ψάξει πολύ με το hardware και είχαν σχεδιάσει τα VIC και SID chips ειδικά για τα μηχανήματα της C64. Σε αντίθεση με άλλα μηχανήματα, π.χ. Amstrad που απλώς πήραν έναν έτοιμο ΑΥ και ένα CRTC και τα βάλανε στο κύκλωμα. Από την άλλη και ο Spectrum έχει πολύ πολύ απλό design αλλά μου αρέσει που το πάλεψαν για τον απλό φτηνό υπολογιστή του απλού κοσμάκη. Για αυτό και έπιασε. Επίσης θα αναφέρω κάτι που μου αρέσει στον Amstrad, ο Alan φαίνεται πως τον προόριζε και για πιο σοβαρό υπολογιστή, άλλωστε έχεις ένα πιο προσγειωμένο design, γερό καλό πληκτρολόγιο, δισκέτα που δεν κάνει 2 λεπτά να φορτώσει όπως ο C64, 128k μνήμης και ανάλυση 640*200 με 2 χρώματα για κειμενογράφους. Για αυτό άλλωστε μετά το πήγε στους PCW και πέρασε στα PC. Ίσως είναι και νοσταλγία, αλλά λατρεύω τον CPC για αυτήν την αίσθηση στοιβαρότητας. Ακόμα και εκείνη η δισκετούλα η 3άρα φαίνεται πολύ σκληρή σε σχέση με τις 3.5” του PC. Τι ωραίο design.

3D engine στον CPC? Γίνεται! Παρακολουθήστε το demo του Μιχάλη εδώ.
3D engine στον CPC? Γίνεται! Παρακολουθήστε το demo του Μιχάλη εδώ.

Acorn Atom, BBC, Dragon 32, Oric είναι μερικά ακόμα κλασικά micros της 10ετίας του 80. Έχεις ασχοληθεί με κάποιο από αυτά; Γιατί δεν έτυχαν τόσο μεγάλης εμπορικής επιτυχίας κατά την άποψη σου;

Δεν έχει τύχει να ασχοληθώ με κανένα από τα τρία μηχανήματα και δεν ξέρω και αρκετά για αυτά. Ο BBC φαίνεται ενδιαφέρον και δυνατός ενώ έπαιζε στα σχολεία της Αγγλίας οπότε αναρωτιέμαι πως δεν έπιασε. Ίσως να ήταν γνωστός στα αγγλάκια δεν ξέρω. Εκεί είχε πρώτο-κυκλοφορήσει και το θρυλικό Elite. Στον Oric πάλι έχω δει μερικά demos, ο Dbug ασχολείται φανατικά, και ξέρω πως δεν είχε καν vsync οπότε ήταν δύσκολο να αποφύγεις flickering από dots/sprites (τουλάχιστον το ξέρω από ένα demo του που κατάφερε να δώσει vsync signal με μια hardware χακιά στο κασετόφωνο). Αλλά ο αγαπημένος μου αποτυχημένος 8bit είναι ο Sam Coupe. Και η μεγαλύτερη πατάτα (αν και 16bit) ο Sinclair QL μάλλον. Τώρα γιατί δεν είχαν επιτυχία; Τον καιρό εκείνο ο καθένας έβγαζε και από ένα home micro. Υπάρχουν δεκάδες, τα περισσότερα πάνω κάτω τον ίδιο z80 ή 6502 είχαν, με 64k συνήθως, και γραφικά spectrum και λίγο παραπάνω. Λίγοι ξεχώριζαν. Θα έπαιξε ρόλο και το marketing και φυσικά το software.

 

Είναι η Basic του Amstrad ένα από τα μεγάλα ατού του συστήματος; Αν ναι, για ποιον λόγο;

Δεν μπορώ να την συγκρίνω με τις αντίστοιχες του C64 και Spectrum γιατί δεν τις έχω δει. Αλλά ξέρω ότι πολλοί λένε πως ήταν η καλύτερη. Τώρα, αν και θέμα του λειτουργικού, όταν προσπάθησα να γράψω κώδικα στον C64 (assembly βασικά) παραξενεύτηκα που δεν φαίνεται να υπάρχουν εντολές να κάνεις SAVE/LOAD κομμάτια της μνήμης σε binary file. Νομίζω τουλάχιστον, αυτό κάνω στον amstrad αφού κάνω compile σε assembler και βγω στην basic για να σώσω το πρόγραμμα σε binary στη basic. Και το είχα ρωτήσει σε “κομμοντορά” και μάλλον δεν παίζει, ίσως θέλει κανά debugger/action replay στο cartidge. Ο Spectrum πάλι έχει το mode που πατάς ένα κουμπί και γράφει ολόκληρη την εντολή. Ενδιαφέρον concept για κάποιον που θέλει να γράψει γρήγορα αν το συνηθίσεις αλλά με μπερδεύει αν και πιστεύω βγαίνει. Επίσης, ασχέτως γλώσσας γουστάρω να γράφω κώδικα σε CPC πληκτρολόγιο παρά σε γομολάστιχα ή το C64 keyboard που λείπουν τα μισά arrows. Θεωρώ καλύτερο πληκτρολόγιο του CPC για προγραμματισμό γενικότερα.

 

CPC 6128, C64 ή ZX Spectrum; Ποιο προτιμάς και γιατί;

Επειδή έχω αναφέρει τις τεχνικές μου εντυπώσεις, από πλευράς αγάπης: CPC > Spectrum > C64

Dreamcast boot loading screen στον C64? Γίνεται!
Dreamcast boot loading screen στον C64? Γίνεται!

 

Μπορείς να μου αναφέρεις επιγραμματικά μερικές απλές τεχνικές προγραμματισμού τις οποίες χρησιμοποιείς πάντα;

Σε C πολλοί κώδικες μου είναι γεμάτοι bit shifting και binary logic (π.χ. shifts για multiply/division με δυνάμεις του δύο, AND με (2^n-1) αντί για modulo και έπειτα πιο advanced packaging σε 32bits, flag settings, κλπ).

Επίσης fixed point arithmetic. Το λατρεύω και είναι αναγκαία λύση για μηχανήματα χωρίς floating point, ακόμα και για μεταγενέστερους ARM. Στον Z80 ακόμα μπορείς να κάνεις ωραίο fixed point με τους ψευδό-16bit registers (από pairs οκτάμπιτων) πιο γρήγορα και απλά από ότι σε έναν 6502. Προσοχή στα Overflows!

Στα παλιά 8bit και όχι μόνο unroll codes (ή speedcodes όπως τα λένε στον C64). Ουσιαστικά δεν είναι μόνο πως γλυτώνεις τους κύκλους από το compare and jump αν κάνεις unrolling τα loops. Αλλά ξαφνικά έχεις έναν παραπάνω ελεύθερο καταχωρητή αλλά και αλλάζει ο τρόπος που μπορείς να optimάρεις κώδικα, οπότε πολλές φορές το unrolling αποκαλύπτει καινούρια optimize που μπορείς να ακολουθήσεις. Απαραίτητο τρικ για να optimάρεις στα 8bits όσο δεν πάει άλλο.

Και μια τεχνική για 32bit συστήματα που σίγουρα θα την έχουν κάνει και άλλοι αλλά την εμπνεύστηκα μόνος μου και αναρωτιόμουνα ποιός άλλος την έχει σκέφτει και πως λέγεται. Εξαρτάται βέβαια από το effect που θέλεις να κάνεις, και κάθε αλγόριθμος θέλει ειδική μεταχείριση. Μπορεί να optimάρει ένα effect έως και τέσσερις φορές. Θυμίζει λογική vectorization (SSE) σε σύγχρονους επεξεργαστές αλλά γίνεται και χωρίς SSE με κάποιους περιορισμούς. Ουσιαστικά, είναι η προσπάθεια να κάνεις πράξεις σε 4 8bit pixels με την μία (η γενικότερα σε 4 bytes), πακετάροντας κάποια precalced δεδομένα σε 32bits. Οπότε κάνεις π.χ. 32Bit reads/writes/adds κλπ και έχεις τελείωσει 4 pixels με την μία. Επειδή οι 32bit επεξεργαστές τρώνε ίδιους κύκλους είτε γράφεις/προσθέτεις bytes, είτε shorts(16bit) είτε words(32bit), έκανες την ίδια δουλειά με το αν την έκανες ξεχωριστά σε κάθε byte ξεχωριστά 4 φορές. Την είχα σκεφτεί πρώτη φορά όταν ήθελα να κάνω optimize ένα fire effect σε 386, και την εξάντλησα πρόσφατα στην προσπάθεια μου να γράψω μερικά εφέ (plasma, fire, sphere map, polar plasma) στο Panasonic 3DO που έχει αργό ARM processor. Κάποτε θα ήθελα να γράψω κάτι για αυτά, είναι ωραίος τρόπος για τρελό optimize ειδικά στα πρώτα 32bit που δεν έχουν πολύ ισχύ, αλλά έχει αρκετά drawbacks (ARM alignment crashes, X86 alignement speed hit) και δεν δουλεύει για κάθε αλγόριθμο.

Demo σε Open GL το οποίο παρουσιάστηκε στον διαγωνισμό Breakpoint  2009.
Demo σε Open GL το οποίο παρουσιάστηκε στον διαγωνισμό Breakpoint 2009.

 

Τι θα συμβούλευες κάποιον που θέλει να αρχίσει τώρα να προγραμματίζει δικά του demos στον Amstrad ή σε οποιοδήποτε άλλο micro.

Θα είναι καλή έκπληξη αν σήμερα εμφανιστεί κάποιος άλλος τρελός σαν και μένα που να θέλει να την ψάξει. Και φυσικά θα θέλει τρελή υπομονή και το κάποιο ισχυρό κίνητρο που ανέφερα. Αλλά σήμερα αν γράφεις κώδικα για παλιά μηχανήματα υπάρχουν ωραίες communities να σε βοηθήσουν, οπότε τουλάχιστον δεν θα νοιώθει μόνος.

Για Amstrad υπάρχουν δύο ελκυστικές λύσεις που μπορεί να το κάνουν λίγο πιο εύκολο. Cross Developing στον Winape32 assembler (οπότε μπορείς να κάνεις compile/run τον κώδικα και κατευθείαν να βλέπεις το αποτέλεσμα) και έχει και ωραίο debugger. Λίγο βέβαια ο editor του Winape32 είναι περίεργος με λίγα bugs (δεν είχε copy paste καν κάποτε).

Η δεύτερη λύση είναι μάλλον ο SDCC compiler για C κώδικα και λίγη inline assembly. Θέλει λίγο στην αρχή να τον στήσεις με έναν Codeblocks IDE ας πούμε αλλά μετά είναι ο τέλειος συνδυασμός ευκολίας στον προγραμματισμό και λίγης ισχύς όπου χρειάζεται. Ότι πρέπει για πιο οργανωμένο κώδικα, ειδικά για initializations, game logic, demo scripting και γενικότερα κώδικα που δεν τρέχει στα πιο critical loops, και αν και παράξενο βήμα για 8bits (όπου θα νόμιζες πως είναι απαγορευτικό οτιδήποτε άλλο πέρα από assembly) είναι μια ανάσα από το χάος ενός μεγάλου προγράμματος στην assembly. Με είχε πιάσει το μικρόβιο όταν ο No Recess έκανε το proof of concept βγάζοντας μερικά καταπληκτικά demos γραμμένα εν μέρη σε C (και μάλιστα στον PhrozenC που παράγει πολύ πιο unoptimal κώδικα). Το demo μου Chunky Chan είναι γραμμένο στον PhrozenC και το Wolfenstrad στον SDCC (φυσικά πάντα με τα πιο intensive κομμάτια σε inline assembly). Μπορείς και να ξεκινήσεις σε pure C για να κάνεις κάτι που δουλεύει, και αργότερα να optimάρεις/αντικαταστάσεις κομμάτια με inline assembly. Επίσης, αν ψάξετε για CPC Mania SDCC tutorial θα βρείτε μια σειρά από καταπληκτικά tutorial για εκμάθηση SDCC και C με λίγη assembly στον CPC. Ο τύπος ξεκινάει με Hello World και καταλήγει να κάνει fire effect, sprite rendering, sound, pong game και άλλα με αυτά τα tools.

Τέλος 1ου μέρους...

NiCkeD

15 thoughts on “ΣΥΝΕΝΤΕΥΞΗ – Optimus! (ΜΕΡΟΣ 1ο)

  • March 21, 2015 at 10:11 pm
    Permalink

    Well! Well! Well!
    Συνέντευξη – διδακτορική διατριβή από τον φίλο μου Νίκο και τον Μιχάλη [Optimus], που εκτιμώ και σέβομαι ειλικρινά….

    Είχα την τύχη να γνωρίσω από κοντά τον Μιχάλη (αν θυμάμαι καλά το όνομα του ;!) [FGBrain] και τον Πέτρο [Antitec], όταν είχα οργανώσει την πρώτη συνάντηση των Retromaniax στο εργαστήριο μου…
    http://www.retromaniax.gr/vb/showthread.php?1278-%D3%F5%ED%DC%ED%F4%E7%F3%E5%E9%F2-RetroManiax-2006-2011-%28%C8%E5%F3%F3%E1%EB%EF%ED%DF%EA%E7%29/page4
    Ήταν να έρθεις κι εσύ Μιχάλη [Optimus], αλλά ο λοχαγός σου δεν σου είχε δώσει άδεια…θυμάσαι ; 🙂
    Ο Antitec είχε απορροφηθεί από την Amiga CD32 ενώ με τον FGBrain είχαμε προχωρήσει σε μεγάλες αναλύσεις….
    Anyway, τι θυμάμαι τώρα, ε ; 😉 …

    Όπως πολύ καλά καταλάβατε, είμαι κι εγώ από τους πολύ πορωμένους με την τέχνη των demos. Θαυμάζω τον κόσμο που ασχολείται με αυτά, κάνοντας μας να νοιώθουμε σαν παιδιά κάθε φορά που αντικρύζουμε ένα καινούργιο εφέ ή ακούμε ένα μουσικό άκουσμα που μας κάνει να σκιρτήσουμε….Ναι, μέσα από τα demo νοιώθω πάλι παιδί που παρακολουθεί με έκπληξη στην βιτρίνα, τις μαγευτικές οθόνες ενός 8bit-ου φορτωμένου με ένα τόνο μαγείας ! Όλοι εσείς οι demo sceners είστε μάγοι, είστε καλλιτέχνες, είστε θαυματοποιοί…..

    Μπράβο Μιχάλη συνέχισε τις εκπληκτικές σου δουλειές και κάνε μας υπερήφανους !

    • O
      March 23, 2015 at 11:25 am
      Permalink

      [quote]Ήταν να έρθεις κι εσύ Μιχάλη [Optimus], αλλά ο λοχαγός σου δεν σου είχε δώσει άδεια…θυμάσαι ; 🙂
      Ο Antitec είχε απορροφηθεί από την Amiga CD32 ενώ με τον FGBrain είχαμε προχωρήσει σε μεγάλες αναλύσεις….[/quote]

      Ναι το θυμάμαι. Ήταν να γνωρίσω και τον Fg Brain από κοντά τότε που δεν έχει τύχει να τον γνωρισώ ποτέ. Ήταν οι πρώτες μέρες στο νέο στρατόπεδο οπότε δύσκολα. Ο λοχαγός μου έλεγε “Επειδή θες εσύ να κάνεις meeting με τα φιλαράκια; Δεν μπορείτε να το κάνετε πιο μετά;”. Που να του εξηγήσεις τι είναι το retro και ότι αυτά γίνονται μια φορά το χρόνο. Χεχε.

  • March 21, 2015 at 11:25 pm
    Permalink

    Φοβερός άνθρωπος.
    Παρακολουθώ καιρό κάποια βίντεο που έχει ανεβάσει.

  • March 22, 2015 at 1:16 am
    Permalink

    Καταπληκτικη συνέντευξη και περιεκτικη σε βάζει κατευθείαν στην 8bit demo scene, από τους συμπολίτες μας, τον Νίκο και τον Μιχαλη, τον οποίο θα ήθελα να γνωρίσω απο κοντα!!!!Με την πρωτη ευκαιρία τους περιμένουμε στην πατρίδα για έκτακτη συνάντηση και τι άλλο ρετρο-κουβεντα!!!!

    Αναμένουμε ανυπόμονα το 2o μέρος……

  • March 22, 2015 at 10:20 am
    Permalink

    Ωραία συνέντευξη, μπράβο παιδιά!

    Πολλά χρήσιμα πραγματα, τεχνικά θέματα , αλλά και πολύ ωραίες αναμνήσεις με τα demos 🙂

  • C
    March 22, 2015 at 2:03 pm
    Permalink

    Αν και δεν κατάλαβα ούτε τα μισά από την προγραμματιστική ορολογία και περιγραφή, δεν παύει η συνέντευξη με εναν προγραμματιστή της demo scene(και στα ρετρο demos) να ειναι πολυ ενδιαφέρουσα! Έριξε και μερικές αλήθεις ο Optimus, όπως το οτι η Atari community είναι πιό ενεργή απο της Amiga, που εχει στρογγυλοκαθήσει στις δάφνες της WHDLoad “επιστήμης”. Και φυσικά και λογικά ο άνθρωπος αυτός, προτιμάει τον ZX Spectrum απο εναν C64! 🙂

  • March 22, 2015 at 5:38 pm
    Permalink

    Eξαιρετικη συνεντευξη!!Ο Μιχαλης πραγματικα δεν παιζεται!!!Τι να πουμε τωρα και εμεις που παιζουμε με basic….o ανθρωπος ειναι ο μαγος του software…Περιμενουμε και το 2ο μερος!!

  • March 22, 2015 at 11:13 pm
    Permalink

    Τι να πω, πάντα έβλεπα τους coders της demos scene σαν τις “ειδικές δυνάμεις” των προγραμματιστών! Δε θυμάμαι ποτέ να έχω ζηλέψει τίποτα περισσότερο.
    Θα ήθελα να δώσω τα συγχαρητήρια μου στον optimus και να τον ευχαριστήσω για τις γνώσεις που πολύ ελεύθερα μοιράζεται με όλους.

    Αν θυμάμαι καλά, πρέπει κάπου κάποτε να παρουσίαζε τα νέα της demos scene σχολιάζοντας με το δικό του τρόπο τις νέες κυκλοφορίες! Ήμουν μεγάλος φαν.

    Τους χαιρετισμούς μου και στον Νίκο που τόλμησε αυτή την συνέντευξη.

    Θα ήθελα να κλείσω με μια ευχή – προτροπή.
    Μακάρι άνθρωποι σαν τον optimus να έβρισκαν κάποτε το χρόνο ώστε να μας έφτιαχναν ένα συνοπτικό οδηγό που θα μας βοηθούσε να ξεδιαλύνουμε ορισμένες βασικές έννοιες και να κατανοήσουμε καλύτερα τι βλέπουμε στα games και τα demos!
    Θα ήταν π.χ θαυμάσιο να ξεδιαλύνουμε τι είναι τα bitplanes και τι ρόλο βαράνε, τι είναι τα Chunky graphics modes, τι σημαίνει ότι ένας υπολογιστής έχει bitmapped graphics και ουτοκαθεξής…

    • O
      March 23, 2015 at 11:33 am
      Permalink

      >Θα ήθελα να κλείσω με μια ευχή – προτροπή.
      >Μακάρι άνθρωποι σαν τον optimus να έβρισκαν κάποτε το χρόνο ώστε να μας έφτιαχναν ένα
      >συνοπτικό οδηγό που θα μας βοηθούσε να ξεδιαλύνουμε ορισμένες βασικές έννοιες και να
      >κατανοήσουμε καλύτερα τι βλέπουμε στα games και τα demos!
      >Θα ήταν π.χ θαυμάσιο να ξεδιαλύνουμε τι είναι τα bitplanes και τι ρόλο βαράνε, τι είναι τα
      >chunky graphics modes, τι σημαίνει ότι ένας υπολογιστής έχει bitmapped graphics και
      >ουτοκαθεξής…

      Η αλήθεια είναι πως σκέφτομαι εδώ και καιρό κάτι σχετικό, ίσως μετά το Revision demoparty που θέλω λίγο να ξεφύγω από τα deadlines demoscene και να αφιερώσω χρόνο σε κάτι διαφορετικό. Ένα από αυτά είναι πως θα ήθελα να εξηγήσω μερικά πράγματα σε retro coding, από τα τυπικά(bitplanes, κλπ) μέχρι διάφορα περίεργα tricks που θέλουν οπτικοακουστικό τρόπο παρουσίασης. Και αν μπορώ να το κάνω με τέτοιο τρόπο που να γίνουν λίγο πιο κατανοητά στους αμύητους. Γιατί υπάρχουν πραγματικά πράγματα που με ενθουσιάζουν και θα ήθελα να τα εξηγήσω. Επίσης πολλά από αυτά δεν υπάρχουν πουθένα, ειδικά στο youtube. Το σκεφτόμουν αλλά θα έιναι project από το καλοκαίρι. Φύσικα έτσι το φαντάζομαι αλλά δεν ξέρω αν θα μπορέσω να το κάνω πραγματικότητα, μπορεί να αποδειχτεί πιο δύσκολο από ότι νόμιζα (αλλά αν απελευθερώσω τον χρόνο μου και συγκεντρωθώ σε αυτό), θα πρέπει πρώτα να κάνω ένα δύο δοκιμές pilot videos να δω πως βγαίνει.

      • March 23, 2015 at 11:42 am
        Permalink

        Optimus θα είναι φανταστικό αν το καταφέρεις. Προσωπικά είχα σκόπο να ασχοληθώ με την assembly στην amiga 500 – “Φόρτωσα” με αρκετή βιβλιογραφία πάνω στο θέμα αλλά αν δεν έχεις κάποιον *οδηγό* στο όλο εγχείρημα, είναι παλούκι! Και με τον περιορισμένο χρόνο που διαθέτουμε…άστα να πάνε!

        Όσο αφορά την συνέντευξη, εγώ δεν “θόλωσα” καθόλου απο την τεχνική ορολογία! Ίσα ίσα που μου άνοιξαν τα μάτια σε αρκετά πράγματα που δεν γνώριζα. Περιμένουμε με αγωνία το 2ο μέρος – το οποιο ελπίζω να είναι και αυτό φορτωμένο απο πληροφορίες! 😀

  • March 23, 2015 at 6:51 pm
    Permalink

    Μακάρι να τα καταφέρεις φίλε!
    Σε κάθε περίπτωση μόνο για την πρόθεση σε ευχαριστώ!

  • March 23, 2015 at 7:02 pm
    Permalink

    Τα λόγια είναι περιττά (για ακόμα μια φορά…)
    Συγχαρητήρια στον Nίκο (nicked) για αυτή την αληθινά μακροσκελή συνέντευξη .
    Όσο για τον Optimus πραγματικά χαίρομαι ΕΙΛΙΚΡΙΝΑ που υπάρχουν τέτοια άτομα και θα ήθελα κάποια στιγμή να τα (ξανά)πούμε από κοντά με τον Μιχάλη. Έχουμε τόσα να θυμηθούμε και να συζητήσουμε…..

  • N
    March 23, 2015 at 10:54 pm
    Permalink

    optimus θα ήταν ευχής έργον αν καταφέρεις να μας εξηγήσεις μερικά πράγματα, όποτε μπορέσεις. Στα σημεία που μιλάς με τεχνικούς όρους σε έχασα σε αντίθεση με τον γιατρό χαχαχαχα
    Νίκο μπράβο για το πρώτο μέρος της συνέντευξης και αναμένουμε και το 2ο 😉

  • April 27, 2015 at 2:02 pm
    Permalink

    Μίλησα με τον Μιχάλη και σύντομα θα το έχουμε! 🙂

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.