Παιχνιδι στην Unity βασισμένο σε χαρακτήρα
Φόρτωση...
Ημερομηνία
2024-07-10
Συγγραφείς
Τίτλος Εφημερίδας
Περιοδικό ISSN
Τίτλος τόμου
Εκδότης
ΕΛΜΕΠΑ, Σχολή Μηχανικών (ΣΜΗΧ), Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Επιβλέπων
Περίληψη
Η παρούσα πτυχιακή εργασία είχε ως στόχο την δημιουργία ενός Third-Person Action RPG παιχνιδιού επιβίωσης ζόμπι, χρησιμοποιώντας τη Unity3D Game Engine και την γλώσσα προγραμματισμού CC#.
Σκοπός του παιχνιδιού είναι ο παίκτης να επιβιώσει όσα περισσότερα κύματα εχθρών μπορεί με την χρήση διαφορετικών όπλων που ξεκλειδώνει κατά την ροή του παιχνιδιού. Κάθε όπλο έχει τα δικά του χαρακτηριστικά όπως και κάθε είδος ζόμπι τα οποία με χρήση τεχνητής νοημοσύνης έχουν μοναδικό σκοπό να προστατέψουν το μέρος και να σκοτώσουν τον παίκτη. Όσο ο παίκτης προχωράει στο παιχνίδι εμφανίζονται στον χάρτη σφαίρες για τα όπλα καθώς και πακέτα ζωής που θα τον βοηθήσουν να επιβιώσει όσο περισσότερο μπορεί και να κάνει ένα νέο highscorehighscore.
Στον σχεδιασμό και την υλοποίηση δόθηκε μεγάλη προσοχή στα μικρά αλλά και στα πιο μεγάλα σφάλματα ώστε να υπάρχει ένα ικανοποιητικό επίπεδο χωρίς να επηρεάζεται η εμπειρία του παίκτη. Επίσης προστέθηκαν κάποιες μικρές λεπτομέρειες σε αρκετά σημεία του παιχνιδιού για καλύτερη αίσθηση στο παιχνίδι όπως τα animation του παίκτη, η ικανότητα αλληλεπίδρασης με αντικείμενα έχοντας δυναμικές κινήσεις και για ακόμα περισσότερο ρεαλισμό, προστέθηκε στον χαρακτήρα του παίκτη animation rigging για διάφορα σημεία του σώματος έτσι ώστε ο χαρακτήρας να έχει περιορισμούς στις κινήσεις του. Για τον λόγο αυτό, υπήρχαν αρκετά προβλήματα και δυσκολίες που έπρεπε να επιλυθούν με διάφορες τεχνικές που συχνά απαιτούσαν αρκετό ψάξιμο, δοκιμές στο παιχνίδι και περίπλοκες λύσεις. Στην εργασία αναλύεται ο κώδικας με στιγμιότυπα οθόνης, τα δέντρα συμπεριφοράς (Behavior
TreesTrees) για τους εχθρούς, η διεπαφή χρήστη, η διαχείριση όλων των ηχητικών και οπτικών εφέ και όλα τα υπόλοιπα κομμάτια που συνέβαλαν στο τελικό αποτέλεσμα.
This thesis aimed to create a Third Person Action RPG zombie survival game using the Unity3D Game Engine and the C# programming language. The primary objective of the game is for the player to survive as many waves of enemies as possible by using different weapons that are unlocked during the game. Each weapon has its own characteristics as well as each type of zombies which, using artificial intelligence, have the sole purpose of protecting the place and killing the player. As the player progresses through the game, bullets for weapons appear on the map as well as life packs that will help him survive as long as possible and make a new highscore. Considerable attention was dedicated to rectifying both minor and substantial glitches during the design and implementation process to have a satisfactory level without affecting the player's experience. Moreover, some small details were added in several parts of the game for a better feel in the game such as the player's animations, the ability to interact with objects by having dynamic movements and for even more realism, animation rigging was added to the player's character for various body parts so that the character has restrictions on his movements. For this reason, there were several problems and difficulties that had to be solved with various techniques that often required a lot of digging, play testing and complex solutions. The paper analyses the code with screenshots, the Behavior Trees for the enemies, the user interface, the management of all sound and visual effects and all the other parts that contributed to the final result.
This thesis aimed to create a Third Person Action RPG zombie survival game using the Unity3D Game Engine and the C# programming language. The primary objective of the game is for the player to survive as many waves of enemies as possible by using different weapons that are unlocked during the game. Each weapon has its own characteristics as well as each type of zombies which, using artificial intelligence, have the sole purpose of protecting the place and killing the player. As the player progresses through the game, bullets for weapons appear on the map as well as life packs that will help him survive as long as possible and make a new highscore. Considerable attention was dedicated to rectifying both minor and substantial glitches during the design and implementation process to have a satisfactory level without affecting the player's experience. Moreover, some small details were added in several parts of the game for a better feel in the game such as the player's animations, the ability to interact with objects by having dynamic movements and for even more realism, animation rigging was added to the player's character for various body parts so that the character has restrictions on his movements. For this reason, there were several problems and difficulties that had to be solved with various techniques that often required a lot of digging, play testing and complex solutions. The paper analyses the code with screenshots, the Behavior Trees for the enemies, the user interface, the management of all sound and visual effects and all the other parts that contributed to the final result.
Περιγραφή
Λέξεις-κλειδιά
Unity game engine, C (γλώσσα προγραμματισμού Η/Υ), C (computer program language)