25
ΑΝΑΠΤΥΞΗ 3D ΣΚΟΠΕΥΤΙΚΟΥ ΠΑΙΧΝΙΔΙΟΥ ΤΡΙΤΟΥ ΠΡΟΣΩΠΟΥ ΠΟΛΛΑΠΛΩΝ
ΠΑΙΚΤΩΝ ΤΥΠΟΥ ROGUELITE
2.1.6 Visual Studio Code
Το IDE που επιλέχθηκε είναι το Visual Studio λόγω προϋπάρχουσας εμπειρίας με το
συγκεκριμένο λογισμικό, και επίσης υπάρχει καλή συμβατότητα με την μηχανή παιχνιδιού Unity.
Το Visual Studio Code, ή αλλιώς VS Code, είναι ένας επεξεργαστής πηγαίου κώδικα αναπτυγμένο
από την Microsoft με την χρήση του Electron framework για τα λειτουργικά συστήματα Windows,
Linux και macOS. To VS Code υποστηρίζει λειτουργίες όπως αποσφαλμάτωση, επισήμανση
σύνταξης, έξυπνη συμπλήρωση κώδικα, αποσπάσματα, ανακατασκευή κώδικα, και
ενσωματωμένο Git. Ένα από τα μεγάλα πλεονεκτήματα του VS Code είναι ότι οι χρήστες έχουν
την δυνατότητα να εγκαταστήσουν επεκτάσεις, οι οποίες μπορούν να προσθέσουν λειτουργίες
στο βασικό πρόγραμμα [16].
2.1.7 Github
Λόγω της έκτασης της εργασίας και του χρονικού διαστήματος, κρίνεται απαραίτητη η
χρήση ενός λογισμικού που μπορεί να συντηρεί πολλαπλές εκδοχές του κώδικα. Το Github είναι
μία πλατφόρμα για τον έλεγχο έκδοσης χρησιμοποιώντας το Git. Είναι χρήσιμο για την
αποθήκευση, συντήρηση και διαχείριση του κώδικα [17].
2.1.8 Blender
Έγινε χρήση του Blender για την διόρθωση των animations που δεν ταίριαζαν με τα
υπόλοιπα προεπιλεγμένα animations. Το Blender είναι ένα δωρεάν open-source λογισμικό, με
πρωταρχικό στόχο την σχεδίαση 3D γραφικών. Χρησιμοποιείται για modeling, rigging,
προσομοιώσεις νερού, animations, rendering, μη γραμμική επεξεργασία και για δημιουργία
αλληλεπιδραστικών 3D εφαρμογών όπως τα βιντεοπαιχνίδια [18].
2.1.9 Photon
Για την δικτύωση των παιχνιδιών υπάρχουν αρκετές επιλογές, αλλά η υπηρεσία που
προσφέρει διακομιστές για την διαδικτύωση των παικτών γίνεται με το Photon Unity Networking.
Το Photon Unity Networking (PUN) είναι ένα πακέτο της Unity για την δημιουργία των παιχνιδιών
με πολλαπλούς παίκτες μέσω του δικτύου. Αφού το παιχνίδι είναι μέχρι 4 άτομα και υπάρχει
συνεργασία μεταξύ των παικτών αντί για ανταγωνισμό, δεν υπάρχει ανάγκη για αυστηρό έλεγχο
από τους διακομιστές. Το PUN χρησιμοποιεί εξειδικευμένους διακομιστές για να βοηθήσει στην
ευέλικτη διασύνδεση των παικτών και την εισαγωγή τους σε δωμάτια όπου διάφορα αντικείμενα
παιχνιδιού και μεταβλητές μπορούν να συγχρονιστούν. Για την επιτυχή εύρεση δωματίων οι
παίκτες πρέπει να συνδεθούν στον ίδιο διακομιστή. H Photon παρέχει πολλούς διακομιστές
παγκοσμίως [19]. Αφού συνδεθούν οι παίκτες στο ίδιο δωμάτιο, αναλαμβάνει ο δημιουργός του
δωματίου (host) τους ελέγχους και την συμπεριφορά των διαδικτυακών αντικειμένων. Οι
υπόλοιποι παίκτες θεωρούνται ως clients. Οι κύριες λειτουργίες για τον συγχρονισμό των
παικτών είναι τα RPC (Remote Procedure Calls), τα Custom Properties, και τα Photon events
“χαμηλού επιπέδου”. Οι λειτουργίες που χρησιμοποιήθηκαν ήταν τα RPC και τα Photon events.
Άλλο ένα χρήσιμο εργαλείο της Photon για τον συγχρονισμό όχι μόνο των παικτών αλλά
οποιουδήποτε αντικειμένου, είναι το PhotonView.