Ανάπτυξη ευφυούς παιγνίου σκακιού σε Unity3D
Development of a Unity3D intelligent chess game
Master Thesis
Συγγραφέας
Σαρηγιάννης, Ανέστης Μάριος
Ημερομηνία
2024-02Επιβλέπων
Παναγιωτόπουλος, ΘεμιστοκλήςΠροβολή/ Άνοιγμα
Λέξεις κλειδιά
Unity3D ; Chess Game ; MinMax ; SinglePlayer ; MultiPlayer ; MirrorΠερίληψη
Βασικό αντικείμενο της εν λόγω εργασίας, όπως περιγράφει και ο τίτλος της, είναι η ανάπτυξη παιχνιδιού turned based strategy σκακιού, με έμφαση στην δημιουργία ενός ικανού ευφυού πράκτορα, ο οποίος θα αποτελεί και τον αντίπαλο του χρήστη στο παιχνίδι. Προτιμήθηκε η αποτύπωση της κλασσικής έκδοσης του σκακιού, λόγω της δημοφιλίας του και της μεγαλύτερης απήχησής του. Κατά αυτόν τον τρόπο, είναι πιο εύκολο να βρεθούν παίκτες για την Multiplayer πτυχή της εφαρμογής, αλλά και οι παίκτες θα είναι πιο γνώριμοι με τους κανόνες, με αποτέλεσμα να χρειάζεται μικρότερο ή και μηδαμινό διάστημα προσαρμογής. Σκοπός της εργασίας ήταν η δημιουργία ενός ενδιαφέροντος και ψυχαγωγικού παιχνιδιού, το οποίο μπορεί να προσφέρει ευχάριστες στιγμές στον χρήστη.
Το παιχνίδι αναπτύχθηκε σε 2D περιβάλλον. Όλα τα μοντέλα τα οποία χρησιμοποιήθηκαν ήταν δωρεάν είτε από το Unity Asset Store είτε κατασκευάστηκαν από εμένα τον ίδιο. Όλοι οι ήχοι που αξιοποιήθηκαν για μια πιο ρεαλιστική και έντονη εμπειρία ήταν δωρεάν και δεν αποτελούν προϊόν πνευματικής ιδιοκτησίας. Τα UI elements των διάφορων Μενού, παραθύρων και ρυθμίσεων αποτελούν και αυτά δική μου κατασκευή.
Το παιχνίδι διαθέτει multiplayer, single player & custom game modes. Ο multiplayer χρειάζεται έναν παίκτη να αποτελέσει τον Host και τον άλλον παίκτη να αναλάβει τον ρόλο του Client. Το matchmaking πραγματοποιείται με την εισαγωγή του Steam Lobby ID του Host στο πεδίου του Client. Με άλλα λόγια αξιοποιούμε το Steam, μια ιδιαίτερα δημοφιλής πλατφόρμα παιχνιδιών, προκειμένου να γίνει όσο το δυνατόν πιο εύκολη για τον χρήστη η multiplayer εμπειρία του. Ταυτόχρονα, λόγω της πολυπλοκότητας της εισαγωγής του Steam ID του παίκτη, ενός αριθμού 9 ψηφίων, κάθε φορά που επιθυμεί κάποιος να δημιουργήσει μία καινούρια παρτίδα σκακιού, έγινε χρήση του Steam API, το οποίο επιτρέπει την αυτόματη εύρεση του εν λόγω ID, με την χρήση μόνο του User Name του παίκτη. Κάπως έτσι, διευκολύνεται σε μεγάλο βαθμό το matchmaking καθώς οι χρήστες αρκεί να γνωρίζουν το username του φίλου τους. Στο single player mode ο χρήστης καλείται να επιλέξει ανάμεσα σε λευκά ή μαύρα πιόνια, και τα δύο εναντίον του ΑΙ.
Τέλος, στο custom game mode, ο χρήστης μπορεί να παίξει είτε με κάποιον άλλον παίκτη σε τοπικό μηχάνημα, είτε να προπονηθεί με τον εαυτό του. Αυτή η επιλογή προσφέρεται προκειμένου να μην αποκλειστεί το ενδεχόμενο παιχνιδιού σε κοινό υπολογιστή με κάποιον αντίπαλο, και τον εξαναγκασμό των παικτών σε μόνο online multiplayer, καθώς και για την δημιουργία μίας πλατφόρμας στην οποία ο χρήστης δύναται να πειραματιστεί σε λευκό καμβά.