REVIEWS

HUMAN RESOURCE MACHINE

Έχει περάσει σχεδόν ένας χρόνος από τότε που έκανε την εμφάνισή του το πρώτο μου κείμενο στο Ragequit σηκώνοντας σούσουρο (ουστ ψωνάρα!) σχετικά με το ποιος είναι αυτός ο τύπος με το άκρως ύποπτο όνομα. Έφτασε λοιπόν η ώρα να μάθετε κάτι παραπάνω για μένα… Ο Ρήγας ο Κουϊτίδης είναι ένα fake profile του Μποράτσου, το μεγαλύτερο του όπλο για την παγκόσμια επικυριαρχία. Ο Ρήγας ο Κουϊτίδης είναι προγραμματιστής (ή τουλάχιστον έτσι δηλώνει) ενώ φήμες τον θέλουν αυτόν τον καιρό να γράφει κώδικα για παιχνίδι που θα κάνει πρεμιέρα στην πρώτη Ragequit προμοσακούλα.

Το λόγο που χρειάστηκε να προηγηθεί η κάπως επεισοδιακή και άκρως αποκαλυπτική (δεν πιστεύω να ψαρώσατε από ένα απλό strike out ε;) θα τον καταλάβετε άμεσα. Το Human Resource Machine μας έρχεται από τους δημιουργούς του World of Goo και πρόκειται για έναν εξομοιωτή γλώσσας assembly που μας καλεί να λύσουμε μερικές προγραμματιστικές σπαζοκεφαλιές. Λόγω και της φύσης του τίτλου, θα μου συγχωρέσετε το γεγονός ότι ενδεχομένως το παρόν κείμενο να μοιάζει περισσότερο με ακαδημαϊκή διαφήμιση παρά με video game review. Άλλωστε αν κάτι ξεχωρίζει εμάς τους πιστούς της “μαμάς πλατφόρμας” σε σχέση με τους λοιπούς peasants της gaming κοινότητας είναι ακριβώς το ότι έχουμε πολύ βαθύτερη γνώση του εργαλείου του οποίου χρησιμοποιούμε.

HRM 01Χαμός…! (και μία γάτα)

Με drag and drop μέσα από ένα set διαθέσιμων εντολών θα πρέπει να συνθέτουμε τον κώδικα που θα λύνει το εκάστοτε πρόβλημα. Το σκηνικό συμπληρώνουν 2 ιμάντες που παίζουν τον ρόλο του input και του output καθώς και ένα ταμπλό στη μέση του επιπέδου που προσομοιώνει τη μνήμη. Ο επεξεργαστής για τον οποίο υποτίθεται ότι γράφουμε κώδικα είναι αρκετά απλός αλλά αν πιστεύετε ότι αυτή η απλότητα είναι για καλό τότε θα χρειαστεί να αναθεωρήσετε πολύ γρήγορα. Όσο πιο απλό το υλικό, τόσο πιο αδύναμες οι εντολές και τόσο πιο πολύ δουλειά που απαιτείται από τον προγραμματιστή. Το καλό στην περίπτωση μας σε αντίθεση με την πραγματικότητα είναι πως ότι πραγματοποιεί ο κώδικας μας αποτυπώνεται πλήρως σε οπτικό επίπεδο λειτουργώντας έτσι σαν ένας ισχυρός debugger που μας βοηθάει σημαντικά να καταλάβουμε αν κάτι δεν πάει καλά και που ακριβώς είναι το πρόβλημα.

Προσωπικά, έχοντας αφιερώσει κατά το παρελθόν ένα γεμάτο ακαδημαϊκό έτος με συγγραφή assembly για 5 διαφορετικούς επεξεργαστές καθώς και αρκετό χρόνο γύρω από την μελέτη των βασικών αρχών λειτουργίας τους, η ενασχόληση τον τίτλο αποτέλεσε μία ευχάριστη εμπειρία. Όχι απαραίτητα και εύκολη γιατί από τη φύση της μία τόσο πρωτόγονη assembly είναι της υπομονής ακόμα και αν ξέρεις ακριβώς τι και πως θα το κάνεις. Το βασικό ερώτημα που προκύπτει όμως είναι το κατά πόσο κάποιος που έχει μηδενική επαφή με το αντικείμενο μπορεί να το πιάσει από μηδενική βάση. Το παιχνίδι κάνει scale στη δυσκολία του με σωστό ρυθμό αλλά την ίδια ώρα αφήνει και τον παίκτη τελείως αβοήθητο να βγάλει μόνος του το φίδι από την τρύπα. Ακριβώς επειδή μιλάμε για εντολές σε γλώσσα μηχανής με περιορισμένες δυνατότητες, χρειάζονται ορισμένα προγραμματιστικά τρικ τα οποία απαιτούν αρκετό κόπο για να μπορέσεις να τα κατανοήσεις. Για να είμαστε και δίκαιοι πάντως, δεν πρόκειται για γνώσεις που θα βρει κανείς γραμμένες σε βιβλία (αν και το internet πάντα είναι χρήσιμο εργαλείο σε τέτοιες περιπτώσεις) όμως εδώ μιλάμε και για gaming και όχι σπουδές.

HRM 02Καφεϊνη, βασική πρώτη ύλη στην παραγωγή κώδικα

Το βασικό πρόβλημα στο εγχείρημα να προσεγγίσει κάποιον εντελώς νέο στις έννοιες του προγραμματισμού είναι ότι για παράδειγμα η “φυσιολογική” πορεία για να διδαχθεί την δομή της επανάληψης είναι τα for loops και όχι εντολές jump. Αν το εκλάβουμε ως εκπαιδευτικό προϊόν ενέχει σοβαρό κίνδυνο να εξελιχθεί σε αποτρεπτικό παράγοντα ενασχόλησης καθώς για παράδειγμα αν κάποιος δεν έχει γράψει μία υλοποίηση των αριθμών fibonacci σε γλώσσα υψηλού επιπέδου, το να το κάνει σε γλώσσα μηχανής δεν έχει ιδιαίτερο νόημα. Από την άλλη βέβαια υπάρχουν και περιπτώσεις οι αποστολές που δίνονται βοηθάνε τον παίκτη να αποκτήσει ένα τρόπο σκέψης πιο κοντά σε αυτόν που πρέπει να έχει ένας προγραμματιστής-hacker (όπου hacker αυτός που γυρίζει τον κόσμο ανάποδα και ακολουθεί πιο ανορθόδοξες προσεγγίσεις στον τρόπο που δρα) .

Πέρα από την βασική δουλειά που μας ζητείται να κάνουμε απλά σωστά στις 36 πίστες του παιχνιδιού (κάποιες από αυτές προαιρετικές), κάθε μία από αυτές έχει και 2 ακόμα challenge βελτιστοποίησης του προγράμματος μας. Στο πρώτο και πιο ενδιαφέρον πρέπει να μην ξεπεράσουμε ένα συγκεκριμένο αριθμό εντολών στο πρόγραμμά μας. Στο δεύτερο σκοπός μας είναι να περιορίσουμε τον μέσο αριθμό εντολών που εκτελούνται σε ένα instance του προβλήματος, ειδικά εδώ θα χρειαστεί πολύ loop unrolling. Αν δεν ξέρετε τι είναι αυτό δυστυχώς δεν πρόκειται να το μάθετε μέσα από το παιχνίδι και ακόμα και αν το εντοπίσετε διαισθητικά δεν θα μπορέσετε να καταλάβετε πλήρως την χρησιμότητα του. Κάποια hints έστω και έξω από τις απαιτήσεις του παιχνιδιού θα μπορούσαν να βοηθήσουν πολύ στο να “κεφαλαιοποιήσει” ο παίκτης τον κόπο που καταβάλει και σε ουσιαστικές γνώσεις. Οι συγκεκριμένες δοκιμασίες πάντως περιέχουν αρκετή πρόκληση ακόμα και για τους γνώστες του αντικειμένου δοκιμάζοντας τα όρια της ευρηματικότητας τους σε ορισμένες περιπτώσεις.

HRM 03Προγραμματιστές ή ρομπότ;

Η βαθμολογία που δίνω στο παιχνίδι μπορεί να χαρακτηριστεί και ως ελαφρώς αβανταδόρικη, όχι γιατί υπολείπεται σε ποιότητα και ευρηματικότητα αλλά γιατί χωλαίνει στο εύρος του κοινού στο οποίο απευθύνεται με μία ψυχρή ματιά. Αξίζει όμως να έχει μία ευκαιρία από τον καθένα (η τιμή του είναι έτσι κι αλλιώς χαμηλή ενώ σε μελλοντικά sales σίγουρα θα “παίξει” και σε πολύ χαμηλότερες ακόμα) έστω και αν είναι μεγάλη η πιθανότητα να μην τον “τραβήξει” τελικά. Ειδικά αν μιλάμε για νεότερους αναγνώστες που ακόμα ψάχνονται με τον επαγγελματικό τους προσανατολισμό, το δημιούργημα της Tomorrow Corporation μπορεί να αποτελέσει την αφορμή που θα τους ανοίξει την πόρτα στον μαγικό και αχανή κόσμο της πληροφορικής.

Pros

  • Πρωτότυπη ιδέα
  • Λόγω θεματολογίας προσελκύει εύκολα το ενδιαφέρον
  • Μπορεί να αποτελέσει αφορμή για περαιτέρω ενασχόληση με τον προγραμματισμό 

Cons

  • Έλλειψη tutorial…
  • …που έχει σαν αποτέλεσμα να ανεβαίνει υπερβολικά η δυσκολία
  • Οπτικά θυμίζει αρκετά το Little Inferno

RANKING - 85%

85%

rikimaru

Gamer από τις αρχές του '90 σε φορητά και κονσόλες, είχε την πρώτη του επαφή με τους υπολογιστές στα μέσα της ίδια δεκαετίας. Σε όλη αυτή την πορεία έχει καταπιαστεί με αρκετές κατηγορίες παιχνιδιών χωρίς να μπορεί να ξεχωρίσει κάποια ενώ όταν δεν βρισκόταν μπροστά από μία οθόνη συνήθως έσκαγε την "σπυριάρα" στο τσιμέντο ή στο παρκέ. Τα τελευταία 2 χρόνια εκτός από το να παίζει απλά με τα games, γράφει και για αυτά ενώ παράλληλα απολαμβάνει και την άνθιση της indie σκηνής.

4 Comments

  1. Πωπώ, σαν εφιάλτης τύπου Hack N’ Slash ακούγεται! Υπερβολικά περίπλοκο για τα δυο εναπομείναντα εγκεφαλικά μου κύτταρα, αλλά για το σωστό παίκτη, πραγματικό διαμαντάκι φαίνεται!

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

  3. Μπράβο για το κατατοπιστικότατο ρηβιού! Έχει ήδη μπει στη λίστα των παιχνιδιών που κάθε (γουάναμπι-)προγραμματιστής πρέπει να παίξει και μακάρι να δούμε ακόμα περισσότερα σε τέτοιο στυλάκι!

  4. Ενδιαφέρον. Για να δούμε, έχω όντως κακομάθει από τις υψηλού επιπέδου γλώσσες και τα RAD tools;

Leave a Reply

Related Articles

Back to top button
en_USEN