Το GameMaker αποτελεί ένα Οπτικό Περιβάλλον Αντικειμενοστρεφούς Προγραμματισμού που προσφέρει τη δυνατότητα δημιουργίας ηλεκτρονικών παιχνιδιών (computer games) Έχει κατασκευαστεί από τον Mark Overmars, καθηγητή του Institute of Information and Computing Sciences στο Πανεπιστήμιο της Ουτρέχτης (Utrecht University) στην Ολλανδία
Το Gamemaker υπάρχει σε δύο εκδόσεις, τη Lite Edition και τη Pro Edition Σκοπός του Game Maker είναι η παροχή ενός προγράμματος κατασκευής δισδιάστατων παιχνιδιών σε έναν προσωπικό υπολογιστή Τρέχει στα περισσότερα λειτουργικά συστήματα Διαθέτει μία πολύ ισχυρή γλώσσα προγραμματισμού (Game Maker Language ή GML)
Απλή Μορφή (Simple Mode)
Προχωρημένη μορφή (Advanced Mode)
Το Menu στο Gamemaker
File
Edit
ResourcesRun
Απλή Μορφή (Simple Mode) Προχωρημένη μορφή (Advanced Mode)
Απλή Μορφή (Simple Mode) Προχωρημένη μορφή (Advanced Mode)
Sprite Είναι μια εικόνα ή μια σειρά εικόνων που είναι οι οπτικές αναπαραστάσεις των αντικειμένων στο παιχνίδι.
Χρησιμεύει για την επιλογή μουσικών εφέ και μουσικής επένδυσης, με την οποία επιθυμούμε να εμπλουτίσουμε το παιχνίδι μας.
Χρησιμεύει για την επιλογή συνήθως μεγάλων εικόνων που χρησιμοποιούνται ως Backgrounds (φόντο) ή foregrounds (πρώτο πλάνο) για τα δωμάτια στα οποία το παιχνίδι πραγματοποιείται.
Είναι οντότητες στο παιχνίδι που πραγματοποιούν ποικίλες ενέργειες. Είναι η σημαντικότερη οντότητα στο παιχνίδι. Χωρίς αντικείμενα δεν υπάρχει κανένα παιχνίδι. Τις περισσότερες φορές έχουν ένα sprite ως γραφική αναπαράσταση έτσι ώστε να τα βλέπουμε. Έχουν συμπεριφορά επειδή μπορούν να αντιδράσουν σε ορισμένα γεγονότα.
ΟΤΑΝ ΓΕΓΟΝΟΣΚΑΝΕΕΝΕΡΓΕΙΑ
Πιο αναλυτικά... Create event: Το γεγονός συμβαίνει όταν μια περίπτωση ενός αντικειμένου δημιουργείται μέσα στο χώρο. Destroy event: Αυτό το γεγονός συμβαίνει όταν η περίπτωση καταστρέφεται. Alarm event: Κάθε περίπτωση έχει 12 ρολόγια. Μπορούμε να θέσουμε αυτά τα ρολόγια χρησιμοποιώντας ορισμένες ενέργειες. Το ρολόι μετράει αντίστροφα έως ότου φθάσει το 0 όπου θα χτυπήσει το ξυπνητήρι και το γεγονός θα συμβεί. Step events: Το γεγονός βημάτων (step event) συμβαίνει σε κάθε βήμα του παιχνιδιού. Collision event: Το γεγονός της σύγκρουσης συμβαίνει όποτε δύο περιπτώσεις συγκρούονται, δηλαδή όταν έρχονται σε επαφή δύο περιπτώσεις αντικειμένων.
Keyboard events: Το γεγονός συμβαίνει όταν ο παίκτης πιέσει ένα πλήκτρο του πληκτρολογίου. Mouse events: Το γεγονός συμβαίνει όταν ο παίκτης πιέσει ένα κουμπί του ποντικιού. Other events: Κάποια άλλα γεγονότα που μπορούν να είναι χρήσιμα σε ορισμένα παιχνίδια βρίσκονται στο Other events. Κάποιες από τις επιλογές αυτές είναι οι εξής: Game start: Αυτό το γεγονός συμβαίνει για όλες τις περιπτώσεις στο πρώτο δωμάτιο όταν αρχίζει το παιχνίδι. Room start: Αυτό το γεγονός συμβαίνει για όλες τις περιπτώσεις αρχικά σε ένα δωμάτιο όταν αρχίζει το δωμάτιο. No more lives: Το Game Maker έχει ένα ενσωματωμένο σύστημα ζωών. Υπάρχει μια ενέργεια για να δηλωθεί και να μεταβληθεί ο αριθμός τον ζωών. Όποτε ο αριθμός ζωών γίνεται λιγότερος ή ίσος από 0, αυτό το γεγονός συμβαίνει. Drawing event: Οι περιπτώσεις, όταν είναι ορατές, σχεδιάζουν το sprite τους σε κάθε βήμα στην οθόνη. Σημείωση: Το γεγονός σχεδίων εκτελείται μόνο όταν το αντικείμενο είναι ορατό.
Κίνηση αντικειμένου προς κάποια κατεύθυνση Applies to: Self : Όταν η ενέργεια αναφέρεται στο ίδιο το αντικείμενο. Other : Όταν η ενέργεια αναφέρεται σε άλλο αντικείμενο. Object : Όταν η ενέργεια δεν αναφέρεται στο ίδιο αντικείμενο, μπορούμε να προσδιορίσουμε σε ποιο αντικείμενο του παιχνιδιού αναφέρεται.
Θέτουμε /αλλάζουμε την τιμή του score Για παράδειγμα Relative: Προσθέτει μια καινούργια τιμή στην τρέχουσα
1.Θέτουμε στον αριθμό των ζωών την τιμή -1 με επιλεγμένο το checkbox relative. Αυτό σημαίνει ότι οι ζωές που απομένουν, θα μειωθούν κατά ένα. 2.Σταματάμε τον ήχο snd_music 3.Παίζουμε τον ήχο snd_crash 4.Εμφανίζουμε στην οθόνη ένα μήνυμα 5.Σταματάμε τον ήχο snd_crash 6.Αλλάζουμε την εικόνα μιας περίπτωσης (του αυτοκινήτου) σε μια μορφή του sprite spr_car 7.Θέτουμε την περίπτωση του αντικειμένου στην αρχική της θέση όπου δημιουργήθηκε 8.Κινούμαστε προς κάποια κατεύθυνση ή σταματάμε την κίνηση (ανάλογα με το τι έχουμε επιλέξει) 9.Παίζουμε τον ήχο snd_music
Είναι ο χώρος που πραγματοποιείται το παιχνίδι Κάθε παιχνίδι θα χρειαστεί τουλάχιστον ένα δωμάτιο
Μπορούμε να δώσουμε πληροφορίες για το παιχνίδι Οι πληροφορίες εμφανίζονται όταν πιέζει ο παίκτης Μπορούμε να χρησιμοποιήσουμε διαφορετικές γραμματοσειρές, διαφορετικά χρώματα, και σχήματα Επιλέγουμε το μέγεθος του παραθύρου Επιλέγουμε αν το παράθυρο θα εμφανίζεται κατά τη διάρκεια του παιχνιδιού συνεχώς ή αν το παιχνίδι θα σταματά καθώς θα παρουσιάζονται οι πληροφορίες
Υπάρχουν διάφορες ρυθμίσεις που μπορούμε να αλλάξουμε όπως: Αλλαγή της μορφής του κύριου παραθύρου Επιλογή γραφικών Επιλογή της εικόνας φόρτωσης
Υπάρχει στη προχωρημένη μορφή Γράφουμε κομμάτια κώδικα χρησιμοποιώντας την ενσωματωμένη γλώσσα προγραμματισμού του Gamemaker (GML) Μπορούν να παίρνουν εισαγόμενες-μεταβλητές που αποκαλούνται επιχειρήματα (μερικές φορές αποκαλούμενα παραμέτρους) Μπορούμε να χρησιμοποιήσουμε μέχρι 16 επιχειρήματα Επιστρέφουν μια αξία χρησιμοποιώντας τη λέξη κλειδί return
Πρόβλημα: Θέλουμε να δημιουργήσουμε το πρώτο δωμάτιο ενός παιχνιδιού στο οποίο θα παρουσιάζονται κάποιες αρχικές πληροφορίες για το παιχνίδι και στη συνέχεια όταν ο παίκτης πατήσει το κουμπί Play, αν υπάρχει επόμενο δωμάτιο θα πηγαίνει στην επόμενη πίστα αλλιώς το παιχνίδι θα τερματίζεται.
Ποια είναι τα βασικά συστατικά στοιχεία του πρώτου δωματίου (π.χ. υπάρχει φόντο, μουσική επένδυση, αντικείμενα που μπορεί να κινηθούν ή να επιλεγούν κ.λπ.); Ερώτηση
Βασικά συστατικά στοιχεία του 1ου δωματίου είναι το φόντο (background), η μουσική επένδυση και το κουμπί (αντικείμενο) Play.
Εισαγωγή Φόντου
Εισαγωγή Ήχου
Προσθήκη γεγονότος Create
To Kodu, που αρχικά ονομάστηκε Boku, είναι μια νέα οπτική γλώσσα προγραμματισμού που φτιάχτηκε ειδικά για τη δημιουργία παιχνιδιών Σχεδιαστής του είναι ο Matthew Maclaurin, ο διευθυντής του Redmond FUSE (Future Social Experiences) Lab Είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης προγραμματισμού από τα FUSE Labs της Microsoft Τρέχει στο Xbox 360 και στα Microsoft Windows XP, Vista και 7 Μπορεί κανείς να δημιουργήσει 3D τοπία, και να ελέγχει το φωτισμό και την κάμερα
Περιλαμβάνει την επιλογή οπτικών κουτιών για μια κατάσταση (WHEN) και μια ενέργεια (DO)
RESUME: Ανοίγει οποιοδήποτε παιχνίδι ή επίπεδο, το οποίο επεξεργαστήκαμε τελευταίο LOAD WORLD: Ανοίγει μια σειρά από παιχνίδια ή επίπεδα, τα οποία μπορούμε να επιλέξουμε COMMUNITY: Μπορούμε να δούμε παιχνίδια- προγράμματα που έχουν δημιουργήσει άλλοι προγραμματιστές σαν εμάς από όλο τον κόσμο OPTIONS: Μας παρέχει τη δυνατότητα να αλλάξουμε κάποια χαρακτηριστικά του επιπέδου του παιχνιδιού HELP: Προσφέρει μια γρήγορη βοήθεια για το Kodu QUIT: Με την επιλογή αυτή κλείνουμε το πρόγραμμα
όπου είναι 5 διαφορετικοί τρόποι φιλτραρίσματος των παιχνιδιών που είναι διαθέσιμα Οι κόσμοι μου (My Worlds): Παιχνίδια που έχουμε δημιουργήσει εμείς (προφανώς η λίστα αυτή θα είναι άδεια αρχικά). Κατεβασμένα (Downloads): Παιχνίδια που κατεβάσαμε από την κοινότητα προγραμματιστών του Kodu (και η λίστα αυτή θα είναι κενή αρχικά). Μαθήματα (Lessons): Μαθήματα που μας δείχνουν βήμα προς βήμα πως μπορούμε να δημιουργήσουμε τα δικά μας παιχνίδια. Παραδείγματα (Samples): Επιλογή που εμφανίζει αντιπροσωπευτικά παραδείγματα παιχνιδιών που προσφέρονται μαζί με την εγκατάσταση του Kodu. Όλα (All): Επιλογή με την οποία παρουσιάζονται όλα τα παραπάνω μαζί.
1. Επιλέγουμε ΦΟΡΤΩΣΗ ΚΟΣΜΟΥ (LOAD WORLD) 2α. Επιλέγουμε κάποιον από τους διαθέσιμους κόσμους 2β. Επιλέγουμε Νέος Κόσμος (New World)
Τα εργαλεία που έχουμε στη διαθεσή μας για να σχεδιάσουμε τη πίστα μας φαίνονται στην παλέτα εργαλείων: Παλέτα Εργαλείων
Βούρτσα Εδάφους: Προσθέτουμε Έδαφος/Διαγράφουμε Έδαφος (Ground Brush: Paint, add or delete ground): Η λειτουργία του εργαλείου είναι να προσθέτει και να διαγράφει έδαφος. Επιλογή αλλαγής υλικού Επιλογή αλλαγής σχήματος βούρτσας
Λόφοι και Κοιλάδες: Αυξάνουμε/Μειώνουμε το ύψος σε ένα τμήμα του κόσμου (Up/Down): Η λειτουργία του εργαλείου είναι να δίνει ύψος σε ένα τμήμα του κόσμου που ήδη υπάρχει. Λείανση Εδάφους: Κάνουμε το έδαφος λείο ή επίπεδο (Flatten: Make Ground Smooth or Level): Η λειτουργία του εργαλείου είναι να εξομαλύνει την επιφάνεια του εδάφους. Σκλήρυνση Επιφάνειας: Δημιουργούμε μυτερό ή λοφώδες έδαφος (Roughen: Create Spikey or Hilly Ground): Η λειτουργία του εργαλείου είναι να δημιουργεί υψώματα με μεγάλες και ακαθόριστες υψομετρικές διαφορές που δίνουν την αίσθηση περισσότερο μιας απόκρημνης ακανθώδους άγριας περιοχής παρά ενός βουνού ή ενός λόφου. Εργαλείο Νερού: Προσθέτουμε, αφαιρούμε ή χρωματίζουμε το νερό (Water tool: Add, Remove, or Tint Water): Η λειτουργία του εργαλείου είναι να εισάγει νερό σε περιοχές του κόσμου μας.
Επιλογή του εικονιδίου από την παλέτα εργαλείων. Διαθέσιμα Αντικείμενα
Ο προγραμματισμός των αντικειμένων έχει σχέση με το να αποδώσουμε συμπεριφορές στο αντικείμενο αυτό. Μια συμπεριφορά ορίζεται ως ο συνδυασμός ενός γεγονότος και μίας ενέργειας που εκτελείται όταν το αντικείμενο αντιληφθεί αυτό το γεγονός
Τα γεγονότα γίνονται αντιληπτά από τους αισθητήρες των αντικείμενων Ένας αισθητήρας, πρέπει να συμπληρωθεί και από κάποια πρόσθετα χαρακτηριστικά ώστε να περιγράψει πλήρως το γεγονός που θέλουμε να αντιληφθεί το αντικείμενο (π.χ. «όταν πέσεις πάνω σε κόκκινο μήλο», το μήλο είναι το προσδιοριστικό). Αυτά ονομάζονται προσδιοριστικά του αισθητήρα
Όταν αντιληφθεί ένα αντικείμενο ένα γεγονός με τους αισθητήρες του τότε πρέπει να του ορίσουμε πως θα αντιδράσει (ενέργειες) Και οι ενέργειες συνοδεύονται από τα δικά τους προσδιοριστικά (π.χ. «πήδα ψηλά», το ψηλά είναι το προσδιοριστικό)
Δομή ΌΤΑΝ...ΚΑΝΕ (WHEN…DO) Όλες οι εντολές εκτελούνται παράλληλα. Κάθε φορά που ενεργοποιούνται ένας ή περισσότεροι αισθητήρες, εκτελούνται και οι αντίστοιχες ενέργειες ταυτόχρονα.
Από αυτή επιλέγουμε το Προγραμμάτισε (Program).
Προγραμματισμός ενός αντικειμένου
Γεγονότα στο Kodu
Επιπρόσθετες επιλογές του γεγονότος more
Ενέργειες
Παίξιμο του παιχνιδιού (Play Game): Με τη χρήση αυτού του εργαλείου μπορούμε να παίξουμε το παιχνίδι μας Μετακίνηση Κάμερας (Move Camera): Με τη χρήση αυτού του εργαλείου μπορούμε να αλλάξουμε τη θέση της κάμερας ώστε να βλέπουμε την πίστα μας από διαφορετικές οπτικές γωνίες Εργαλείου Μονοπατιού (Path Tool): Αυτό το εργαλείο μας δίνει τη δυνατότητα να δημιουργούμε συγκεκριμένα Μονοπάτια (Path) κίνησης μέσα στον κόσμο μας Εργαλείο Διαγραφής (Delete Tool): Με τη χρήση αυτού του εργαλείου μπορούμε να διαγράφουμε αντικείμενα από το κόσμο μας Ιδιότητες Κόσμου (Change World Settings): Αυτό το εργαλείο προσφέρει μια γκάμα από επιλογές που μας επιτρέπουν να διαμορφώσουμε τον κόσμο του παιχνιδιού που θέλουμε να δημιουργήσουμε
Το Kodu μας δίνει τη δυνατότητα να αλλάζουμε τη συμπεριφορά των αντικειμένων του κόσμου μας, δηλαδή, τα αντικείμενα να μην έχουν την ίδια συμπεριφορά σε όλη τη διάρκεια του παιχνιδιού Κάθε αντικείμενο μπορεί να έχει διαφορετικά σύνολα συμπεριφορών δηλαδή ξεχωριστά σύνολα εντολών που μπορούν να ενεργοποιηθούν προγραμματιστικά Κάθε σύνολο συμπεριφορών δημιουργείται μέσα σε μια «σελίδα» (page) συμπεριφοράς Το Κodu επιτρέπει σε ένα αντικείμενο να έχει μέχρι δώδεκα διαφορετικά σύνολα συμπεριφορών δηλαδή μέχρι δώδεκα σελίδες συμπεριφορών Κάθε στιγμή στο πρόγραμμα εκτελείται μια και μόνο σελίδα συμπεριφορών για κάθε αντικείμενο, δηλαδή κάθε αντικείμενο έχει ενεργό ένα από τα δώδεκα δυνατά σύνολα συμπεριφορών του
Μπορούμε να ορίζουμε ποιο σύνολο συμπεριφορών θέλουμε να ενεργοποιείται κάθε στιγμή με τη χρήση της ενέργειας «Αλλαγή σελίδας»και προσδιοριστικό την αντίστοιχη σελίδα εντολών που επιθυμούμε Ενέργεια «Αλλαγή σελίδας»: H «σελίδα 1» είναι αυτή που εκτελείται πάντα όταν ξεκινά ένα παιχνίδι
Σελίδα συμπεριφοράς 1
Σελίδα συμπεριφοράς 2
ΌΤΑΝ[στο ποντίκι][πατηθεί το αριστερό κλικ] ΤΟΤΕ [πυροβόλησε][με σφαιρίδιο] ΌΤΑΝ[στο πληκτρολόγιο][πατηθεί το αριστερό βελάκι] ΤΟΤΕ [στρίψε][αριστερά] ΌΤΑΝ[Βλέπω][τον Kodu] ΤΟΤΕ [Κινούμαι][Προς αυτόν]
ΌΤΑΝ[Πέσω Πάνω][σε ένα Νόμισμα] ΤΟΤΕ [να Παίξω][τον Ήχο Νομίσματος] ΌΤΑΝ[Πετυχαίνω][Αερόπλοιο] ΤΟΤΕ [Ανατινάζω][το Αερόπλοιο] ΌΤΑΝ[κάθε 5 δευτερόλεπτα] ΤΟΤΕ [πυροβόλησε][με πυραύλους] ΌΤΑΝ[πέσεις πάνω][στο μήλο] ΤΟΤΕ [Καταβρόχθισέ][Το]
ΌΤΑΝ[πέσω πάνω σε][πράσινο μήλο] ΤΟΤΕ [άλλαξε σελίδα][σελίδα δύο]
ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΠΟΛΥ