Η Unity είναι μία από τις πιο γνωστές μηχανές κατασκευής
βιντεοπαιχνιδιών σε πολλές και διαφορετικές πλατφόρμες (cross-platform) και αποτελεί
δημιουργία της εταιρείας “Unity Technologies”. Και όπως προ αναφέραμε και θα αναφέρουμε και στο και μέλλον θα την χρησιμοποιησουμε για την δημιουργία του Demo μας στο παιχνίδι "Γνωρίζοντας την αρχαία Ελλάδα" που διαδραματίζεται στον τρισδιάστατο κόσμο της αρχαίας Ελλάδας κάνοντας ένα ταξίδι στις αρχαίες πόλεις ώστε να μπορέσει ο παίχτης να δει και να γνωρίσει το περιβάλον της αρχαίας Ελλάδας όπως ακριβώς ήταν.
Το παιχνίδη το δημιούργουμε βασισμένοι σε ντοκουμέντα και επιστημονικές έρευνες αρχαιολόγων, έτσι ώστε το παιχνίδι να είναι όσο το δυνατόν πιο ρεαλιστικό.
Στο παιχνίδι αυτό σχεδιάζουμε ο παίχτης να μπορεί να δεί και να γνωρίσει με όλη την αληθηνότητα:Το παιχνίδη το δημιούργουμε βασισμένοι σε ντοκουμέντα και επιστημονικές έρευνες αρχαιολόγων, έτσι ώστε το παιχνίδι να είναι όσο το δυνατόν πιο ρεαλιστικό.
- Αρχαίες πόλεις.
- Αρχαίους ναούς.
- Αγάλματα των θεών και των ηρώων.
- Τον πλυθησμό που έζησε τότε και τις ενδυμασίες τους.
- Την καθημερινή εργασία και τη διασκέδαση.
- Την στρατιωτική εκπαίδευση και οπλική παραγωγή.
Τέλος, το παιχνίδι θα εξελίσεται στην πόλη της αρχαίας Αθήνας και της αρχαίας Σπάρτης.
Εικόνα 1: Το λογότυπο της Unity
|
Unity – Μηχανή Παιχνιδιών
Η Unity περιλαμβάνει μία μηχανή κατασκευής βιντεοπαιχνιδιών και ένα ενοποιημένο περιβάλλον ανάπτυξης (Integrated Development Environment - IDE). Χρησιμοποιείται στο σύνολό της για τη δημιουργία και κυκλοφορία βιντεοπαιχνιδιών σε ιστοτόπους, φορητούς και μη - ηλεκτρονικούς υπολογιστές, κονσόλες όπως “Playstation”, “Xbox”, καθώς και για έξυπνα κινητά τηλέφωνα. Αρχικά, η Unity κυκλοφόρησε για λειτουργικά συστήματα “Mac” παράλληλα με την εμφάνισή της στο με την “Apple” ως διοργανώρια και μετέπειτα στόχευσε την επέκτασή της σε παραπάνω από δεκαπέντε πλατφόρμες. Φυσικά είναι αξιοσημείωτη η δυνατότητα που προσφέρει η συγκεκριμένη μηχανή στον εκάστοτε “developer” να δημοσιεύει το παιχνίδι του σε οποιουδήποτε είδους πλατφόρμα επιθυμεί ο ίδιος.Το σύστημα της Unity
Η Unity περιλαμβάνει ένα διακομιστή (server) για την αποθήκευση των διάφορων αρχείων, καθώς και τη μηχανή προσομοίωσης φυσικής “PhysX” της Nvidia . Για την καλύτερη χρήση των γραφικών στα παιχνίδια της, απαιτεί την ύπαρξη “Di-rect3D” για “Windows” και “Xbox”, “OpenGL για “Mac OS”, “Linux”, “Android” και “iOS”
Η Unity παρέχει τη δυνατότητα συμπίεσης και αλλαγής της ανάλυσης αρχείων εικόνων και γραφικών γενικότερα, ανάλογα με τις απαιτήσεις κάθε πλατφόρμας. Η μηχανή της είναι φτιαγμένη με “Mono” που αποτελεί την εφαρμογή ανοιχτού κώδικα της “Net Framework” O προγραμματιστής μπορεί να δημιουργήσει το παιχνίδι του σε τρεις διαφορετικές γλώσσες προγραμματισμού, “C#”, “Javascript “και “Boo”.
Cross - platform Μηχανή Παιχνιδιών
Ο όρος “Cross - platform” δηλώνει πως η Unity μπορεί και κυκλοφορεί τα παιχνίδια που παράγονται με αυτή, σε πολλές και διαφορετικού είδους μεταξύ τους κονσόλες. Πιο συγκεκριμένα, οι πλατφόρμες που υποστηρίζονται από την Unity είναι οι εξής:- BlackBerry 10
- Windows Phone 8
- iOs
- Android
- Windows
- iOS X
- Linux
- Adobe Flash
- PlayStation 3
- PlayStation 4
- PlayStation Vita
- Xbox 360
- Xbox One
- Wii U
- Wii
- Ιστοτόπους και “Facebook” (με απαραίτητη εγκατάσταση του “Unity Web Player”).
Εικόνα 2: Wii U (Nintendo) |
Unity Technologies
Η εταιρεία “Unity Technologies” είναι ο δημιουργός της “Unity”. Ιδρύθηκε το 2004 από τους “David Helgason”, “Nicholas Francis” και “Joachim Ante” στην Κοπενχάγχη, Δανία. Οι τρεις τους αναγνώρισαν την αξία των μηχανών κατασκευής παιχνιδιών καθώς και των εργαλείων ανάπτυξής τους και αποφάσισαν έτσι, να δημιουργήσουν μια μηχανή η οποία να είναι και φθηνή και προσιτή γενικά στο κοινό των προγραμματιστών.Η επιτυχία της μηχανής τους οφείλεται στο γεγονός ότι στηρίζει τους ανεξάρτητους “developers” σε όλο τον κόσμο, οι οποίοι δεν είναι σε θέση είτε να δημιουργήσουν τη δικιά τους μηχανή παιχνιδιών, είτε να αποκτήσουν άδειες από άλλες μηχανές για να εκμεταλλευτούν πλήρως διάφορες δυνατότητες. Ο σκοπός της “Unity Technologies” είναι μία «Δημοκρατική Ανάπτυξη Βιντεοπαιχνιδιών» και η κατασκευή δισδιάστατων (2D) και τρισδιάστατων (3D) γραφικών να είναι προσιτή σε όσο το δυνατόν περισσότερους ανθρώπους ανά τον κόσμο γενικότερα.
Η “Unity Technologies” βγήκε στην επιφάνεια κυρίως με την άφιξη των “iPhone” της “Apple” στην αγορά, το 2009, καθώς η μηχανή τους ήταν από τις πρώτες που παρείχαν πλήρη υποστήριξη στη συγκεκριμένη πλατφόρμα της “Apple”. Σύμφωνα με μία έρευνα προγραμματιστών, η Unity αποτελεί το εργαλείο ανάπτυξης παιχνιδιών για πάνω από το πενήντα τοις εκατό των προγραμματιστών που ασχολούνται με την δημιουργία παιχνιδιών για κινητά τηλέφωνα, με εκατοντάδες παιχνίδια να κυκλοφορούν σήμερα για συσκευές “Android” και “iOS” όπως τα “Tem-ple Run” και “Bad Piggies” που είναι από τα πιο γνωστά.
Το 2009 η εταιρεία παραχώρησε στο προγραμματιστικό κενό μία δωρεάν έκδοση της Unity, με αποτέλεσμα ο αριθμός των “developers” να αυξάνεται ραγδαία, ώσπου να γνωρίσει μεγάλη επιτυχία τέσσερα χρόνια αργότερα με τον αριθμό των προγραμματιστών της να φτάνει το δύο εκατομμύρια, από τους οποίους οι τριακόσιοι χιλιάδες χρησιμοποιούν τη μηχανή σε μηνιαία βάση.
Το πρώτο παιχνίδι των δημιουργών της Unity ήταν το “GooBall” με το οποίο δε γνώρισαν την επιτυχία που ήθελαν. Αμέσως μετά την επίσημη κυκλοφορία της μηχανής, εκατοντάδες τίτλοι έκαναν την εμφάνισή τους με αποτέλεσμα να εκτινάξουν τη “Unity” στα ύψη.
2D - Δισδιάστατα παιχνίδια
Μερικοί γνωστοί τίτλοι δισδιάστατου περιβάλλοντος ανεπτυγμένοι είτε από “devel-opers” της εταιρείας, είτε από ανεξάρτητους:- “Twelve a Dozen”. Είδος: “Platformer, Puzzle”, της “Bossa Studios”, για “iOS” συσκευές.
- “Cuphead”. Είδος: “Platformer, Shooter”, της “StudioMHR”, για “Linux”, “Mac”, “Windows”, “Xbox One”.
- “Ori and the Blind Forest”. Είδος: “Action, Platformer”, της “Moon Studios”, για “Windows”, “Xbox 360”, “Xbox One” .
- “Tetris Ultimate”. Είδος: “Puzzle”, της “SoMa Play”, για “PSVITA”, “PS4”, “Windows”, “Xbox One”.
- “BeatBuddy: Tale of the Guardians”. Είδος: “Adventure, Music”, της “Threaks”, για “Linux”, “Mac”, “Windows”.
- “Galak-Z”. Είδος: “Arcade, Shooter”, της “17-BIT”, για “PS4”, “Windows”.
- “Pavilion”. Είδος: “Adventure, Puzzle”, της “Visiontrick”, για “PSVITA”, “PS4”.
- “GNOG”. Είδος: “Adventure, Puzzle”, της “KO-OP MODE”, για “Android”, “iOS”, “Linux”, “Mac”, “Windows”.
- “Paradise Lost”. Είδος: “Adventure, Platformer”, της “Ashtree Works”, για “Linux”, “Mac”, “Wii U”, “Windows”.
- “Device 6”. Είδος: “Puzzle”, της “Simogo”, για :iOS”.
3D - Τρισδιάστατα Παιχνίδια
Παρακάτω παρατίθενται μερικοί γνωστοί τίτλοι τρισδιάστατου περιβάλλοντος ανεπτυγμένοι μεUnity:
- “Wasteland 2”. Είδος: “RPG”, της “inXile Entertainment”, για “Linux”, “Mac”, “Windows”.
- “Endless Legend”. Είδος: “Strategy”, της “Amplitude Studios”, για “Mac”, “Windows”.
- “Superhot”. Είδος: “Action, Puzzle, Shooter”, της “Superhot Team”, για “Linux”, “Mac”, “Oculus Rift”, “Windows”.
- “Fates Forever”. Είδος: “MOBA”, των “Hammer & Chisel”, για “iOS”.
- “Lucky’s Tale”. Είδος: “Platformer”, της “Playful”, για “Oculus Rift”.
- “Hitman Sniper” . Είδος: “Action, Shooter”, της “Square Enix Montreal”, για “Android”, “iOS” Hitman (3D γραφικά)).
- “Shadow Blade”. Είδος: “Action, Platformer”, της “DeadMage”, για “iOS”.
- “Max: The Curse of Brotherhood”. Είδος: “Platformer, Puzzle”, της “Press Play”, για “Xbox 360”, “Xbox One”.
- “Aura Tower”. Είδος: “Architecture, Marketing, Visualization”, της “AeonVir-tual Inc.”, για “Windows”.
- “République”. Είδος: “Adventure, Stealth”, της “Camouflaj”, για “iOS”, “Mac”, “Windows”.
Ο ιστοχώρος της Unity
Η διεύθυνση «www.unity3d.com» αποτελεί τον ιστοχώρο της μηχανής παιχνιδιών Unity. Εδώ μπορεί να βρει ο κάθε ενδιαφερόμενος developer, ότι ακριβώς έχει ανάγκη για ένα αρκετά ικανοποιητικό αποτέλεσμα της κατασκευής των παιχνιδιών του, είτε από θέματα κώδικα, είτε από αντικείμενα (models) του “Store”, ακόμα και να λύσει τις απορίες του στο “Forum” των “developers”.Ενότητα εκμάθησης – “Learn”
Στην ενότητα “Learn” του ιστοχώρου της Unity, αν περιηγηθεί κανείς, μπορεί να βρει οδηγίες για το πως μπορεί να φτιάξει ένα παιχνίδι από το μηδέν, να βρει κομμάτια κώδικα – μαζί με επεξήγηση - τα οποία μπορεί να χρησιμοποιήσει ελεύθερα καθώς και να εκθέσει τις απορίες του.Μαθήματα για ανάπτυξη παιχνιδιών με τη Unity
Εδώ υπάρχουν ανεβασμένα από το προσωπικό της Unity μερικά παιχνίδια, αποτελούμενα το καθένα από μια σειρά από βίντεο, τα οποία εξηγούν στον εκάστοτε χρήστη βήμα βήμα, πως να ολοκληρώσει το κάθε ένα από αυτά και παράλληλα να εξοικειωθεί στο περιβάλλον της μηχανής και του κώδικά της.Επιπλέον υπάρχει μία ενότητα “Topics” χωρισμένο σε υποενότητες, το οποίο εξηγεί αναλυτικά το ρόλο κάθε δυνατότητας που προσφέρει η Unity στο σύνολό της. Παρακάτω παρατίθενται τα πιο σημαντικά θέματα που αναλύονται στον ιστοχώρο:
- 2D – Το περιεχόμενο της ενότητας αυτής αφορά δισδιάστατα στοιχεία για να μπορέσει κάποιος να δημιουργήσει ένα παιχνίδι σε δισδιάστατο περιβάλλον.
- Animation – Εδώ μπορεί κανείς να μάθει πως να δημιουργήσει και να αναπαραγάγει “animations”, δηλαδή, κινούμενες εικόνες και βίντεο, και να δώσει κίνηση στους χαρακτήρες του, ώστε να γίνει το παιχνίδι του πιο «ζωντανό».
- Audio – Εδώ αναλύονται λεπτομέρειες για το πως μπορεί κανείς να προσθέσει και να αναπαραγάγει ηχητικά εφέ και μουσική στο παιχνίδι του.
- Editor – Ίσως η πιο σημαντική ενότητα, αφού εδώ υπάρχει η ουσία της Unity ως μηχανής κατασκευής παιχνιδιών. Εδώ αναλύονται όλα τα “panels” που εργάζεται ο “developer” κατά τη διάρκεια της παραγωγής του παιχνιδιού του.
- Graphics – Ιδιαίτερο σημαντικό κεφάλαιο στην εκμάθηση των “developers”. Εδώ γίνεται κατανοητό πως μπορεί να μεταμορφωθεί ένα «άψυχο» ψηφιακό περιβάλλον σε ένα όμορφο και σχεδόν αληθινό για τον χρήστη και γενικά το πως μπορεί να αξιοποιηθούν τα γραφικά του παιχνιδιού.
- Physics – Επίσης, σημαντικό και ενδιαφέρον κεφάλαιο. Εδώ γίνεται αντιληπτή και κατανοητή η προσομοίωση της φυσικής κίνησης των αντικειμένων στο ψηφιακό χώρο, με βάση τον πραγματικό. Ο προγραμματιστής εδώ μαθαίνει να χειρίζεται τους προσομοιωτές της κίνησης και της φυσικής επιστήμης που διαθέτει η Unity για ένα όσο το πιο δυνατόν πιο ρεαλιστικό φυσικό περιβάλλον.
- Platform Specific – Στην ενότητα αυτή υπάρχουν λεπτομέρειες αξιοσημείωτες για κάποιον που θέλει να κυκλοφορήσει το παιχνίδι του σε συσκευή κινητού τηλεφώνου.
- Scripting – Βασικό μέρος για την κατασκευή ενός παιχνιδιού από το μηδέν μέχρι την ολοκλήρωσή του. Εδώ ο ενδιαφερόμενος developer μαθαίνει ότι χρειάζεται για τον κώδικα που απαιτεί το παιχνίδι του στο σύνολό του.
- UI – Η πιο ενδιαφέρουσα ενότητα που αφορά τη Unity. Εδώ γίνεται κατανοητό πως μπορούν να συμπεριληφθούν σε ένα παιχνίδι, κουμπιά (π.χ. για το “Menu”), κείμενα, εικόνες, μπάρες για διάφορες λειτουργίες (π.χ. ένταση μουσικής) και γενικά οτιδήποτε είναι απαραίτητο για τη σωστή δομή ενός παιχνιδιού.
Έγγραφα – Manual & Scripting API
Στην συγκεκριμένο κεφάλαιο συμπεριλαμβάνεται μία πλήρης γκάμα στοιχείων, συστημάτων και κώδικα που απαιτεί ένα παιχνίδι για την ολοκλήρωσή του.Στην ενότητα αυτή η Unity παρέχει λεπτομέρειες για τα κομμάτια κώδικα που παρέχει η μηχανή. Για να μπορέσει να εξοικειωθεί κάποιος με τον κώδικα, θα πρέπει να έχει έστω τις ελάχιστες βασικές προγραμματιστικές γνώσεις, ώστε να αξιοποιήσει ικανοποιητικά τόσο το θεωρητικό, όσο και το πρακτικό κομμάτι της Unity. Η καρτέλα “Scripting” περιλαμβάνει κώδικα μαζί με την επεξήγησή του και ο “developer” έχει τη δυνατότητα να επιλέγει γλώσσα προγραμματισμού (C#, javaScript, Boo) και να βλέπει το κάθε κομμάτι κώδικα ξεχωριστά για την κάθε επιλογή.
Το εγχειρίδιο (manual) σε συνδιασμό με το “Scripting API” έχει σχεδιαστεί για να καταστήσει εύκολη τη χρήση της Unity, σε όλη τη γκάμα των δυνατοτήτων της, είτε για βασικές, είτε για πιο προηγμένες τεχνικές. Ο κώδικας διατίθεται δωρεάν, χωρίς καμία πίστωση προς τη Unity, κάτι πολύ θετικό για τον ενδιαφερόμενο “developer”.
Εκπαιδευτικά Σεμινάρια – Ζωντανά σε απευθείας σύνδεση
Η Unity προσφέρει τη δυνατότητα στους “developers” της, να παρακολουθήσουν μαθήματα τύπου σεμιναρίων δωρέαν, κατευθείαν από το “browser” του ηλεκτρονικού τους υπολογιστή. Τα “online” αυτά μαθήματα εκπονούνται από ειδικούς της Unity και παρουσιάζουν ένα ολόκληρο “project” δημιουργίας παιχνιδιών στο κοινό, αναλύοντας σε διάφορα “topics” τις διάφορες ενότητες που απαρτίζουν το εκάστοτε “project”. Τα μαθήματα αυτά περιλαμβάνουν ολόκληρωμένα παιχνίδια, κομμάτια κώδικα, μέχρι και διάφορα “tips” για τη δημιουργία ενός παιχνιδιού. Τα περισσότερα από αυτά έχουν να κάνουν με το “editor” της Unity και το πως μπορεί να αξιοποιηθεί κατά τη διάρκεια ενός παιχνιδιού, όπως για παράδειγμα τα “2D-Scrolling Backgrounds”, “Lights”, “Camera”, “Game Objects”, “Parallax Backgrounds”, κ.λ.π..Η κοινότητα της Unity – Forum & Answers
Στη συγεκριμένη ενότητα του ιστοχώρου της παιχνιδομηχανής υπάρχει ένας ξεχωριστός χώρος, όπου η Unity επιτρέπει στον κόσμο της να εκθέτει και να αναλύει τις απορίες του, όποτε υπάρχει ανάγκη. Στην ενότητα “Forums” λοιπόν, μπορεί κάποιος να ανοίξει μια συζήτηση περί αποριών, ή να ζητήσει συμβουλές από άλλα εγγεγραμμένα μέλη του “site” σε ότι αφορά το παιχνίδι που επιθυμεί να κατασκευάσει ή κατασκευάζει ήδη.Ιδιαίτερο χώρο επίσης, αποτελεί και η ενότητα “Answers”. Εκεί το κάθε άτομο που έχει απορία σχετικά με το οτιδήποτε πάνω σε θέμα “developing”, μπορεί να εκθέσει την ερώτηση του. Ο σκοπός της συγκεκριμένης ενότητας είναι να αποθηκεύονται μαζικά όλες οι απορίες – ερωτήσεις και εν συνεχεία να είναι ανοιχτές προς το κοινό, είτε για να απαντήσει σε κάποιες από αυτές, είτε να ψάξει και να λύσει τη δικιά του απορία σε μία ήδη απαντημένη ερώτηση.
Asset Store
Το “Asset Store” της Unity , είναι μία “online” βιβλιοθήκη στην οποία περιλαμβάνονται εμπορικά και ελεύθερα αρχεία παιχνιδιού που δημιουργούνται είτε από την ίδια τη “Unity Technologies”, είτε από τα μέλη της κοινότητας. Στην ουσία αποτελεί ένα “market”, στο οποίο μπορεί να εισέλθει ο καθένας και να αποκτήσει είτε δωρεάν, είτε με κάποιο αντίτιμο, όποιο στοιχείο επιθυμεί για να χρησιμοποιήσει για τα παιχνίδια του. Τέτοια στοιχεία είναι, είτε “models”, αντικείμενα δηλαδή, (άνθρωποι, ζώα, αυτοκίνητα, σύννεφα) σε ψηφιακή μορφή, κομμάτια κώδικα, ακόμα και ολόκληρα παιχνίδια.Τέλος το “store” παρέχει τη δυνατότητα στα αρχεία που κατεβάζει ο κάθε ενδιαφερόμενος, να ανοίγουν κατευθείαν στον “editor” της Unity και να τα κάνει “im-port” κατευθείαν στα διάφορα μέρη του παιχνιδιού του.
Λήψη της Unity
Η “Unity Technologies” προσφέρει στο κοινό δύο εκδόσεις της μηχανής τους. Τη δωρεάν έκδοση της Unity μπορεί κάποιος να την κατεβάσει από τον ιστοχώρο της Unity στην ενότητα “Download” . Εκεί μπορεί να ενημερωθεί ο “developer” για τις απαιτήσεις συστημάτων, ώστε να μπορεί να αξιοποιήσει τη μηχανή.Πιο συγκεκριμένα, για την ανάπτυξη βιντεοπαιχνιδιών, η Unity υποστηρίζεται από λειτουργικά συστήματα όπως:
- Windows XP SP2+
- Windows 7 SP1+
- Windows 8, 8.1
- Mac OS X 10.6+
Ένα παιχνίδι δημιουργημένο με τη Unity μπορεί να αναπαραχθεί σχεδόν παντού μετά την ολοκλήρωσή του. Το πόσο ικανοποιητική θα είναι η απόδοσή του, εξαρτάται από την πολυπλοκότητα του “Project” του παιχνιδιού. Παρακάτω παρετίθενται οι απαιτήσεις συστημάτων για την αναπαραγωγή ενός παιχνιδιού της Unity όπως φαίνονται και στον ιστοχώρο:
- Για υπολογιστή:
- Λειτουργικά Συστήματα: Windows XP+, Mac OS X 10.6+, Ubuntu 10.10+, SteamOS+
- Κάρτες γραφικών με DirectX9
- Web Player για περιηγητές (IE, Chrome, Firefox, Safari, κλπ.)
- Λειτουργικά Συστήματα κινητών τηλεφώνων:
- iOS 4.3 +
- Android OS 2.3.1 +
- BlackBerry OS 10+
- Windows Phone 8+
Η Δομή της Unity
Στο κεφάλαιο αυτό, γίνεται αναφορά στον “Editor” της Unity και το “Monodevelop” τα οποία αποτελούν στην ουσία τα κύρια συστατικά της μηχανής παιχνιδιών.
Unity Editor
Ο Επεξεργαστής (Editor) της Unity, αποτελεί το κύριο μέρος της μηχανής, αφού στην ουσία σε αυτόν «χτίζονται» τα παιχνίδια. Εδώ εισάγονται όλα τα περουσιακά στοιχεία (assets) του παιχνιδιού μας και εδώ κατασκευάζονται οι διάφορες «πίστες» του παιχνιδιού, χρησιμοποιώντας, εδάφη, φώτα, ήχους, τους χαρακτήρες του παιχνιδιού και άλλα. Στον “Editor” πραγματοποείται και η αλληλεπίδραση των στοιχείων του παιχνιδιού με τον κώδικα των “scripts” από το “Monodevelop”, η κίνηση των στοιχείων αυτών και πολλά άλλα, τα οποία αναλύονται λεπτομερώς παρακάτω.
Τα «παράθυρα» του Editor
O “Editor” της Unity αποτελείται από κάποια «παράθυρα» (Windows) τα οποία επιτρέπουν στο χρήστη μια οργανωμένη διαμόρφωση της κατασκευής των παιχνιδιών του. Τα κυριότερα παράθυρα είναι :
- Scene
- Game
- Project
- Hierarchy
- Inspector
- Animation
- Animator
Το παράθυρο “Scene” είναι στην ουσία το μέρος όπου στήνεται όλο το παιχνίδι. Εδώ τοποθετούνται τα αντικείμενα του παιχνιδιού κατάλληλα ώστε να δημιουργηθεί η κάθε σκηνή του παιχνιδιού, είτε σε δισδιάστατο (2D), είτε σε τρισδιάστατο (3D) περιβάλλον σχεδίασης, το οποίο ο χρήστης μπορεί να εναλλάσσει με το κατάλληλο «κουμπί» πάνω στο παράθυρο “Scene”.
Αφού στηθεί η σκηνή όπως πρέπει, ο χρήστης πατώντας το κουμπί “Play” στο πάνω κεντρικό σημείο του “Editor”, οδηγείται αυτόματα στο παράθυρο “Game”, όπου και μπορεί να δοκιμάσει το παιχνίδι του βήμα – βήμα κατά την κατασκευή του. Στην ουσία το παράθυρο Game είναι ένας προσομοιωτής των συσκευών/κονσολών που κυκλοφορούν τα παιχνίδια μετά τη δημιουργία τους. Έτσι ο “developer” μπορεί να εξετάσει το παιχνίδι «βλέποντας μέσα από τα μάτια κάποιου» που παίζει το συγκεκρίμενο παιχνίδι στην κονσόλα του και να αλλάξει ή να προσθέσει/αφαιρέσει κομμάτια που ικανοποιούν ή όχι. Το παράθυρο “Game” επίσης, προσφέρει τις ακόλουθες αναλύσεις για τη δοκιμή των παιχνιδιών:
- Free Aspect
- WVGA
- Portrait (480 * 800)
- Portrait (9 : 15)
- Landscape (800 * 480)
- Landscape (15 : 9)
- WXGA
- Portrait (768 * 1280)
- Portrait (9 :15)
- Landscape (1280 * 768)
- Landscape (15 : 9)
- 720p
- Portrait (720 * 1280)
- Portrait (9 : 16)
- Landscape (1280 * 720)
- Landscape (16 : 9)
Το παράθυρο “Project” αποτελεί το χώρο στον οποίο εισάγονται, αποθηκεύονται και επιλέγονται προς χρήση όλα τα στοιχεία που απαρτίζουν το εκάστοτε παιχνίδι. Τα στοιχεία αυτά μπορεί να είναι εικόνες, μουσική και ηχητικά εφέ, μοντέλα χαρακτήρων, αρχεία κώδικα και πολλά άλλα, στα οποία θα γίνει λεπτομερής αναφορά στο κεφάλαιο με τα παραχθέντα παιχνίδια της πτυχιακής. Εδώ είναι και το μέρος όπου αποθήκευονται οι έτοιμες σκηνές (Scenes) του παιχνιδιού που αναφέρθηκαν πιο πάνω.
Το παράθυρο “Hierarchy” είναι το μέρος το οποίο τοποθετούνται τα αρχεία που χρησιμοποιούνται σε κάποια σκηνή (Scene). Για να γίνει αυτό, θα πρέπει να επιλεχθεί ένα στοιχείο από το παράθυρο του “Project” και να εισαχθεί στο παράθυρο “Hierarchy”. Μόλις εισαχθεί κάποιο στοιχείο (μουσική, εικόνα, μοντέλο χαρακτήρα, κλπ) στο συγκεκριμένο παράθυρο, αυτομάτως βλέπουμε τη μορφή του συγκεκριμένου στοιχείου στο παράθυρο “Scene”. Γίνεται κατανοητό λοιπόν, πως το παράθυρο “Hier-archy” είναι μία προέκταση στην ουσία του παραθύρου “Scene”.
Ένα από τα κύρια σημεία του “Editor” της Unity, αποτελεί και το παράθυρο “In-spector”. Το παράθυρο “Inspector” ονομάζεται έτσι, γιατί στην ουσία «επιθεωρεί» τα στοιχεία του παιχνιδιού. Για να γίνει κατανοητή η λειτουργία του και ο σκοπός της ύπαρξής του αρκεί να επιλεγεί ένα στοιχείο που βρίσκεται στο παράθυρο του “Project” ή του “Hierarachy”. Μόλις λοιπόν, επιλεγεί κάποιο στοιχείο, αυτόματα στον “Inspector” εμφανίζονται και οι ιδιότητες του στοιχείου αυτού, οι οποίες αφορούν την κίνηση του αντικειμένου, τις διαστάσεις του, τα χρώματά του, τη μουσική που μπορεί να αναπαραγάγεται από αυτό, αρχεία κώδικα και διάφορα άλλα όπως θα δούμε παρακάτω. Το παράθυρο του «επιθεωρητή» παρέχει πιο συγκεκριμένα τη δυνατότητα την εκτίμηση και την αλλαγή των ιδιοτήτων κάποιου αντικειμένου, ακόμη και να προσθέτουμε ή να αφαιρούμε άλλες.
Τέλος τα παράθυρα “Animation” και “Animator” αποτελούν μία πολύ ενδιαφέρουσα ιδιότητα της Unity, καθώς είναι αυτά που δίνουν τη κίνηση σε διάφορα αντικείμενα και τα κάνουν να φαίνονται «ζωντανά» σύμφωνα με τις απαιτήσεις των παιχνιδιών. Στο παράθυρο “Animation” έχει τη δυνατότητα κάποιος να δημιουργεί μόνος του τα «κινούμενα σχέδια» των χαρακτήρων του παιχνιδιού του, εκμεταλλευόμενος και το χρόνο που απαιτεί για το εκάστοτε “animation”. Αφού λοιπόν φτιαχτεί ένα “animation”, ανοίγοντας, έπειτα το παράθυρο “Animator”, μπορεί να δει κανείς τις «καταστάσεις» των “animations” που έχει δημιουργήσει και να τις ενώσει μεταξύ τους με τέτοιο τρόπο, ώστε να έχει μια ολοκληρωμένη κίνηση. Για παράδειγμα, έστω, πως σε ένα “project” υπάρχει ένα «μοντέλο» ανθρώπινου σώματος και ο χρήστης επιθυμεί να το χρησιμοποιήσει στο παιχνίδι του. Αφού το τοποθετήσει στο παράθυρο της σκηνής του (Scene), έπειτα πρέπει να του δώσει «ζωή». Να το κάνει δηλαδή, να φαίνεται πως έχει κίνηση και πως ανταποκρίνεται κατάλληλα στις απαιτήσεις του ψηφιακού – εικονικού περιβάλλοντος. Αυτό θα το πετύχει στα προαναφερθέντα παράθυρα. Πιο συγκεκριμένα στο παράθυρο “Animation” θα δημιουργήσει “animations” για το περπάτημα, το τρέξιμο και άλλες λειτουργίες που ο ίδιος επιθυμεί για το μοντέλο του ανθρώπινου χαρακτήρα του. Αφού τις δημιουργήσει, στο παράθυρο
“Animator” μπορεί να συνδέσει τα “animations” με τις διάφορες ιδιότητες του χαρακτήρα του. Για παράδειγμα όταν ο χρήστης θα πατήσει το κατάλληλο κουμπί για την κίνηση προς τα εμπρός, ο χαρακτήρας θα χρησιμοποιεί το “animation” “Walk”. Έτσι, σιγά-σιγά χτίζεται λοιπόν ένα παιχνίδι και η Unity προσπαθεί να προσφέρει στο κοινό των “gamers” την όσο πιο δυνατόν καλύτερη αίσθηση πως είναι αληθινό.
Η μπάρα μενού περιέχει στην ουσία όλες τις επιλογές για το περιβάλλον ανάπτυξης παιχνιδιού στον “Editor” της Unity. Η μπάρα αυτή περιέχει τις εξής καρτέλες:
- File
- Edit
- Assets
- GameObject
- Component
- Window
- Help
Από την καρτέλα “File” στην ουσία ξεκινάει το “project” του παιχνιδιού. Εδώ δημιουργείται ένα καινούριο “project”, οι σκηνές του παιχνιδιού, οι επιλογές πλατφόρμας που θα κυκλοφορήσει το οποιοδήποτε παιχνίδι και φυσικά η καρτέλα αυτή παρέχει τη δυνατότητα να αποθηκευθεί το παιχνίδι κάθε φορά που κλείνει ο “Editor” για να συνεχιστεί η κατασκευή του παιχνιδιού όταν ξανανοίξει.
Η καρτέλα “Edit” δίνει τη δυνατότητα στο χρήστη να αξιοποιεί διάφορες εντολές πληκτρολογίου (copy, paste, duplicate, κλπ.) και επιλογές για τις προτιμήσεις γενικά του “Project” και του “Editor”.
Η καρτέλα “Asset” βρίσκεται στη μπάρα του μενού και στο παράθυρο “Project” του “Editor”της Unity. Αυτή παρέχει την δυνατότητα εισαγωγής καινούριων στοιχείων στο “project” καθώς και την εισαγωγή πακέτων με στοιχεία τα οποία παρέχει η ίδια η Unity, όπως για παράδειγμα νερό, δέντρα, φώτα κλπ.
Η καρτέλα “GameObject” είναι η κύρια βιβλιοθήκη αντικειμένων που μπορεί να χρησιμοποιήσει ο κάθε “developer”. Στην ουσία από εδώ εισάγονται στο παιχνίδι αντικείμενα όπως:
Particle System: όπως υπονοεί και το ίδιο το όνομα, πρόκειται για ένα σύστημα σωματιδίων που ανήκει στην κατηγορία των γραφικών και χρησιμοποιείται σε ένα παιχνίδι όταν σχετίζονται σε αυτό φυσικά φαινόμενα όπως φωτιά, εκρήξεις, νερό, καπνός, αύρες χαρακτήρων, μαλλιά, κίνηση κλπ. Είναι είτε δισδιάστατα είτε τρισδιάστατα αντικείμενα.
- Camera: ένα αντικείμενο που χρησιμοποιείται για να μπορέσει ο χρήστης να δει τον εικονικό κόσμο.
- GUI Text / GUI Texture/ 3D Text: αντικείμενα που εμφανίζουν το επιθυμητό κείμενο όταν καλούνται.
- Direction Light/ Point Light/ Spot Light/ Area Light: αντικείμενα που σκοπός τους είναι να φωτίζουν άλλα αντικείμενα, ένα χώρο ή σημείο ή και ολόκληρη τη σκηνή του παιχνιδιού.
- Cube/ Sphere/ Capsule/ Cylinder/ Plane/ Quad: αποτελούν τρισδιάστατα αντικείμενα με τα οποία μπορεί να αλληλεπιδράσει ο χρήστης τοποθετώντας τα μέσα στις σκηνές του παιχνιδιού, αλλάζοντάς τους διαστάσεις, ονόματα, ιδιότητες, κλπ.
- Sprites: πρόκειται για δισδιάστατα (2D) αντικείμενα γραφικών που χρησιμοποιούνται για χαρακτήρες και άλλα αντικείμενα κυρίως δισδιάστατων παιχνιδιών.
- Cloth: Χρησιμοποιούνται για την εμφάνιση γραφικών πάνω σε αντικείμενα, όπως ρούχα, σημαίες κλπ.
- Audio Reverb Zone: Το αντικείμενο αυτό σχετίζεται με ήχους τους παιχνιδιού και προσφέρει τη δυνατότητα να υπάρχουν εφέ όπως ηχώ κλπ
- Terrain/ Ragdoll/ Tree/ Wind Zone: Αντικείμενα για εδάφη, μηχανισμούς κίνησης χαρακτήρων, δέντρα και ζώνες με αέρα για να αλληλεπιδρούν με τα υπόλοιπα αντικείμενα στη σκηνή.
- Η καρτέλα του Μενού “Component” περιέχει μια γκάμα στοιχείων τα οποία προστίθενται στα διάφορα αντικείμενα του παιχνιδιού. Τα στοιχεία αυτά, μαζί με τις ιδιότητές τους είναι τα εξής:
- Mesh: Είναι το πλέγμα που αποτελείται από πολλά τρίγωνα τοποθετημένα σε τρισδιάστατο χώρο και ρόλος τους είναι να δίνουν μια τρισδιάστατη στερεή όψη στα αντικείμενα που θέλουμε να χρησιμοποιήσουμε.
- Effects: Είναι τα εφέ που προστίθενται σε διάφορα αντικείμενα και μπορεί να είναι είτε συστήματα σωματιδίων (Particle Effects), είτε γραμμές που αφήνουν τα αντικείμενα κατά την κίνησή τους, για να δώσουν έναν πιο ρεαλιστικό τόνο στο παιχνίδι.
- Physics/ Physics 2D: Είναι οι ιδιότητες που παίρνει ένα αντικείμενο για να θεωρηθεί φυσικό σώμα και να μπορεί να κινείται και να αλληλεπιδρά με άλλα αντικείμενα του χώρου. Χωρίς αυτά οι χαρακτήρες του παιχνιδιού είναι στην ουσία άυλοι και δε μπορούν να υπάρξουν συγκρούσεις, καταστροφές και άλλα φαινόμενα στο παιχνίδι. Τα “colliders” είναι οι ιδιότητες που μετατρέπουν ένα αντικείμενο σε υλικό για να μπορεί αυτό να συγκρούεται με άλλα αντικείμενα με την ίδια ιδιότητα. Η ιδιότητα “RigidBody” προσφέρει σε ένα αντικείμενο κίνηση μέσα στο χώρο, βαρύτητα και σύγκρουση με άλλα αντικείμενα. (Οι ιδιότητες της κατηγορίας “Physics 2D” σχετίζονται με δισδιάστατα στοιχεία του παιχνιδιού και μόνο.
- Navigation: Ο ρόλος του συστήματος αυτού είναι για να δείξει στον χρήστη ποια μέρη/ χώροι στον κόσμο του παιχνιδιού είναι πιο προσβάσιμα καθώς κινείται ο κύριος χαρακτήρας του παιχνιδιού για να μην υπάρξουν προβλήματα γραφικών και κίνησης.
- Audio: Παρέχει τη δυνατότητα σε διάφορα αντικείμενα του παιχνιδιού να αναπαραγάγουν αρχεία μουσικής που εισάγουμε στο παιχνίδι.
- Rendering: Η επιλογή αυτή προσθέτει στοιχεία όπως “Camera”, κείμενα και φώτα στο αντικείμενο που θέλουμε.
- Miscellaneous: Το κύριο μέρος αυτού του “component” είναι ότι παρέχει τη δυνατότητα στα αντικείμενα να αναπαραγάγουν “animations” που έχουν ήδη φτιαχτεί για οποιοδήποτε σκοπό.
- Scripts: Αυτή η επιλογή επιτρέπει την προσθήκη ενός “script” κώδικα σε κάποιο αντικείμενο με αποτέλεσμα αυτό να αποκτήσει κι άλλες ιδιότητες που δε μπορούμε να βάλουμε μέσω του “editor”.
- Η καρτέλα “Window” περιλαμβάνει ως επιλογές όλα τα παράθυρα του “editor” που αναφέρθηκαν στην προηγούμενη υποενότητα. “Hierarchy”, “Scene”, “Inspector”
Build Settings
Στην καρτέλα “File” του μενού, βρίσκεται η επιλογή “Build Settings”. Επιλέγεται μετά το τέλος ανάπτυξης κάθε παιχνιδιού, με σκοπό να αλλάξουμε κάποιες γενικές ρυθμίσεις και αποτελεί το τελευταίο βήμα πριν την κυκλοφορία του παιχνιδιού σε κάποια πλατφόρμα.
Στο παράθυρο των “Build Settings” (Εικόνα 4) υπάρχει ένας μικρός χώρος στον οποίο μπαίνουν τα “Scenes” του παιχνιδιού είτε σέρνοντας με το ποντίκι τις σκηνές από το παράθυρο “project” σε αυτό, είτε πατώντας το κουμπί “Add Current” με τη σειρά που είναι επιθυμητή. Αυτό σημαίνει πως το παιχνίδι που θα εξαχθεί από τη Unity αποτελείται από τα “Scenes” που τοποθετήθηκαν στα “Build Settings”. Επίσης, εκεί ο “developer” επιλέγει ποια κονσόλα επιθυμεί να «υιοθετήσει» το παιχνίδι του. Οι επιλογές είναι:
- Web Player
- Pc, Mac & Linux Standalone
- iOS
- Android
- BlackBerry
- Windows Store
- Windows Phone 8
- Xbox 360
- Xbox One
- PS3
- PS Vita
- PS4
- Playstation Mobile
Πατώντας την επιλογή “Player Settings” στο παράθυρο “Build Settings”, ανοίγει ένα άλλο παράθυρο στον “Inspector” (Εικόνα 5), το οποίο προσφέρει τη δυνατότητα να υιοθετηθεί ένα όνομα για το συγκεκριμένο παιχνίδι και για την εταιρεία παραγωγής του, καθώς και άλλες λεπτομέρειες ανάλογα με την επιλεγμένη πλατφόρμα και την έκδοση της Unity.
Εικόνα 5: Player Settings |