Εμφάνιση απλής εγγραφής

Ανάπτυξη Android παιχνιδιού πραγματικού χρόνου με την χρήση Firebase και της ασαφούς λογικής

dc.contributor.advisorΑλέπης, Ευθύμιος
dc.contributor.authorΤσελεπατιώτης, Μιχαήλ
dc.date.accessioned2023-06-16T05:36:49Z
dc.date.available2023-06-16T05:36:49Z
dc.date.issued2022-11
dc.identifier.urihttps://dione.lib.unipi.gr/xmlui/handle/unipi/15498
dc.identifier.urihttp://dx.doi.org/10.26267/unipi_dione/2920
dc.description.abstractΗ παρούσα διπλωματική εργασία εκπονήθηκε στα πλαίσια του Προγράμματος Μεταπτυχιακών Σπουδών “Προηγμένα Συστήματα Πληροφορικής - Ανάπτυξη Λογισμικού και Τεχνητής Νοημοσύνης”, και έχει ως στόχο την υλοποίηση μιας εφαρμογής Android και συγκεκριμένα ενός παιχνιδιού λέξεων, σε πραγματικό χρόνο και για πολλαπλούς παίκτες με την χρήση του Firebase. Το παιχνίδι αυτό αφορά τον ανταγωνισμό 2 παικτών ως προς την δημιουργία λέξεων. Συγκεκριμένα, στους 2 παίκτες μοιράζεται ένας αριθμός ιδίων γραμμάτων, και οι παίκτες καλούνται να δημιουργήσουν όσες περισσότερες λέξεις μπορούν με τα γράμματα, στην διάρκεια ενός γύρου. Η κάθε παρτίδα περιλαμβάνει 3 γύρους και νικητής είναι αυτός που θα έχει κερδίσει τους περισσότερους γύρους. Ο κάθε χρήστης συνδέεται στην εφαρμογή, κάνοντας Login μέσω του προσωπικού του λογαριασμού που μπορεί να διαθέτει (Facebook ή Google). Επιπλέον παρέχεται στον χρήστη η δυνατότητα της προσθήκης άλλων χρηστών στην λίστα φίλων του, η δυνατότητα να συνομιλήσει (chat) με τους φίλους του ή και με τους τυχαίους αντιπάλους που μπορεί να συναντήσει, η δυνατότητα να προσκαλεί και να προκαλέσει τους φίλους σε παιχνίδι (αγώνα παίκτης εναντίον παίκτη) καθώς και η δυνατότητα να μπορεί να παίξει με τυχαίο αντίπαλο εκτός της λίστας φίλων του. Για την τελευταία, κρίθηκε απαραίτητη η χρήση ενός μηχανισμού ΑΙ (bot) για εκείνες τις χρονικές στιγμές που μπορεί να μην υπάρχουν συνδεδεμένοι και διαθέσιμοι χρήστες ως τυχαίοι αντίπαλοι. Το bot προσαρμόζεται στο επίπεδο του χρήστη και έτσι δημιουργείται στον χρήστη η ψευδαίσθηση ότι παίζει με αληθινό αντίπαλο. Φυσικά όταν υπάρχουν συνδεδεμένοι χρήστες και είναι διαθέσιμοι ως τυχαίοι αντίπαλοι, ο μηχανισμός του bot δεν χρησιμοποιείται. Η υλοποίηση του παραπάνω μηχανισμού γίνεται με την χρήση μιας δομής δεδομένων Prefix Tree (Trie) και της ασαφής λογικής με την οποία το bot αποφασίζει πότε να παίξει και πόσες λέξεις να δημιουργήσει. Επιπλέον, η εφαρμογή παρέχει ένα σύστημα επιπέδου (Level System) καθώς με αυτόν τον τρόπο γίνεται η επιβράβευση αλλά και η αξιολόγηση του επιπέδου του χρήστη η οποία είναι ανάλογη των παιχνιδιών που έχει παίξει και των αντίστοιχων αποτελεσμάτων τους (νίκες, ήττες, ισοπαλίες). Επιπρόσθετα η εφαρμογή διαθέτει και άλλους τρόπους επιβράβευσης, όπως, επιτεύγματα (achievements), τα οποία προκύπτουν από τα κατορθώματα του χρήστη κατά την διάρκεια του παιχνιδιού, πίνακας με τους καλύτερους παίκτες (Top Players), ο οποίος βρίσκεται στην αρχική οθόνη της εφαρμογής, και είναι ένας τρόπος όπου υποσυνείδητα δημιουργεί την ανάγκη στον χρήστη να εξελιχθεί και να γίνει καλύτερος ώστε, κάποια μέρα, να υπάρξει και το δικό του όνομα στον πίνακα με τους καλυτέρους παίκτες. Τέλος, η εφαρμογή διαθέτει επιβράβευση με καθημερινά δώρα, όπως δωρεάν εισιτήρια (για Τσελεπατιώτης Μιχαήλ Μεταπτυχιακή Διατριβή Ανάπτυξη Android παιχνιδιού πραγματικού χρόνου με την χρήση Firebase και της Ασαφούς Λογικής 10 προσκλήσεις φίλων σε παιχνίδι), βοήθειες για μέσα στο παιχνίδι, εμπειρίες επιπέδου (Level XP) καθώς και αλλά πολλά. Τέλος, όπως αναφέρθηκε και παραπάνω, η εφαρμογή διαθέτει έναν μηχανισμό συνομιλίας (chat) ώστε οι παίκτες να μπορούν να επικοινωνούν και να ανταλλάζουν μηνύματα. Για την καλύτερη ασφάλεια τόσο των χρηστών όσο και των προσωπικών τους δεδομένων, (ιδιωτικές πληροφορίες, ευαίσθητα δεδομένα κ.α) έχει υλοποιηθεί ένας μηχανισμός κρυπτογράφησης από άκρο σε άκρο (End-to-end encryption) όπου μόνο οι χρήστες που επικοινωνούν μπορούν να διαβάσουν τα μηνύματα. Έτσι τα μηνύματα και οι επιπλέον πληροφορίες διαχείρισης που τα συνοδεύουν αποθηκεύονται και ανακτώνται σε κρυπτογραφημένη μορφή, και ο κάθε client αντίστοιχα τα αποκωδικοποιεί. Παρόλο που ο πιο σύνηθες αλγόριθμος κρυπτογράφησης εφαρμογών συνομιλίας είναι ο RSA (ασύμμετρου κλειδιού) εντούτοις στην παρούσα διπλωματική υλοποιήθηκε ο AES (Συμμετρικού Κλειδιού)el
dc.format.extent163el
dc.language.isoelel
dc.publisherΠανεπιστήμιο Πειραιώςel
dc.titleΑνάπτυξη Android παιχνιδιού πραγματικού χρόνου με την χρήση Firebase και της ασαφούς λογικήςel
dc.title.alternativeReal-time Android game development using Firebase and fuzzy logicel
dc.typeMaster Thesisel
dc.contributor.departmentΣχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Πληροφορικήςel
dc.description.abstractENThis diploma thesis was conducted as a component of the Postgraduate Program called "Advanced Information Systems - Software Development and Artificial Intelligence." The objective of this thesis was to utilize Firebase for the development of an Android application, specifically a word game. The game enables real-time interaction among users, where two players compete against each other by creating words. Each player receives a predetermined set of identical letters and must utilize them to form as many words as possible within a timed round. The game consists of three rounds, and the player who wins the majority of rounds is declared the overall winner. To access the application, users are required to log in using their personal accounts, such as Facebook or Google. Furthermore, the application provides users with various additional features. Users have the capability to add other users to their list of friends, allowing them to establish connections and interact with them. This includes the ability to engage in chat conversations with both friends and random opponents they encounter. Additionally, users can send invitations and challenges to their friends for a player versus player match, enhancing the competitive aspect of the game. Moreover, the application offers the option to play with a random opponent who is not on the user's friends list. To ensure uninterrupted gameplay even when there are no logged in and available users as random opponents, an AI mechanism, commonly referred to as a "bot," has been incorporated. The bot is designed to adapt to the user's skill level, creating the impression that the user is competing against a real opponent. It is important to note that when there are logged in users who are available as random opponents, the bot's mechanism is not utilized. The implementation of the aforementioned mechanism incorporates a prefix tree (Trie) data structure and fuzzy logic. This combination enables the bot to make decisions regarding when to participate in a game and how many words to generate. Furthermore, the application introduces a Level System to evaluate and reward the user's progress. The user's level is determined based on the number of games played and their outcomes, including wins, losses, and draws. Additionally, the application offers various other forms of rewards. Users can earn achievements based on their in-game accomplishments. The home screen of the application displays a table featuring the top players, subtly motivating users to strive for improvement and aspire to see their own name among the best players. Moreover, the app provides daily gifts as rewards, such as free tickets for inviting friends to play, in-game assistance, experience points to level up, and more. Lastly, as previously discussed, the application incorporates a chat feature to facilitate communication and message exchange among players. To ensure enhanced security for both users and their Τσελεπατιώτης Μιχαήλ Μεταπτυχιακή Διατριβή Ανάπτυξη Android παιχνιδιού πραγματικού χρόνου με την χρήση Firebase και της Ασαφούς Λογικής 12 personal data, including private information and sensitive data, an end-to-end encryption mechanism has been implemented. This mechanism allows only the intended users involved in the communication to read the messages. Consequently, both the messages themselves and the associated management information are stored and retrieved in an encrypted format, with each client responsible for decoding them. While the widely used RSA algorithm (asymmetric key) is commonly employed for encrypting chat applications, this thesis has implemented the AES algorithm (Symmetric Key) for this purpose.el
dc.contributor.masterΠροηγμένα Συστήματα Πληροφορικής - Ανάπτυξη Λογισμικού και Τεχνητής Νοημοσύνηςel
dc.subject.keywordReal-timeel
dc.subject.keywordAndroid game developmentel
dc.subject.keywordFirebaseel
dc.subject.keywordFuzzy logicel
dc.subject.keywordAESel
dc.subject.keywordChatel
dc.date.defense2023


Αρχεία σε αυτό το τεκμήριο

Thumbnail

Αυτό το τεκμήριο εμφανίζεται στις ακόλουθες συλλογές

Εμφάνιση απλής εγγραφής


Βιβλιοθήκη Πανεπιστημίου Πειραιώς
Επικοινωνήστε μαζί μας
Στείλτε μας τα σχόλιά σας
Created by ELiDOC
Η δημιουργία κι ο εμπλουτισμός του Ιδρυματικού Αποθετηρίου "Διώνη", έγιναν στο πλαίσιο του Έργου «Υπηρεσία Ιδρυματικού Αποθετηρίου και Ψηφιακής Βιβλιοθήκης» της πράξης «Ψηφιακές υπηρεσίες ανοιχτής πρόσβασης της βιβλιοθήκης του Πανεπιστημίου Πειραιώς»