Matchmaking application written in Java
Matchmaking εφαρμογή υλοποιημένη σε Java

Master Thesis
Συγγραφέας
Topalidis, Iason
Τοπαλίδης, Ιάσων
Ημερομηνία
2025-05Επιβλέπων
Alepis, EfthimiosΑλέπης, Ευθύμιος
Προβολή/Άνοιγμα
Λέξεις κλειδιά
Matchmaking ; MMR ; ELO ; WebSockets ; RabbitMQ ; Linear programmingΠερίληψη
Η παρούσα διατριβή παρουσιάζει τον σχεδιασμό, την υλοποίηση και την αξιολόγηση ενός προηγμένου ανταγωνιστικού συστήματος αντιστοίχισης που αντιμετωπίζει την κρίσιμη πρόκληση της δημιουργίας ισορροπημένων ομάδων σε περιβάλλοντα παιχνιδιών για πολλούς παίκτες. Το σύστημα χρησιμοποιεί μια προσέγγιση πολλαπλών αλγορίθμων, χρησιμοποιώντας τρεις διαφορετικές μεθοδολογίες αξιολόγησης: το παραδοσιακό σύστημα αξιολόγησης Elo που αναπτύχθηκε αρχικά για το σκάκι, έναν προσαρμοσμένο αλγόριθμο Matchmaking Rating (MMR) που λαμβάνει υπόψη τη δυναμική της ομάδας και μια νέα εφαρμογή γραμμικού προγραμματισμού που βελτιστοποιεί τη συγκρότηση της ομάδας με βάση πολλαπλούς σταθμισμένους παράγοντες.
Η αρχιτεκτονική αξιοποιεί τις σύγχρονες αρχές των κατανεμημένων συστημάτων, υλοποιώντας μια αρχιτεκτονική ουράς μηνυμάτων με το RabbitMQ για να διασφαλίσει ισχυρή, κλιμακούμενη και ανεκτική σε σφάλματα ασύγχρονη επικοινωνία μεταξύ των στοιχείων του συστήματος. Η προσέγγιση αυτή επιτρέπει την αποτελεσματική επεξεργασία των αιτήσεων προξενιό ακόμη και υπό συνθήκες υψηλού φόρτου, διατηρώντας παράλληλα την ανθεκτικότητα του συστήματος. Συμπληρώνοντας το backend, το σύστημα ενσωματώνει την τεχνολογία WebSocket για την παροχή ενημερώσεων και ειδοποιήσεων για την κατάσταση των αγώνων σε πραγματικό χρόνο στους χρήστες, βελτιώνοντας σημαντικά την εμπειρία του χρήστη μέσω της άμεσης ενημέρωσης.
Η υλοποίηση του frontend χρησιμοποιεί React, μια βιβλιοθήκη JavaScript, για τη δημιουργία μιας διαδραστικής εφαρμογής. Αυτή η σύγχρονη προσέγγιση στην ανάπτυξη του UI διευκολύνει την αποτελεσματική απεικόνιση, τη διαχείριση καταστάσεων και την ομαλή ενσωμάτωση με WebSocket για ενημερώσεις σε πραγματικό χρόνο.
Η δομή που προκύπτει προσφέρει μια ευέλικτη, επεκτάσιμη λύση που μπορεί να προσαρμοστεί σε διάφορα περιβάλλοντα παιχνιδιών. Η διατριβή συμβάλλει στον τομέα καταδεικνύοντας πώς τα σύγχρονα πρότυπα αρχιτεκτονικής λογισμικού και οι πολλαπλοί αλγόριθμοι αξιολόγησης μπορούν να συνδυαστούν αποτελεσματικά για τη δημιουργία ενός συστήματος αντιστοίχισης που εξισορροπεί την υπολογιστική αποδοτικότητα με τον κρίσιμο στόχο της δημιουργίας δίκαιων ομάδων.