Game Editor: Σούπερ παιχνίδια στο Linux χωρίς ούτε μια γραμμή κώδικα!

dimitris | Κυρ, 10/21/2012 - 09:11 | 33' | 6

Εάν από νεαρή ηλικία είχατε τον καημό να δημιουργήσετε τα δικά σας παιχνίδια αλλά δεν γνωρίζατε πως, το Game Editor ήρθε να σας δώσει τη λύση και να βγάλετε το απωθημένο σας, για να δημιουργήσετε το δικό σας παιχνίδι γρήγορα & εύκολα !!!

Του Σταύρου Τεμερτζίδη

Σίγουρα κάποιοι από εσάς (ειδικά οι παλαιότεροι) θα είχατε κάποιον από τους λεγόμενους home υπολογιστές (C64, Amstrad, Spectrum κλπ). Αργά ή γρήγορα θα είχατε μπει στον πειρασμό να γράψετε κάποιο game listing που υπήρχαν στα περιοδικά της εποχής (Pixel Junior, Pixel κλπ). Και δυστυχώς, σύντομα θα είχατε διαπιστώσει πως η δημιουργία παιχνιδιών είναι μια χρονοβόρα και επίπονη διαδικασία που απαιτεί γνώσεις προγραμματισμού.

Τα “πέτρινα” χρόνια όμως πέρασαν, τα πράγματα εξελίχθηκαν και φτάσαμε στο σήμερα όπου δεν απαιτούνται γνώσεις προγραμματισμού για να δημιουργήσουμε το δικό μας παιχνίδι. Υπάρχουν πλέον τα λεγόμενα Game Engines, στα οποία η ανάπτυξη του παιχνιδιού μας γίνεται μέσω γραφικού περιβάλλοντος.

Γιατί το Game Editor

Κάνοντας μια σύντομη αναζήτηση στο Google με τον όρο “Game Engine” θα διαπιστώσουμε ότι υπάρχουν δεκάδες game engines, άλλα αμιγώς εμπορικά, με υποστήριξη για ανάπτυξη παιχνιδιών 3D κλπ.

Τα πλεονεκτήματα του Game Editor έναντι άλλων game engines είναι πως είναι ελεύθερο λογισμικό με άδεια χρήσης GPLv3 και cross-platform. Μπορούμε δηλαδή να δημιουργήσουμε το παιχνίδι μας και να το εξάγουμε για τις εξής πλατφόρμες: iPhone, iPad, Mac OS X, Windows, Linux, Pocket PC, Windows Mobile, GP2X και σύντομα σε Android.

Αυτό σημαίνει πρακτικά πως μπορούμε να αναπτύσσουμε παιχνίδια για το iPhone μέσα από την αγαπημένη μας διανομή Linux. Να αναπτύσσουμε παιχνίδια στο Linux, να τα εξάγουμε χωρίς την παραμικρή αλλαγή και να τα τρέχουμε σε Mac, Windows (καλά ντε, μη βαράτε, θεωρητικά το λέμε).

Οι συντελεστές ενός παιχνιδιού

Προτού ξεκινήσουμε το πρώτο μας παιχνίδι θα πρέπει πρώτα να κατανοήσουμε από τι αποτελείται ένα παιχνίδι.

Actors: Είναι τα αντικείμενα και οι χαρακτήρες ενός παιχνιδιού. Το καθένα από αυτά μπορεί να έχει συνδεδεμένα (linked) μια σειρά από animation, να είναι γόνος άλλου actor, να ακολουθεί μια προκαθορισμένη διαδρομή (path), να έχει διαφάνεια, να είναι κείμενο κλπ.

Animations: Είναι μια στατική εικόνα ή μια ομάδα εικόνων σε σειρά που αντιπροσωπεύουν ένα actor στην οθόνη.

Events: Είναι αυτό που συμβαίνει κατά τη διάρκεια του παιχνιδιού, όπως για παράδειγμα το πάτημα ενός πλήκτρου από τον χρήστη ή όταν ένα actor συγκρουστεί (collision)με ένα άλλο.

Action: Είναι αυτό που πρόκειται να γίνει όταν εκτελείται ένα event. Το Game Editor έχει ένα σετ από προκαθορισμένα action. Ένα event μπορεί να έχει ένα ή και περισσότερα action.

Για να γίνουν πιο κατανοητά τα παραπάνω ας φανταστούμε ότι έχουμε ένα διαστημόπλοιο (actor) το οποίο δέχεται από τους εξωγήινους (actors) καταιγισμό πυραύλων (actors). Όταν συμβεί το μοιραίο και δεχθεί το διαστημόπλοιό μας έναν πύραυλο, δημιουργείται ένα event (σύγκρουση actors: collision) και εκτελούνται όλα τα actions (ένα ή και περισσότερα) που έχουμε καθορίσει στο εν λόγω event, τα οποία μπορεί να είναι μια έκρηξη ή και μείωση της ενέργειας του διαστημόπλοιου.

Το πρώτο μας παιχνίδι...

Το πρώτο μας παιχνίδι θα είναι ένας κλώνος του δημοφιλούς παιχνιδιού στις αρχές της δεκαετίας του '80, το Space Invanders. Για την περίσταση, εμείς θα το ονομάσουμε, Linux Invaders. Πάντως είναι μια καλή αρχή για να μάθουμε τα βασικά του Game Editor, ώστε να δημιουργήσουμε μετέπειτα τη δική μας υπερπαραγωγή!

Αφού έχουμε εγκαταστήσει και έχουμε τρέξει το Game Editor (δείτε στο τέλος “Πως θα εγκαταστήσετε το Game Editor”), βρισκόμαστε στη κυρίως οθόνη. Αυτό που ξεχωρίζει είναι το λευκό πλαίσιο (view actor) στο κέντρο της οθόνης, το οποίο εμφανίζει όλη τη τρέχουσα δράση του παιχνιδιού.

Η πρώτη μας κίνηση είναι να καθορίσουμε την ανάλυση του παιχνιδιού σύμφωνα με τη πλατφόρμα που θέλουμε να αναπτύξουμε το παιχνίδι μας. Θα πρέπει πάντα να λαμβάνουμε υπόψιν μας τις προδιαγραφές μιας συσκευής (iphone, gp2x κλπ) προτού ξεκινήσουμε καθώς θα μας γλυτώσει μετέπειτα από πολύ κόπο και φασαρία. Για το δικό μας παιχνίδι θα επιλέξουμε την ανάλυση 240Χ320 για να δοκιμάσουμε το παιχνίδι μας σε φορητές συσκευές.

Από το μενού “Config > Game Properties” και στο παράθυρο που θα εμφανιστεί, επιλέγουμε για “Game resolution” το 240Χ320. Τοποθετούμε το λευκό πλαίσιο στο κεντρικό πλαίσιο του πλέγματος ώστε να είναι κεντραρισμένο με το crosshair.

Ο κεντρικός χαρακτήρας

Ήρθε η ώρα να κάνουμε τον κεντρικό μας χαρακτήρα, ένα actor... Από το μενού “Add actor” και στο παράθυρο που εμφανίζεται, δίνουμε ένα όνομα για τον χαρακτήρα μας πχ “space_ship” και πατάμε “add”. Αυτό θα μας εμφανίσει ένα pac-man (δεν έχει ακόμη ο χαρακτήρας μας animation). Τοποθετούμε τον χαρακτήρα μας στο κάτω μέρος της οθόνης και στη μέση (εικόνα 1).


1  Από το μενού “Add actor”  προσθέτουμε τον κεντρικό μας χαρακτήρα.

Χαρακτήρας χωρίς animation δεν γίνεται... Γι' αυτό κάνουμε δεξί κλικ πάνω στον χαρακτήρα μας και επιλέγουμε από το μενού “Actor Control”. Στο παράθυρο που εμφανίζεται επιλέγουμε “Add animation”. Δίνουμε κάποια ονομασία στο animation μας στο νέο παράθυρο που εμφανίστηκε πχ “spaceship”, ως animation επιλέγουμε το αρχείο “spaceShip.bmp” που βρίσκεται στη διαδρομή “GameEditor > Tutorials > data”, πατάμε “Ok” και επιστρέφουμε στο παράθυρο “Actor Control”. Σημειώνουμε τη διαδρομή καθώς εκεί βρίσκονται και τα υπόλοιπα αρχεία του παιχνιδιού μας.

Αφού έχουμε προσθέσει animation στον χαρακτήρα μας, πρέπει να του δώσουμε και κίνηση... Το διαστημόπλοιό μας θέλουμε να κινείται αριστερά και δεξιά. Οπότε στη ενότητα “Events” επιλέγουμε “Add” και από το μενού επιλέγουμε “Key Down” (πάτημα πλήκτρου). Στο νέο παράθυρο που μας εμφανίζει, πατάμε το πλήκτρο που θέλουμε να ορίσουμε ως “event”, στη περίπτωση μας το αριστερό βελάκι. Έπειτα πατάμε “Add Action” για να ορίσουμε τί θέλουμε να γίνει όταν πατηθεί το πλήκτρο. Από το μενού επιλέγουμε “Script Editor”. Στον script editor που θα μας εμφανίσει (μην τρομάζετε!!!) δίνουμε την γραμμή κώδικα “x = x - 4;”, πατάμε “Add” και επιλέγουμε “Immediate action”.

Ακολουθούμε τα ίδια βήματα και για το δεξί βελάκι με τη διαφορά ότι η γραμμή κώδικα στον script editor θα είναι “x = x + 4;”.

Για να γίνουν πιο κατανοητά τα παραπάνω, αυτό που κάναμε ήταν να αφαιρούνται 4 pixel από το σημείο που βρίσκεται ο χαρακτήρας μας όταν πατάμε το αριστερό πλήκτρο (κίνηση αριστερά) και αντίστοιχα να προστίθενται 4 pixel κάθε φορά που πατάμε το δεξί πλήκτρο (κίνηση δεξιά). Εάν θέλετε να πειραματιστείτε, μπορείτε να αλλάξετε τον αριθμό, αντί για “4” να βάλετε μεγαλύτερο για να κινείται πιο γρήγορα το διαστημόπλοιό μας και μικρότερο αριθμό για να κινείται πιο αργά.

Ας δοκιμάσουμε τί έχουμε κάνει έως τώρα... Τοποθετούμε τον χαρακτήρα μας στο κάτω μέρος και στη μέση του πλαισίου δράσης, κλείνουμε τυχόν ανοιχτά παράθυρα της εφαρμογής και από το κεντρικό μενού επιλέγουμε “Game Mode”. Θα εμφανιστεί η έως τώρα δημιουργία μας... Το διαστημόπλοιο το οποίο μπορούμε να μετακινούμε αριστερά και δεξιά. Κλείνοντας το παράθυρο του game mode θα επανέλθουμε στο περιβάλλον ανάπτυξης για να συνεχίσουμε.

Eat this punk...

Έχουμε το διαστημόπλοιό μας, έχουμε κίνηση, τι μας λείπει; Μα φυσικά οι σφαίρες μας...  Πώς αλλιώς θα κατατροπώσουμε τους εξωγήινους; Οπότε από το κεντρικό μενού επιλέγουμε “Add actor” δίνουμε ως όνομα το “ship_shot” και πατάμε “Add”... Μας εμφανίζει το pac-man, το οποίο το μετακινούμε εκτός πλαισίου δράσης καθώς δεν θέλουμε να εμφανίζεται η σφαίρα με τη έναρξη του παιχνιδιού. Κάνουμε δεξί κλικ στο pac-man και επιλέγουμε από το μενού “Actor Control”.

Πατάμε “Add animation”, δίνουμε ως όνομα “shot”, ως αρχείο την εικόνα “shipShot.bmp” και πατάμε “Ok”. Επιστρέφουμε στο “Actor Control” και στη επιλογή πάνω δεξιά “Create at startup” δίνουμε “No” (δεν θέλουμε να εμφανίζεται στην έναρξη του παιχνιδιού παρά μόνο όταν πυροβολούμε).

Στη ενότητα “Event” πατάμε “Add” και επιλέγουμε από το μενού “Create Actor”. Στο παράθυρο που εμφανίζεται επιλέγουμε “Add Action” και από εκεί “Script Editor”. Στον script editor δίνουμε τη γραμμή κώδικα “yvelocity = -5;”, πατάμε “Add” και επιλέγουμε “Immediate action”. Με την εντολή αυτή, λέμε στο actor της σφαίρας να κινείται κατακόρυφα και προς τα πάνω από το σημείο που βρίσκεται το διαστημόπλοιό μας κατά 5 pixel.

Επιστρέφουμε στο “Actor Control”, προσθέτουμε νέο event και επιλέγουμε “Out of Vision” και από το παράθυρο που εμφανίζεται, πατάμε “Add Action” και “Destroy Actor”. Στο νέο παράθυρο πατάμε “Add” και επιλέγουμε “Immediate action”. Αυτό που κάναμε δηλαδή είναι πως όταν η σφαίρας μας βρεθεί εκτός του πλαισίου δράσης, να καταστραφεί καθώς δεν χρειάζεται άλλο η ύπαρξή της. Μην ξεχνάμε ότι κάθε σφαίρα είναι actor και καλό είναι όταν δεν χρειάζεται ένα actor να καταστρέφεται για εξοικονόμηση πόρων του συστήματος.

Αφού έχουμε επιστρέψει στο “Actor Control”, επιλέγουμε να επεξεργαστούμε τις ρυθμίσεις του διαστημόπλοιού μας (από το drop-down μενού του “Name” επιλέγουμε “space_ship”), προσθέτουμε ένα ακόμη event και επιλέγουμε “Key Down”, πατάμε αριστερό Control (ή το πλήκτρο της αρεσκείας μας), στη επιλογή “Repeat” δίνουμε “Disable” (δεν θέλουμε να πυροβολούμε αδιάκοπα), πατάμε “Add Action” και επιλέγουμε “Create Actor”.
Στο παράθυρο που εμφανίζεται επιλέγουμε ως actor το “ship_shot”, πατάμε “Add” και επιλέγουμε “Immediate action” (εικόνα 2).
2  Προσθέτοντας actions

Αυτό ήταν... Το διαστημόπλοιό μας έχει πλέον τη δυνατότητα να πυροβολεί!!! Μπορούμε και πάλι να το δοκιμάσουμε επιλέγοντας το “Game Mode”.

We come in peace...

Ήρθε η ώρα να προσθέσουμε τους εξωγήινους... Από το μενού “Add actor” και στο παράθυρο που εμφανίζεται, δίνουμε ως όνομα “base_enemy”, ως τύπο επιλέγουμε “Filled Region” και πατάμε “add”. Θα μας εμφανίσει ένα πλαίσιο με μπλε περίγραμμα το οποίο θα είναι η βάση των χαρακτήρων που θα δημιουργήσουμε. Το τοποθετούμε στο κέντρο του πλαισίου δράσης και το προσαρμόζουμε (από τις γωνίες του πλαισίου) στο χώρο που θέλουμε να καταλαμβάνουν οι εξωγήινοι (εικόνα 3).

3  Ορίζοντας το χώρο δράσης των εξωγήινων

Αφού έχουμε ετοιμάσει τη βάση, προσθέτουμε τον πρώτο μας εξωγήινο πατώντας στο “Add actor” και ως όνομα δίνουμε “enemy1”. Στο “Actor Control” επιλέγουμε “Add Animation”, ως όνομα δίνουμε “e1” και ως αρχείο το “enemy1.bmp”. Τοποθετούμε τον νέο χαρακτήρα μας στη βάση του πλαισίου στη πάνω αριστερή γωνία. Από το “Actor Control” και στη επιλογή “Parent” επιλέγουμε “base_enemy”. Με αυτή τη επιλογή κάνουμε το πλαίσιο της βάσης γονέα του χαρακτήρα. Έτσι, εάν μετακινήσουμε ή εάν δώσουμε χαρακτηριστικά (events) στο πλαίσιο της  βάσης θα υιοθετηθούν αυτόματα και σε όλους τους χαρακτήρες που το έχουν γονέα, κάτι που θα μας διευκολύνει αφάνταστα καθώς δεν θα χρειάζεται να το κάνουμε ξεχωριστά για τους 20+ εξωγήινους του παιχνιδιού μας!
Έχοντας δημιουργήσει τον πρώτο εξωγήινο, δεν χρειάζεται να ακολουθούμε την ίδια διαδικασία και για τους υπόλοιπους της ίδιας σειράς. Μιας και θα είναι ίδιοι, το μόνο που έχουμε να κάνουμε είναι να δημιουργήσουμε κλώνους. Οπότε στο “Actor Control” του χαρακτήρα επιλέγουμε “Clone” και “Array”. Στο παράθυρο που θα εμφανιστεί δίνουμε 10 στο “Horizontal count”, στο “Distance between  clones” επιλέγουμε “manual” και στο “Horizontal distance” δίνουμε 13. Έτσι απλά δημιουργήσαμε την πρώτη σειρά των εξωγήινων...

Για τη επόμενη σειρά ακολουθούμε την ίδια διαδικασία: “Add actor”, όνομα “enemy2”, “Add Animation”, όνομα “e2”, αρχείο “enemy2.bmp”, “Horizontal Frames” 2, “Frame rate” 5, δίνουμε ως “Parent” το “base_enemy”, τοποθετούμε τον χαρακτήρα αριστερά κάτω από την πρώτη σειρά, επιλέγουμε “Clone” και “Array”. Στο παράθυρο που θα εμφανιστεί δίνουμε 8 στο “Horizontal count”, 2 στο “Vertical count” (θέλουμε δύο σειρές από δαύτους), στο “Distance between  clones” επιλέγουμε “manual”, στο “Horizontal distance” δίνουμε 17 και στο “Vertical distance” δίνουμε 16.

Τέλος, για τη 4η και 5η σειρά ακολουθούμε πάλι την ίδια διαδικασία: “Add actor”, όνομα “enemy3”, “Add Animation”, όνομα “e3”, αρχείο “enemy3.bmp”, “Horizontal Frames” 3, “Frame rate” 6, δίνουμε ως “Parent” το “base_enemy”, τοποθετούμε τον χαρακτήρα αριστερά κάτω από την τελευταία σειρά, επιλέγουμε “Clone” και “Array”. Στο παράθυρο που θα εμφανιστεί δίνουμε 8 στο “Horizontal count”, 2 στο “Vertical count”, στο “Distance between  clones” επιλέγουμε “manual”, στο “Horizontal distance” δίνουμε 17 και στο “Vertical distance” δίνουμε 16.  Αυτό ήταν... Οι ορδές των εξωγήινων δημιουργήθηκαν (εικόνα 4).


4  Οι εξωγήινοί μας

Το μόνο που κάνουν τη δεδομένη στιγμή είναι να παραμένουν ακίνητοι. Άρα το επόμενο βήμα είναι να τους δώσουμε κίνηση και... γκουχ-γκουχ, όπλα!

Die human, die...

Για να δώσουμε κίνηση στους εξωγήινους επιλέγουμε στο “Actor Control” το πλαίσιο της βάσης των χαρακτήρων (base_enemy), πατάμε στη ενότητα “Events” τη επιλογή “Add” και στο μενού που θα μας εμφανίσει επιλέγουμε “Create Actor”. Στο νέο παράθυρο πατάμε “Add” και στο μενού επιλέγουμε “Script Editor”. Στον “Script Editor” γράφουμε την εντολή “xvelocity = 1;” (κίνηση δεξιά), πατάμε “Add” και “Immediate action”.

Κλείνουμε όλα τα ανοιχτά παράθυρα και στο “Game Mode” βλέπουμε πως οι εξωγήινοι πηγαίνουν ναι μεν προς τα δεξιά αλλά φεύγουν έξω από το πλαίσιο δράσης! Αυτό σημαίνει πως θα πρέπει μόλις φτάνουν στην άκρη να τους αλλάζουμε κατεύθυνση. Άρα από το κεντρικό μενού επιλέγουμε “Add Actor” και στο παράθυρο που θα εμφανιστεί δίνουμε ως όνομα “sensor_left” και ως τύπο επιλέγουμε “Filled Region” και πατάμε “add”. Θα μας εμφανίσει ένα πλαίσιο με μπλε περίγραμμα το οποίο θα τοποθετήσουμε στην αριστερή πλευρά και λίγο προς τα μέσα στο σημείο όπου θέλουμε οι εξωγήινοι να αλλάζουν κατεύθυνση. Ακολουθούμε τα ίδια βήματα και για το δεύτερο πλαίσιο (sensor_right) το οποίο τοποθετούμε στη δεξιά πλευρά (εικόνα 5).


5 Κινώντας τους εχθρούς

Επόμενο βήμα είναι να καθορίσουμε την αλλαγή κατεύθυνσης όταν έρθει σε επαφή το πλαίσιο της βάση των χαρακτήρων με τα δύο νέα πλαίσια που δημιουργήσαμε. Από το “Actor Control” του base_enemy και στη ενότητα “Event” πατάμε “Add” και από το μενού που εμφανίζεται επιλέγουμε “Collision”. Στο νέο παράθυρο που εμφανίζεται, στο “Of Actor” επιλέγουμε “sensor_left”, πατάμε “Add action” και επιλέγουμε “Script Editor”. Στον “Script Editor” γράφουμε σε ξεχωριστές γραμμές “xvelocity = 1;” (κίνηση δεξιά) και “y = y + 5;” (5 pixel προς τα κάτω), πατάμε “Add” και “Immediate action”.

Επιστρέφουμε στο προηγούμενο παράθυρο (Collision Event) και κάνουμε τα αντίστοιχα βήματα και για το δεξί πλαίσιο: “Of Actor” και επιλέγουμε “sensor_right”, πατάμε “Add action”, επιλέγουμε “Script Editor”, γράφουμε σε ξεχωριστές γραμμές “xvelocity = - 1;” (κίνηση αριστερά) και “y = y + 5;”, πατάμε “Add” και “Immediate action”. Αυτό που κάναμε είναι όταν έρχεται σε επαφή το πλαίσιο της βάσης με το αριστερό πλαίσιο, να αλλάζει κατεύθυνση προς την αντίθετη πλευρά και παράλληλα να κατεβαίνει μια γραμμή. Το ίδιο αντίστοιχα γίνεται και στο δεξί πλαίσιο. Το αποτέλεσμα μπορούμε να το δούμε στο “Game Mode”.

Τελευταία προσθήκη για τους εξωγήινους είναι η δυνατότητα να πυροβολούν. Για να γίνει αυτό ακολουθούμε σχεδόν τα ίδια βήματα με αυτά του διαστημόπλοιου μας, με τη διαφορά ότι οι πυροβολισμοί των εξωγήινων θα γίνεται αυτόματα και με τυχαίο (random) τρόπο. 

Από το κεντρικό μενού πατάμε “Add Actor” και στο παράθυρο που εμφανίζεται δίνουμε ως όνομα “enemy_shot” και πατάμε “Add”. Από το “Actor Control” πατάμε “Add Animation”, στο παράθυρο που μας εμφανίζει δίνουμε ως όνομα “shot” και επιλέγουμε το αρχείο “shot.bmp”. Πίσω στο “Actor Control” στη επιλογή “Create at startup” δίνουμε “No”.

Στη ενότητα “Event” πατάμε “Add” και επιλέγουμε από το μενού “Create Actor”. Στο παράθυρο που εμφανίζεται επιλέγουμε “Add Action” και από εκεί “Script Editor”. Στον script editor δίνουμε τη γραμμή κώδικα “yvelocity = 5;” (κίνηση προς τα κάτω), πατάμε “Add” και επιλέγουμε “Immediate action”.

Επιστρέφουμε στο “Actor Control”, προσθέτουμε νέο event και επιλέγουμε “Out of Vision” και από το παράθυρο που εμφανίζεται, πατάμε “Add Action” και “Destroy Actor”. Στο νέο παράθυρο πατάμε “Add” και επιλέγουμε “Immediate action”. Ως εδώ έχουμε δημιουργήσει το όπλο των εξωγήινων και το πως θα συμπεριφέρεται. Μένει να ορίσουμε πότε θα πυροβολούν οι εξωγήινοι. Γι' αυτό θα χρειαστεί να δημιουργήσουμε έναν “timer” (χρονομέτρη). Επιλέγουμε το “Actor Control” του “enemy3”, στη ενότητα “Events” πατάμε “Add” και επιλέγουμε “Create Actor”. Στο νέο παράθυρο πατάμε “Add Action” και επιλέγουμε “Create Timer”. Στο “Timer” επιλέγουμε “New Timer” και στο παράθυρο που εμφανίζεται ως όνομα δίνουμε “enemy shot”, στο “Type” επιλέγουμε “Random”, στο “max (ms)” (μάξιμουμ χρόνος σε χιλιοστά του δευτερολέπτου) δίνουμε 40000, στο “Min time” (ελάχιστος χρόνος) δίνουμε 5000 και πατάμε “Ok”. Επιστρέφουμε στο παράθυρο του “Create Timer”, πατάμε “Add” και “Immediate action”.

Έχοντας ολοκληρώσει το όπλο και τον χρονομέτρη, ήρθε η ώρα να τα ενώσουμε μεταξύ τους. Από το “Actor Control” του “enemy3” στη ενότητα “Event” πατάμε “Add” και επιλέγουμε “Timer”. Στο παράθυρο που εμφανίζεται επιλέγουμε τον timer που μόλις πρόσφατα δημιουργήσαμε, πατάμε “Add Action” και επιλέγουμε “Create Actor”. Στο νέο παράθυρο στο “Actor” επιλέγουμε “enemy_shot”, ως “Animation” το “shot”, πατάμε “Add” και επιλέγουμε “Immediate action”.

Πηγαίνοντας στο “Game Mode” μπορούμε να δούμε το αποτέλεσμα. Θα δούμε ότι οι εξωγήινοι πυροβολούν αλλά προς το παρόν τα πυρά τους δεν βλάπτουν το διαστημόπλοιο μας, κάτι που θα αλλάξει στα επόμενα βήματα (εικόνα 6).

6  Δεν τα έχουμε πάει άσχημα ως τώρα!

Save the Planet

Ήρθε η ώρα να σώσουμε τον πλανήτη... Για να γίνει αυτό, θα πρέπει όταν πυροβολούμε και πετυχαίνουμε τους εξωγήινους να καταστρέφονται, κάτι που προς το παρόν δεν γίνεται.
Από το “Actor Control” του “ship_shot” και στη ενότητα “Event” πατάμε “Add” και επιλέγουμε “Collision”. Στο νέο παράθυρο που εμφανίζεται, στο “Of Actor” επιλέγουμε “enemy1”, πατάμε “Add action”, επιλέγουμε “Destroy Actor”, στο παράθυρο που εμφανίζεται, ως “Actor” επιλέγουμε “Collide Actor”, πατάμε “Add” και “Immediate action”.

Έχοντας επιστρέψει στο παράθυρο “Collision Event” ξαναπατάμε “Add action”, επιλέγουμε “Destroy Actor”, στο παράθυρο που εμφανίζεται, ως “Actor” επιλέγουμε αυτή τη φορά “Event Actor”, πατάμε “Add” και “Immediate action”. Δημιουργούμε δηλαδή δύο destroy actor events, ένα για τον ίδιο τον εξωγήινο και ένα για τη σφαίρα μας, για να μην ταξιδεύει και καταστρέφει όλους τους εξωγήινους στο πέρασμά της.

Τα ίδια βήματα ακολουθούμε και για τα “enemy2” και “enemy3”. Στο τέλος θα πρέπει να έχουμε 6 collision events (εικόνα 7).


7  Δημιουργώντας destroy actor events, για τον ίδιο τον εξωγήινο και για τη σφαίρα μας, όταν πυροβολούμε και πετυχαίνουμε έναν εξωγήινο αυτός θα καταστρέφεται!

Το αποτέλεσμα μπορούμε να το δούμε στο “Game Mode”... Όταν πυροβολούμε και πετυχαίνουμε έναν εξωγήινο καταστρέφεται! Τώρα πλέον η σωτηρία του πλανήτη είναι στο χέρι μας...

Game over

Ολοκληρώνοντας το παιχνίδι μας, η προσθήκη που μας μένει είναι να δώσουμε τη δυνατότητα στους εξωγήινους όταν μας πετυχαίνουν να καταστρεφόμαστε. Δεν θα έχει και πολύ πλάκα να βγαίνουμε πάντοτε νικητές!

Από το “Actor Control” του “enemy_shot” και στη ενότητα “Event” πατάμε “Add” και επιλέγουμε “Collision”. Στο νέο παράθυρο που εμφανίζεται, στο “Of Actor” επιλέγουμε “spaceship”, πατάμε “Add action”, επιλέγουμε “Destroy Actor”, στο παράθυρο που εμφανίζεται, ως “Actor” επιλέγουμε “Collide Actor”, πατάμε “Add” και “Immediate action”.
Έχοντας επιστρέψει στο παράθυρο “Collision Event” ξαναπατάμε “Add action”, επιλέγουμε “Destroy Actor”, στο παράθυρο που εμφανίζεται, ως “Actor” επιλέγουμε αυτή τη φορά “Event Actor”, πατάμε “Add” και “Immediate action”. Τώρα πλέον μπορούν και οι εξωγήινοι να μας καταστρέφουν. Το αποτέλεσμα μπορούμε να το δούμε στο “Game Mode” (εικόνα 8)...

8  To Linux Invaders είναι έτοιμο!!

Επίλογος

Το παιχνίδι μας δεν διεκδικεί δάφνες ποιότητας και πρωτοτυπίας αλλά είναι μια καλή βάση για να μάθουμε το Game Editor, να πειραματιστούμε με τις ρυθμίσεις, τις δυνατότητές του, να βελτιώσουμε τα υπάρχοντα στοιχεία και να προσθέσουμε νέες δυνατότητες.

Θα μπορούσαμε για παράδειγμα να προσθέσουμε μια εισαγωγική οθόνη, να δίνουμε 3 ζωές στον παίχτη, να έχουμε high score, να προσθέσουμε τα γνωστά βραχάκια του Space Invaders και τη μαμά των εξωγήινων (mothership), να πηγαίνουν όλο και πιο γρήγορα οι εξωγήινοι όσο θα λιγοστεύουν... Όρεξη, μεράκι και φαντασία να έχουμε και μπορούμε να δημιουργήσουμε πραγματικά πανέμορφα και εντυπωσιακά παιχνίδια. Και όλα αυτά μέσα από ένα εύχρηστο και φιλικό προς τον χρήστη πολυπλατφορμικό γραφικό περιβάλλον. Και προπαντός ΕΛΛΑΚ!

Πως θα εγκαταστήσετε το Game Editor

Η εγκατάσταση του Game Editor γίνεται εύκολα και γρήγορα χωρίς να μας προβληματίσει. Κάνουμε λήψη της νέας έκδοσης από:
http://sourceforge.net/projects/game-editor/files/gameEditor.zip/downlo…
Αποσυμπιέζουμε το αρχείο .zip στον Home φάκελο του υπολογιστή μας, ανοίγουμε το τερματικό και πηγαίνουμε στον αποσυμπιεσμένο φάκελο του Game Editor. Εκεί, δίνουμε την εντολή “chmod +x gameEditorLinux” (για πρώτη και μοναδική φορά) και τρέχουμε την εφαρμογή με “./gameEditorLinux”.

Ο Σταύρος αυτοαποκαλείται, εχμ... linux hacker & open source developer

Δώσε αστέρια!

MO: 5 (ψήφοι: 1)

Σχόλια

Διδακτικό και πολύ καλογραμμένο !
Πολύ καλή δουλειά , συγχαρητήρια !

Congrats και μόνο Congrats!!! Καλά που αναδημοσιεύετε τα άρθρα του περιοδικού, έτσι ώστε να υπάρχουν για πάντα, σε αντίθεση με το χαρτί που μπορεί να σκιστεί, να καταστραφεί, να πεταχτεί (κατά λάθος βέβαια), αυτό το site μένει για πάντα!

Το περιοδικό υπάρχει σε ηλεκτρονική μορφή σε pdf εδώ
http://www.e-compupress.gr/showmag.asp?ID=9

Ακόμη το τεύχος 10 δεν έχει βγει σε pdf.

Πέρα από την ηλεκτρονική μορφή του έντυπου περιοδικού στο site και στα forums υπάρχουν επιπλέον άρθρα και πληροφορίες που μπορείς να δεις.