Σχεδίαση και Ανάπτυξη Βιντεοπαιχνιδιού Πρώτου Προσώπου με Δημιουργία Εχθρών Βασισμένη στην Τεχνητή Νοημοσύνη με τη Χρήση Unity

Φοιτητής
Ζυμπίδη Αγγελική
Ημερομηνία εξέτασης
Επιβλέπων
Δημητρουλάκος Γρηγόριος, Βασιλάκης Κωνσταντίνος
Περίληψη

Η παρούσα διπλωματική εργασία παρουσιάζει το «Sharp Shooter», ένα παιχνίδι πυροβολισμών πρώτου προσώπου (first person shooter - FPS) που αναπτύχθηκε στη μηχανή Unity. Η κύρια συνεισφορά του είναι ένα σύστημα που επιτρέπει στον παίκτη να δημιουργεί έναν νέο εχθρό κατά τη διάρκεια του παιχνιδιού, πληκτρολογώντας μια σύντομη περιγραφή του. Η περιγραφή μετατρέπεται σε εικόνα μέσω του μοντέλου text-to-image «Stable Diffusion XL» και η εικόνα μετατρέπεται σε τρισδιάστατο μοντέλο μέσω του μοντέλου image-to-3D «TripoSR». Και τα δύο μοντέλα εκτελούνται σε σημειωματάρια (notebooks) του Google Colab (η χρήση των οποίων δεν επιφέρει χρέωση), κατανεμημένα σε δύο ξεχωριστές υπηρεσίες που συνδέονται διαδοχικά, ώστε το παιχνίδι να επικοινωνεί μόνο με μία από αυτές. Το τελικό μοντέλο εισάγεται στο Unity κατά την εκτέλεση του παιχνιδιού, προσαρμόζεται ως προς την κλίμακα και τον προσανατολισμό, αποκτά αντικείμενο ανίχνευσης συγκρούσεων (collider) και συνδέεται με τα ίδια στοιχεία πλοήγησης, υγείας και μάχης που χρησιμοποιούνται από όλους τους άλλους εχθρούς, διασφαλίζοντας ότι ο παραγόμενος εχθρός συμπεριφέρεται ακριβώς όπως ένας εχθρός που έχει σχεδιαστεί χειροκίνητα.

Πέρα από αυτό το σύστημα παραγωγής, η εργασία περιγράφει επίσης την υπόλοιπη τεχνική υλοποίηση του παιχνιδιού, συμπεριλαμβανομένων της κίνησης και της κάμερας του παίκτη, του επιπέδου (το οποίο ξεκίνησε ως απλό πρωτότυπο και αργότερα ανακατασκευάστηκε ως δάσος), της τεχνητής νοημοσύνης των εχθρών, των όπλων και της διεπαφής χρήστη. Το μεγαλύτερο μέρος της εργασίας εστιάζει σε αυτή την τεχνική υλοποίηση και στον σχεδιασμό του συστήματος παραγωγής, ενώ ένα μικρότερο τμήμα περιγράφει το παιχνίδι από την οπτική γωνία του παίκτη, καλύπτοντας την ιστορία, τον βασικό μηχανισμό μάχης και τον τρόπο χρήσης του εργαλείου δημιουργίας εχθρών κατά τη διάρκεια του παιχνιδιού.

Αποδεικνύεται ότι ο συνδυασμός δημόσια διαθέσιμων παραγωγικών μοντέλων με μια συμβατική μηχανή παιχνιδιών είναι εφικτός στην πράξη. Η δημιουργία ενός εχθρού δεν είναι άμεση διαδικασία, καθώς ένα αίτημα απαιτεί μερικά λεπτά σε δωρεάν διατιθέμενο υλικό (hardware), με τον περισσότερο χρόνο να αναλώνεται στην ανακατασκευή του πλέγματος (mesh). Ωστόσο, μόλις δημιουργηθούν, οι παραγόμενοι εχθροί μπορούν να αντιμετωπιστούν και να ηττηθούν με τον ίδιο τρόπο όπως κάθε άλλος εχθρός του παιχνιδιού, ενώ η διαδικασία παραμένει λειτουργική, επιστρέφοντας στη χρήση των χειροκίνητα κατασκευασμένων εχθρών του παιχνιδιού εάν η υπηρεσία παραγωγής είναι αργή ή μη προσβάσιμη.

Λέξεις-κλειδιά
Unity, παιχνίδι πυροβολισμών πρώτου προσώπου, διαδικαστική παραγωγή περιεχομένου, παραγωγική τεχνητή νοημοσύνη, σύνθεση κειμένου-σε-εικόνα, Stable Diffusion XL, ανακατασκευή εικόνας σε 3D, TripoSR, φόρτωση κατά τον χρόνο εκτέλεσης glTF και GLB, NavMesh, δημιουργία πόρων κατά τον χρόνο εκτέλεσης, AI σε παιχνίδι.