Ανάπτυξη βιντεοπαιχνιδιού πολλαπλών παικτών σε μεταβαλλόμενο περιβάλλον με το Unity
| dc.contributor.advisor | Δημητρουλάκος, Γρηγόριος | |
| dc.contributor.advisor | Βασιλάκης, Κωνσταντίνος | |
| dc.contributor.author | Νικολακάκος, Δημήτριος | |
| dc.contributor.department | Τμήμα Πληροφορικής και Τηλεπικοινωνιών | el |
| dc.contributor.faculty | Σχολή Οικονομίας και Τεχνολογίας | el |
| dc.contributor.master | Επιστήμη Υπολογιστών | el |
| dc.date.accessioned | 2026-03-02T10:37:08Z | |
| dc.date.available | 2026-03-02T10:37:08Z | |
| dc.date.issued | 2024-04-10 | |
| dc.description | Μ.Δ.Ε. 107 | el |
| dc.description.abstract | Στο χώρο των σύγχρονων βιντεοπαιχνιδιών, η δυνατότητα ταυτόχρονης σύνδεσης πολλαπλών παικτών, οι οποίοι είτε συναγωνίζονται είτε ανταγωνίζονται μεταξύ τους, αποτελεί ένα χαρακτηριστικό το οποίο συχνά καθορίζει την πορεία και την δημοτικότητα ενός παιχνιδιού. Οι σύγχρονες μηχανές ανάπτυξης παιχνιδιών είναι αρκετές και πανίσχυρες, προσφέροντας στους προγραμματιστές μια πληθώρα εργαλείων, ικανών να συμβάλλουν σε όλη την διαδικασία ανάπτυξης του παιχνιδιού. Εξίσου πανίσχυρες είναι και οι τεχνολογίες υλοποίησης της ταυτόχρονης σύνδεσης πολλών παικτών (multiplayer), με την επιλογή της καταλληλότερης να αποτελεί ιδιαίτερα δύσκολη απόφαση. Στα πλαίσια της παρούσας διπλωματικής εργασίας εξετάζεται εις βάθος η μηχανή παιχνιδιών Unity σε συνδυασμό με τα βασικά χαρακτηριστικά που τη διέπουν. Το Unity, αποτελεί μια εκ των δημοφιλέστερων και πληρέστερων μηχανών ανάπτυξης παιχνιδιών, με μερικά από τα πιο επιτυχημένα παιχνίδια των τελευταίων ετών, να έχουν βασιστεί σε αυτή. Το Unity παρέχει επίσης τα εργαλεία και τη λογική για την ανάπτυξη παιχνιδιών πολλαπλών παικτών μέσω του Netcode for GameObjects, το οποίο συμβάλλει στην ανάπτυξη συναρπαστικών παιχνιδιών. Για την περαιτέρω ανάλυση και παρουσίαση των παραπάνω, υλοποιήθηκε ένα Multiplayer Third Person Shooter παιχνίδι, δηλαδή ένα παιχνίδι πολλαπλών παικτών τρίτου προσώπου για υπολογιστή, όπου οι παίκτες θα μπορούν να αλληλεπιδρούν με το ευρύτερο περιβάλλον τους, έχοντας την ικανότητα καταστροφής των αντικειμένων της πίστας. Για την υλοποίηση και δημιουργία καταστρέψιμων αντικειμένων, αξιοποιήθηκε το πακέτο RayFire, οι υπηρεσίες του οποίου ήταν πολύτιμες για την επίτευξη του τελικού αποτελέσματος. Επιπρόσθετα, τα περισσότερα εκ των αντικειμένων που απαρτίζουν την πίστα, σχεδιάστηκαν εξ ολοκλήρου στα πλαίσια της παρούσας διπλωματικής εργασίας, με στόχο να προσδώσουν το στοιχείο της ρεαλιστικότητας στο τελικό αποτέλεσμα. Στα πρώτα κεφάλαια της εργασίας γίνεται αναφορά στα βασικά χαρακτηριστικά και εργαλεία του Unity, εστιάζοντας ιδιαίτερα σε αυτά που χρησιμοποιήθηκαν περισσότερο για την ανάπτυξη του παιχνιδιού. Ύστερα, αναλύεται σε βάθος η φιλοσοφία και τα επιπρόσθετα χαρακτηριστικά του παιχνιδιού, εστιάζοντας κυρίως στον τρόπο ανάπτυξης της πίστας, των αντικειμένων, του χαρακτήρα και των διεπαφών που θα έχουν στη διάθεσή τους οι παίκτες. Παράλληλα, γίνεται εκτενής αναφορά στις μεθόδους υλοποίησης του multiplayer καθώς και στον τρόπο που αυτά αναπτύχθηκαν στα πλαίσια του παιχνιδιού. Εντός του παιχνιδιού, παρέχεται η δυνατότητα στους παίκτες να συνδέονται μεταξύ τους είτε μέσω dedicated server είτε να δημιουργούν οι ίδιοι δωμάτια (host), τα οποία φιλοξενούνται στους υπολογιστές τους και είναι διαθέσιμα προς σύνδεση για όλους τους υπόλοιπους παίκτες. Για όλα τα παραπάνω, παρέχονται οι αλγόριθμοι που υλοποιήθηκαν σε συνδυασμό με την επεξήγηση της λειτουργίας του καθενός. Οι τελικές ενότητες, αφορούν τη διαδικασία δημιουργίας των εκτελέσιμων αρχείων των παικτών και των servers. Απώτερος στόχος της παρούσας εργασίας είναι η παρουσίαση και ανάλυση ολόκληρης της πορείας ανάπτυξης ενός βιντεοπαιχνιδιού για ηλεκτρονικό υπολογιστή μέσω της ενδελεχούς περιγραφής αρκετών πτυχών αυτής. Η ανάπτυξη παιχνιδιών αποτελεί ένα αρκετά πολυσύνθετο αντικείμενο και η δημιουργία ενός ολοκληρωμένου βιντεοπαιχνιδιού αποτελεί απόρροια της συνεργασίας διαφόρων ειδικών. Πιο συγκεκριμένα, ένα πλήρες παιχνίδι, κατά το ταξίδι ανάπτυξης του, περνά από στάδια όπως ο σχεδιασμός επιπέδων (level design), ο σχεδιασμός γραφικών και τέχνης (art design), η ανάπτυξη της λειτουργικότητας (development, coding), η δυνατότητα ύπαρξης πολλαπλών παικτών (multiplayer), η ηχητική σχεδίαση (sound design), οι δοκιμές και αποσφαλμάτωση (testing, debugging), η βελτιστοποίηση (optimization) και αρκετά άλλα. Στόχος λοιπόν της παρούσας διπλωματικής εργασίας, ήταν η ανάδειξη και η όσο το δυνατόν, βαθύτερη εντρύφηση με τα προαναφερθέντα αντικείμενα. Μεγάλης σημασίας επίσης, αποτέλεσε η παρουσίαση και ανάδειξη των τεχνικών υλοποίησης της δυνατότητας σύνδεσης πολλαπλών παικτών (multiplayer), αναλύοντας παράλληλα τα βασικά τους χαρακτηριστικά. Το multiplayer, αποτελεί ένα αντικείμενο που χρήζει ιδιαίτερου χειρισμού, καθώς σε περίπτωση λανθασμένης μεταχείρισής του, το αποτέλεσμα δεν θα είναι ελκυστικό προς τους παίκτες, κάνοντας το παιχνίδι να αποκλίνει από τον αρχικό του στόχο, αυτόν δηλαδή της διασκέδασης των χρηστών. Τελικά, καθώς τα αρχεία κώδικα (scripts) που αναπτύχθηκαν στα πλαίσια της παρούσας διπλωματικής εργασίας είναι αρκετά, ο συνολικός κώδικας στον οποίο βασίστηκε το παιχνίδι που θα περιγράφει στη συνέχεια, βρίσκεται στην παρακάτω διεύθυνση. | el |
| dc.description.abstracttranslated | In the realm of modern video games, the ability for simultaneous connection of multiple players, who either cooperate or compete, is a characteristic that often determines the course and popularity of a game. The modern game development engines are numerous and powerful, providing developers with a plethora of tools capable of contributing to the entire game development process. Equally powerful are the technologies for implementing multiplayer connections, with choosing the most appropriate one being a particularly challenging decision. Within the framework of this thesis, the Unity game engine is thoroughly examined in combination with its underlying features. Unity is one of the most popular and comprehensive game development engines, with some of the most successful games in recent years being based on it. Unity also provides the tools and logic for developing multiplayer games through Netcode for GameObjects, which contributes to the development of exciting games. For further analysis and presentation of the above, a Multiplayer Third Person Shooter game was implemented. This game allows multiple players to interact within its environment, with the ability to destroy objects on the map. The RayFire package was utilized for implementing destructible objects, which was instrumental in achieving the result. Additionally, most of the objects comprising the map were designed entirely within the scope of this thesis, aiming to add an element of realism to the outcome. The initial chapters of the thesis refer to the basic characteristics and tools of Unity, focusing particularly on those used most for the development of the game. Then, the philosophy and additional features of the game are analyzed in depth, focusing on the development of the map, objects, character, and interfaces available to the players. Extensive reference is also made to the methods of implementing multiplayer and how they were developed within the game. Within the game, players have the option to connect either through dedicated servers or by creating their own rooms (host), which are hosted on their computers and are available for connection to all other players. Algorithms implemented in conjunction with the explanation of their operation are provided for all the above. The final sections concern the process of creating executable files for players and servers. The goal of this thesis is to present and analyze the entire development process of a computer video game through a detailed description of various aspects. Game development is a complex subject, and creating a complete video game is the result of collaboration among various specialists. Specifically, a complete game, during its development journey, goes through stages such as level design, art design, development, coding, multiplayer capability, sound design, testing, debugging, optimization, and many others. Therefore, the aim of this thesis was to highlight and delve as deeply as possible into these aspects. Also of significant importance was the presentation and highlighting of the technical implementation of the multiplayer capability, while simultaneously analyzing its basic characteristics. Multiplayer is a subject that requires careful handling, as mishandling it can lead to unattractive results for players, deviating the game from its original goal, which is the enjoyment of users. Eventually, since the code files (scripts) developed within the scope of this thesis are quite numerous, the total code upon ,which the game described below, is based can be found at the following address. | el |
| dc.format.extent | 99 | el |
| dc.identifier.uri | https://amitos.library.uop.gr/handle/123456789/9640 | |
| dc.language.iso | el | el |
| dc.publisher | Πανεπιστήμιο Πελοποννήσου | el |
| dc.rights | Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα | * |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/gr/ | * |
| dc.subject | Βιντεοπαιχνίδια-Σχεδιασμός | el |
| dc.subject | Παιχνίδια υπολογιστή-Προγραμματισμός | el |
| dc.subject | Unity (Ηλεκτρονική Πηγή) | el |
| dc.subject | Video games-Design | el |
| dc.subject | Computer games-Programming | el |
| dc.subject | Unity (Electronic resource) | el |
| dc.subject.keyword | Unity | el |
| dc.subject.keyword | 3D | el |
| dc.subject.keyword | Multiplayer | el |
| dc.subject.keyword | Netcode For GameObjects | el |
| dc.subject.keyword | Βιντεοπαιχνίδια | el |
| dc.subject.keyword | Video games | el |
| dc.title | Ανάπτυξη βιντεοπαιχνιδιού πολλαπλών παικτών σε μεταβαλλόμενο περιβάλλον με το Unity | el |
| dc.type | Μεταπτυχιακή διπλωματική εργασία | el |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΝΙΚΟΛΑΚΑΚΟΣ ΔΗΜΗΤΡΗΣ.pdf
- Size:
- 5.11 MB
- Format:
- Adobe Portable Document Format
- Description:
- Κείμενο διπλωματικής εργασίας
License bundle
1 - 1 of 1
Loading...
- Name:
- license.txt
- Size:
- 933 B
- Format:
- Item-specific license agreed upon to submission
- Description:
