Βήμα 1: δημιουργώντας μία σκηνή & εισαγωγή στο εργαλείο SceneEdit

Τρέξτε το εργαλείο ProjectMan και ανοίξτε το αρχείο "scene_tut.wpr" που βρίσκεται στο φάκελο της WME, στον υποφάκελο "scene_tut". Αυτό το έτοιμο δοκιμαστικό παιχνίδι περιλαμβάνει όλα τα βήματα που περιγράφονται σε αυτό το κεφάλαιο. Μπορείτε αν θέλετε να εξερευνήσετε όλες τις σκηνές, που βρίσκονται μέσα στον φάκελο scenes, χρησιμοποιώντας το εργαλείο SceneEdit καθώς και να τρέξετε το παιχνίδι με την εντολή "Run game" από το μενού του ProjectMan.

Θα ξεκινήσουμε δημιουργώντας μία νέα σκηνή. Κάντε δεξί-κλικ στον φάκελο "scenes" και επιλέξτε την εντολή "Add scene...".

 

Θα εμφανιστεί ένα νέο παράθυρο με τίτλο "template selection". Επιλέξτε το πρότυπο "empty scene 800x600" και αλλάξτε το όνομα σε MyScene. Αν υπάρχουν περισσότερα από ένα πρότυπα φροντίστε να επιλέξετε το σωστό.

(Σημείωση: είναι απαραίτητο να χρησιμοποιήσετε το όνομα MyScene γιατί το παιχνίδι βασίζεται σε αυτό.)

Κάντε κλικ στο κουμπί "OK" και θα δημιουργηθεί μία νέα, άδεια σκηνή.

Το επόμενο στάδιο είναι να εισάγουμε στη σκηνή μας, την εικόνα που θα χρησιμοποιήσουμε ως φόντο. Προτείνεται να αποθηκεύετε όλα τα γραφικά κάθε σκηνής στο δικό της φάκελο. Τα γραφικά για αυτό τον οδηγό βρίσκονται έτοιμα στον φάκελο "tutorial\gfx". Κάντε δεξί-κλικ στον φάκελο "MyScene", επιλέξτε την εντολή "Import -> import file..." και εισάγετε το αρχείο "scene_tut\data\tutorial\gfx\background.bmp". Αυτή η ενέργεια έχει ως αποτέλεσμα το αρχείο "background.bmp" να αντιγραφεί στο φάκελο της σκηνής. (Σημείωση: μπορείτε ασφαλώς να μεταφέρετε το αρχείο στον φάκελο αυτό χρησιμοποιώντας τον αγαπημένο σας διαχειριστή αρχείων.)

Με αυτό το τρόπο δημιουργήσαμε μία καινούρια σκηνή με ένα φόντο. 

Αν θέλετε σε αυτό το σημείο μπορείτε να δοκιμάσετε ότι έχουμε φτιάξει, όπως και πριν με την εντολή "Run game". Στην οθόνη που θα εμφανιστεί επιλέξτε το αντικείμενο "My Scene". Αυτό είναι μόνο η αρχή καθώς το αποτέλεσμα είναι ακόμα ημιτελές: ο χαρακτήρας μπορεί να κινηθεί παντού (ακόμα και πάνω στα αντικείμενα), το δωμάτιο δεν μετακινείται ανάλογα με την θέση του ήρωα κ.λπ.

Κλείστε το παιχνίδι πατώντας το πλήκτρο escape δύο φορές.

Στον ProjectMan κάντε δεξί-κλικ στο αρχείο "MyScene.scene" και από το μενού επιλέξτε την εντολή "Edit...". Εναλλακτικά μπορείτε να κάνετε διπλό-κλικ στο ίδιο αρχείο. Με αυτή την διαδικασία ανοίγουμε τη σκηνή μας με το εργαλείο SceneEdit.

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

Δοκιμάστε να επιλέξετε διαφορετικούς κόμβους από την λίστα (προς το παρόν υπάρχουν μόνο δύο, το "background και το "floor") και θα δείτε ότι η επιλογή σας φαίνεται και στο παράθυρο προεπισκόπισης. Επιπλέον το παράθυρο με τις ρυθμίσεις θα αλλάξει τα περιεχόμενά του, ανάλογα με τον επιλεγμένο κόμβο.

Ας περάσουμε όμως πάλι στη διαδικασία κατασκευής της σκηνής μας. Όπως θα θυμάστε όταν τρέξαμε τη μέχρι τώρα δημιουργία μας το φόντο ήταν στατικό παρότι οι διαστάσεις του είναι μεγαλύτερες από την ανάλυση του παιχνιδιού (1000x716 και 800x600 αντίστοιχα). Θα πρέπει να ενημερώσουμε τη μηχανή για αυτή τη διαφορά ώστε να μπορεί να μετακινεί το φόντο σωστά. Επιλέξτε το επίπεδο "main" και κάντε κλικ στο κουμπί "Layer properties", όπως φαίνεται στην εικόνα παρακάτω. Αλλάξτε τις διαστάσεις σε 1000x716 και πατήστε το "OK".

Με αυτό τον τρόπο ενημερώνουμε τη μηχανή ότι ενώ η ανάλυση για το παιχνίδι είναι 800x600 εικονοστοιχεία το μέγεθος του φόντου είναι 1000x716 ώστε να γνωρίζει πως πρέπει να το μετακινεί ανάλογα με την θέση του χαρακτήρα μας.

Η τελευταία ενέργεια που πρέπει να κάνουμε για την ολοκλήρωση του πρώτου τμήματος του οδηγού είναι να ορίσουμε τις περιοχές στις οποίες ο χαρακτήρας μας μπορεί να βρίσκεται και να περπατά, αλλά και αυτές στις οποίες "απαγορεύεται να πάει". Επιλέξτε το κόμβο "floor" από τη λίστα που είχαμε δει προηγουμένως και στο παράθυρο προεπισκόπισης θα επιλεγεί  μία περιοχή. Αυτή η περιοχή είναι το μέρος που επιτρέπεται ο χαρακτήρας μας να κινείται. Θα πρέπει να της αλλάξουμε το σχήμα έτσι ώστε ο χαρακτήρας μας να μην περπατάει πάνω από τοίχους κ.λπ.

Τα πεδία στη WME μπορούν πρακτικά να έχουν οποιοδήποτε σχήμα.

Μπορείτε να εισάγετε ένα νέο κόμβο σε ένα πεδίο χρησιμοποιώντας το κουμπί "Add point" και εν συνεχεία κάνοντας κλικ στο παράθυρο προεπισκόπισης στο σημείο που θέλετε να εισαχθεί. Δεν είναι απαραίτητο να είσαστε απόλυτα ακριβής αφού ο SceneEdit μπορεί να υπολογίσει ανάμεσα σε ποιους κόμβους θέλετε το νέο κόμβο. Παρατηρήστε επίσης ότι ο κέρσορας του ποντικιού θα αλλάξει σχήμα κατά την διαδικασία, την οποία μπορείτε να ακυρώσετε πατώντας το δεξί πλήκτρο του ποντικιού.

Με την ίδια διαδικασία, αλλά χρησιμοποιώντας το κουμπί "Remove point", μπορείτε να αφαιρέσετε ένα κόμβο.

Σημείωση: είναι προφανές ότι τα πεδία πρέπει να έχουν τουλάχιστον τρεις κόμβους.

 

Μπορείτε επίσης να μετακινήσετε τους κόμβους στο φόντο. Κάντε δεξί κλικ επάνω στον κόμβο που επιθυμείτε να μετακινήσετε και κρατώντας το πλήκτρο πατημένο σύρετε το κόμβο στη νέα θέση και ελευθερώστε το πλήκτρο.


Υπόδειξη

Αν μετακινήσετε κατά λάθος ένα αντικείμενο, μπορείτε να ακυρώσετε την ενέργειά σας, κάνοντας αριστερό κλικ κατά την διαδικασία. Σε αυτή την περίπτωση το αντικείμενο θα επιστρέψει στην αρχική του θέση. Ασφαλώς το ίδιο αποτέλεσμα μπορείτε να έχετε χρησιμοποιώντας την εντολή "Undo" από το μενού του SceneEdit.

Ας δοκιμάσουμε λοιπόν να αλλάξουμε το σχήμα του πεδίου "floor" όπως αυτό φαίνεται στην παρακάτω εικόνα.

Αποθηκεύστε τη σκηνή και κλείστε τον SceneEdit. Αν δοκιμάσετε το παιχνίδι θα πρέπει η σκηνή να μετακινείται ανάλογα με την θέση του βασικού χαρακτήρα καθώς και ο τελευταίος να μη περπατάει πάνω στους τοίχους.

Προχωρήστε στο Βήμα 2: Προσθέτοντας entities στη σκηνή


Σημείωση: Αν όταν δημιουργήσετε τη σκηνή σας επιλέξετε κατά λάθος το πρότυπο "Empty scene 640x480" θα διαπιστώσετε ότι ο χαρακτήρας σας δε μπορεί να κινηθεί πουθενά ενώ έχει μία ελαφριά κόκκινη απόχρωση. Αυτό σημαίνει ότι στέκεται εκτός των ορίων που μπορεί να περπατήσει (στην περίπτωσή μας βρίσκεται εκτός που πεδίου "floor" που δημιουργήσαμε). Για να το διορθώσετε αυτό θα πρέπει να αλλάξετε την αρχική θέση του χαρακτήρα στη σκηνή που ορίζεται σε ένα script. Θα μάθουμε περισσότερα για τα scripts αργότερα αλλά προς το παρόν χρειάζεται να κάνουμε μόνο μια μικρή αλλαγή στο αρχείο scene_init.script. Το script αυτό ορίζει τις αρχικές τιμές και την κατάσταση της σκηνής και θα το βρείτε στον υποφάκελο "scr" της καινούργιας σκηνής. Μέσω του ProjectMan κάντε διπλό κλικ σε αυτό για να ανοίξει σε ένα κειμενογράφο. Στις πρώτες σειρές του αρχείου θα βρείτε την γραμμή actor.SkipTo(320, 300); που είναι αυτή που μας ενδιαφέρει. Αλλάξτε τις τιμές σε 320, 500 και σώστε το αρχείο. Αν τρέξετε το παιχνίδι θα διαπιστώσετε ότι τώρα ο χαρακτήρας μπορεί να μετακινηθεί μέσα στην σκηνή χωρίς το προηγούμενο πρόβλημα.