Ανάπτυξη RPG παιχνιδιού με Unity2D σε C#
Develop an RPG game with Unity2D in C#
Keywords
Role playing game ; Unity ; C# ; Non playable characters ; Αποθήκευση προόδου ; User interfaceAbstract
Η παρούσα διπλωματική εργασία περιγράφει την ανάπτυξη ενός δισδιάστατου (2D) RPG (Role Playing
Game) παιχνιδιού, χρησιμοποιώντας την μηχανή Unity και τη γλώσσα προγραμματισμού C#. Το παιχνίδι
ενσωματώνει μια σειρά από συστήματα και μηχανισμούς που βελτιώνουν την εμπειρία του παίκτη και
προσφέρουν ένα δυναμικό περιβάλλον παιχνιδιού.
Η ανάπτυξη ενός παιχνιδιού απαιτεί μια καλά δομημένη και προσεκτική αρχιτεκτονική και υλοποίηση
πολλαπλών συστημάτων για να δημιουργηθεί ένας δυναμικός κόσμος. Το μενού και το user interface (UI)
αποτελούν τα βασικά εργαλεία για την πλοήγηση και την αλληλεπίδραση του παίκτη στον κόσμο του
παιχνιδιού. Μέσα από τα μενού, ο χρήστης μπορεί να διαχειρίζεται τον εξοπλισμό, τα αντικείμενα, και τις
ρυθμίσεις, ενώ παράλληλα του παρέχει σημαντικές πληροφορίες.
Ο παίκτης έχει τη δυνατότητα να κινηθεί ελεύθερα στον κόσμο μέσω συστημάτων κίνησης και μιας
κάμερας που τον ακολουθεί. Τα συστήματα animations και animator προσθέτουν κινήσεις στον χαρακτήρα,
όπως η επίθεση ή η συλλογή αντικειμένων. Ακόμα, διαθέτει ένα σύστημα επιπέδων, όπου ο παίκτης αποκτά
εμπειρία (EXP) ολοκληρώνοντας αποστολές και εξουδετερώνοντας εχθρούς. Καθώς ο παίκτης προχωρά
στα επίπεδα, αποκτά νέες δυνάμεις και δεξιότητες. Παράλληλα, το Tilemap χρησιμοποιείται για τη
δημιουργία του κόσμου του παιχνιδιού, προσφέροντας εργαλεία για την κατασκευή και οργάνωση
περιβαλλόντων.
Η αποθήκευση δεδομένων διασφαλίζει ότι η πρόοδος του παίκτη αποθηκεύεται και μπορεί να ανακτηθεί
σε επόμενες συνεδρίες παιχνιδιού. Οι εχθροί έχουν τεχνητή νοημοσύνη που τους επιτρέπει να κινούνται,
να επιτίθενται και να αλληλεπιδρούν με τον παίκτη, ενώ οι Non-Playable Characters (NPCs) προσφέρουν
αποστολές (quests) και ανταμοιβές, καθιστώντας τον κόσμο του παιχνιδιού πιο ζωντανό.
Η μουσική και τα ηχητικά εφέ ενισχύουν την ατμόσφαιρα του παιχνιδιού. Το mini map βοηθάει τον
παίκτη να πλοηγείται στον κόσμο και να βρίσκει σημαντικά σημεία ενδιαφέροντος. Τα αντικείμενα (items),
όπως όπλα, εργαλεία, και φίλτρα, εμπλουτίζουν το παιχνίδι, παρέχοντας στον παίκτη τα μέσα για να
εξελίσσεται και να αλληλεπιδρά με το περιβάλλον και τους εχθρούς. Τέλος, το παιχνίδι ακολουθεί μια
κεντρική ιστορία, την οποία ο παίκτης καλείται να ανακαλύψει και να επιλύσει.
Abstract
This thesis describes the development of a two-dimensional (2D) RPG (Role Playing Game) using the
Unity engine and the C# programming language. The game incorporates a series of systems and
mechanisms that enhance the player experience and provide a dynamic gaming environment.
The development of a game requires a well-structured and carefully implemented architecture to create
a dynamic world. The menu and user interface (UI) serve as the primary tools for player navigation and
interaction within the game world. Through the menus, the user can manage equipment, items, and settings
while also receiving vital information.
The player can move freely within the world using movement systems and a camera that follows the
character. The animation and animator systems add actions to the character, such as attacking or collecting
items. Additionally, there is a leveling system where the player gains experience points (EXP) by
completing quests and defeating enemies. As the player advances through levels, they acquire new powers
and skills. Simultaneously, the Tilemap is used to create the game world, providing tools for constructing
and organizing environments.
Data persistence ensures that the player's progress is saved and can be retrieved in future game sessions.
Enemies feature artificial intelligence (AI) that allows them to move, attack, and interact with the player,
while Non-Playable Characters (NPCs) offer quests and rewards, making the game world more vibrant.
Music and sound effects enhance the game’s atmosphere. The mini-map assists the player in navigating
the world and locating important points of interest. Items, such as weapons, tools, and potions, enrich the
gameplay by providing the player with the means to progress and interact with the environment and
enemies. Lastly, the game follows a central storyline, which the player is encouraged to discover and
resolve.