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

Matchmaking application written in Java

dc.contributor.advisorAlepis, Efthimios
dc.contributor.advisorΑλέπης, Ευθύμιος
dc.contributor.authorTopalidis, Iason
dc.contributor.authorΤοπαλίδης, Ιάσων
dc.date.accessioned2025-05-13T10:36:10Z
dc.date.available2025-05-13T10:36:10Z
dc.date.issued2025-05
dc.identifier.urihttps://dione.lib.unipi.gr/xmlui/handle/unipi/17741
dc.description.abstractΗ παρούσα διατριβή παρουσιάζει τον σχεδιασμό, την υλοποίηση και την αξιολόγηση ενός προηγμένου ανταγωνιστικού συστήματος αντιστοίχισης που αντιμετωπίζει την κρίσιμη πρόκληση της δημιουργίας ισορροπημένων ομάδων σε περιβάλλοντα παιχνιδιών για πολλούς παίκτες. Το σύστημα χρησιμοποιεί μια προσέγγιση πολλαπλών αλγορίθμων, χρησιμοποιώντας τρεις διαφορετικές μεθοδολογίες αξιολόγησης: το παραδοσιακό σύστημα αξιολόγησης Elo που αναπτύχθηκε αρχικά για το σκάκι, έναν προσαρμοσμένο αλγόριθμο Matchmaking Rating (MMR) που λαμβάνει υπόψη τη δυναμική της ομάδας και μια νέα εφαρμογή γραμμικού προγραμματισμού που βελτιστοποιεί τη συγκρότηση της ομάδας με βάση πολλαπλούς σταθμισμένους παράγοντες. Η αρχιτεκτονική αξιοποιεί τις σύγχρονες αρχές των κατανεμημένων συστημάτων, υλοποιώντας μια αρχιτεκτονική ουράς μηνυμάτων με το RabbitMQ για να διασφαλίσει ισχυρή, κλιμακούμενη και ανεκτική σε σφάλματα ασύγχρονη επικοινωνία μεταξύ των στοιχείων του συστήματος. Η προσέγγιση αυτή επιτρέπει την αποτελεσματική επεξεργασία των αιτήσεων προξενιό ακόμη και υπό συνθήκες υψηλού φόρτου, διατηρώντας παράλληλα την ανθεκτικότητα του συστήματος. Συμπληρώνοντας το backend, το σύστημα ενσωματώνει την τεχνολογία WebSocket για την παροχή ενημερώσεων και ειδοποιήσεων για την κατάσταση των αγώνων σε πραγματικό χρόνο στους χρήστες, βελτιώνοντας σημαντικά την εμπειρία του χρήστη μέσω της άμεσης ενημέρωσης. Η υλοποίηση του frontend χρησιμοποιεί React, μια βιβλιοθήκη JavaScript, για τη δημιουργία μιας διαδραστικής εφαρμογής. Αυτή η σύγχρονη προσέγγιση στην ανάπτυξη του UI διευκολύνει την αποτελεσματική απεικόνιση, τη διαχείριση καταστάσεων και την ομαλή ενσωμάτωση με WebSocket για ενημερώσεις σε πραγματικό χρόνο. Η δομή που προκύπτει προσφέρει μια ευέλικτη, επεκτάσιμη λύση που μπορεί να προσαρμοστεί σε διάφορα περιβάλλοντα παιχνιδιών. Η διατριβή συμβάλλει στον τομέα καταδεικνύοντας πώς τα σύγχρονα πρότυπα αρχιτεκτονικής λογισμικού και οι πολλαπλοί αλγόριθμοι αξιολόγησης μπορούν να συνδυαστούν αποτελεσματικά για τη δημιουργία ενός συστήματος αντιστοίχισης που εξισορροπεί την υπολογιστική αποδοτικότητα με τον κρίσιμο στόχο της δημιουργίας δίκαιων ομάδων.el
dc.format.extent43el
dc.language.isoenel
dc.publisherΠανεπιστήμιο Πειραιώςel
dc.rightsΑναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα*
dc.rights.urihttp://creativecommons.org/licenses/by-sa/3.0/gr/*
dc.titleMatchmaking application written in Javael
dc.title.alternativeMatchmaking εφαρμογή υλοποιημένη σε Javael
dc.typeMaster Thesisel
dc.contributor.departmentΣχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Πληροφορικήςel
dc.description.abstractENThis thesis presents the design, implementation and evaluation of an advanced competitive matching system that addresses the critical challenge of creating balanced teams in multiplayer gaming environments. The system employs a multi-algorithm approach using three different evaluation methodologies: the traditional ELO rating system originally developed for chess, a custom Matchmaking Rating (MMR) algorithm that takes into account team dynamics, and a novel linear programming implementation that optimizes team formation based on multiple weighted factors. The architecture leverages modern principles of distributed systems, implementing a message queuing architecture with RabbitMQ to ensure robust, scalable and fault-tolerant asynchronous communication between system components. This approach enables efficient processing of matchmaking requests even under high-load conditions while maintaining system resilience. Complementing the backend, the system incorporates WebSocket technology to provide real-time match status updates and notifications to users, significantly improving the user experience through instant updates. The frontend implementation uses React, a JavaScript framework, to create an interactive application. This modern approach to UI development facilitates efficient visualization, state management and seamless integration with WebSocket for real-time updates. The resulting structure offers a flexible, scalable solution that can be adapted to various gaming environments. The thesis contributes to the field by demonstrating how modern software architecture standards and multiple evaluation algorithms can be effectively combined to create a matching system that balances computational efficiency with the critical goal of creating fair teams.el
dc.contributor.masterΠροηγμένα Συστήματα Πληροφορικής - Ανάπτυξη Λογισμικού και Τεχνητής Νοημοσύνηςel
dc.subject.keywordMatchmakingel
dc.subject.keywordMMRel
dc.subject.keywordELOel
dc.subject.keywordWebSocketsel
dc.subject.keywordRabbitMQel
dc.subject.keywordLinear programmingel
dc.date.defense2025-05


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

Thumbnail

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

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

Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα
Εκτός από όπου διευκρινίζεται διαφορετικά, το τεκμήριο διανέμεται με την ακόλουθη άδεια:
Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα

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