Σάββατο, 18 Νοεμβρίου 2017

Ήρωες της πληροφορικής Νο1: John Carmack



Η επιστήμη της πληροφορικής δεν αποτελείται μόνο από hackers που γράφουν κώδικα για "σοβαρές" εφαρμογές και τεχνολογίες αλλά και από ανθρώπους που έφεραν τους υπολογιστές στην καθημερινότητα μας. Ένας από αυτούς, που είναι γνωστός κυρίως στην Gaming κοινότητα, είναι ο John Carmack.

Μπορεί κάποιος να μην γνωρίζει το όνομα του όμως σίγουρα έχει χρησιμοποιήσει κάποια από τις εφαρμογές του...δηλαδή τα παιχνίδια του. Commander Keen, Wofenstein 3D, Doom και Quake είναι μερικά από τα δημιουργήματα του. Όμως, σας βλέπω να αναρωτιέστε τι σχέση έχει το gaming με την επιστήμη της πληροφορικής; Η απάντηση είναι απλή. Τα παιχνίδια έβαλαν τους υπολογιστές στα περισσότερα σπίτια. 

Μέχρι και τα μέσα του 90 τα PC ήταν ένα ακριβό και χρονοβόρο χόμπι. Δύσκολα στα περισσότερα μέρη του κόσμου θα έδιναν τόσα λεφτά για να παίξουν παιχνίδια όταν υπήρχαν οι πιο αποδοτικές σε αυτό το τομέα κονσόλες. Όταν όμως έκανε την εμφάνιση του στα PC το DOOM ήταν κάτι εξωπραγματικό. Οι κονσόλες δεν μπορούσαν να παράγουν κάτι τέτοιο και ο μοναδικός τρόπος για να το απολαύσεις σε όλο του το μεγαλείο ήταν σε ένα PC. Έτσι η ζήτηση έγινε μεγαλύτερη και οι τιμές έπεσαν.

Όμως μέχρι να φτάσει ο Carmack στο μεγαλειώδες DOOM είχε γράψει πολλές γραμμές κώδικα. Ξεκίνησε να γράφει τα πρώτα του παιχνίδια για λογαριασμό ενός περιοδικού και εκεί γνώρισε τον John Romero. Εκείνη την εποχή το scrolling σε PC ήταν κάτι που δεν το είχε καταφέρει κανείς και τα παιχνίδια του NES ήταν ζηλευτά για το smooth scrolling τους. Είχαν το κατάλληλο hardware για να το καταφέρνουν αυτό σε αντίθεση με ένα PC που προοριζόταν για...excel. 

Βασανίστηκε λοιπόν αλλά στο τέλος κατάφερε να έχει ομαλό scrolling ακόμα και σε ένα PC. Ήταν τόσο ενθουσιασμένος με αυτό που το πρώτο Demo ήταν το αρχικό level από το Super Mario Bros 3. Θεώρησε πως κάτι τέτοιο θα ενδιέφερε την Nintendo και τους έδειξε το Demo με σκοπό να του δώσουν την άδεια να φτιάξει το Super Mario Bros 3 για PC. Η Nintendo αρνήθηκε, ήθελε ο Mario να εμφανίζεται μόνο στο δικό της hardware για προφανείς λόγους. Το επίτευγμα όμως αυτό του Carmack, το ομαλό scrolling, έφερε στους υπολογιστές έναν νέο ήρωα τον Commander Keen. Στο παιχνίδι αυτό ο Carmack έκανε χρήση της τεχνολογίας που είχε ανακαλύψει.


Όμως αυτό το πρώτο επίτευγμα του δεν έκανε την πείνα του να κορεστεί και σύντομα οι gamers απολάμβαναν ένα νέο παιχνίδι με τίτλο Woflenstein 3D. Εκεί ο Carmack έδινε στο χειριστή την ψευδαίσθηση του τρισδιάστατου κάνοντας χρήση της τεχνολογίας raycasting. Με αυτή τη τεχνολογία έχεις έναν 2D χάρτη του χώρου που θέλεις να κινηθείς και ανάλογα που βρίσκεσαι πάνω στο χάρτη και τι κοιτάς υπολογίζει τις αποστάσεις και ζωγραφίζει τον τοίχο του χώρου με τη σωστή αναλογία ώστε να φαίνεται 3D.

Το επόμενο του Project θα έκανε όλο το κόσμο να παραμιλάει και θα άλλαζε το gaming και τους υπολογιστές για πάντα. Το φαινόμενο DOOM του 1992 ήταν αποτέλεσμα υλοποίησης σε πραγματικό κώδικα μιας μεθόδου που υπήρχε από το 60 και άκουγε στο όνομα Binary Space Partition. Με αυτή τη τεχνολογία κατάφερε να φτιάξει άλλο ένα 3D παιχνίδι που δεν ήταν όμως πραγματικό 3D και να αφήσει τους πάντες με ανοιχτό το στόμα.


Όμως ένας τέτοιος επίμονος προγραμματιστής σίγουρα δεν θα ήθελε να μείνει σε κάτι που ήταν 3D αλλά δεν ήταν πραγματικό 3D. Έτσι για πρώτη φορά το 1996 με τις ευλογίες του Carmack αλλά και με τον επίσης ευλογημένο κώδικα του είδαμε όλοι τι θα πει πραγματικό 3D σε PC. 


Με τα λεφτά που κέρδισε από τις ανακαλύψεις του ίδρυσε μια εταιρεία αεροναυπηγικής και συνεργάστηκε με την NASA. Τον τελευταίο καιρό ασχολείται με την εικονική πραγματικότητα και τις δυνατότητες του Oculus Rift.

Ο John Carmack γράφει κώδικα ασταμάτητα. Μάλιστα ο μύθος λέει πως οι ιδανικές του διακοπές είναι όταν μπορεί να απομονωθεί σε ένα δωμάτιο με τον υπολογιστή του ώστε να μπορεί να γράψει απερίσπαστος κώδικα.

Είναι υπέρομαχος του ανοιχτού κώδικα και μάλιστα πολλές από τις δημιουργίες του έχουν γίνει open source κάτι που τους έχει δώσει ζωή ακόμα και 20+ χρόνια μετά την δημιουργία τους. Για να καταλάβει κανείς τι λέω μπορεί απλά να παίξει το Brutal Doom.

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


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου