dc.contributor.advisor | Alepis, Efthimios | |
dc.contributor.advisor | Αλέπης, Ευθύμιος | |
dc.contributor.author | Topalidis, Iason | |
dc.contributor.author | Τοπαλίδης, Ιάσων | |
dc.date.accessioned | 2025-05-13T10:36:10Z | |
dc.date.available | 2025-05-13T10:36:10Z | |
dc.date.issued | 2025-05 | |
dc.identifier.uri | https://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.extent | 43 | el |
dc.language.iso | en | el |
dc.publisher | Πανεπιστήμιο Πειραιώς | el |
dc.rights | Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-sa/3.0/gr/ | * |
dc.title | Matchmaking application written in Java | el |
dc.title.alternative | Matchmaking εφαρμογή υλοποιημένη σε Java | el |
dc.type | Master Thesis | el |
dc.contributor.department | Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Πληροφορικής | el |
dc.description.abstractEN | This 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.keyword | Matchmaking | el |
dc.subject.keyword | MMR | el |
dc.subject.keyword | ELO | el |
dc.subject.keyword | WebSockets | el |
dc.subject.keyword | RabbitMQ | el |
dc.subject.keyword | Linear programming | el |
dc.date.defense | 2025-05 | |