Επαναχρησιμοποίηση λογισμικού στη μηχανική παιγνίων υπολογιστή
Authors: Πασχάλη Μαρία-Ελένη 
Published: March 2023

Τα παιχνίδια υπολογιστών είναι ένα αναδυόμενο θέμα της επιστήμης των υπολογιστών, λόγω της ακμάζουσας βιομηχανίας τους, της πολιτιστικής τους επιτυχίας (ως μέσο ψυχαγωγίας ή σοβαρών σκοπών) και των ενδιαφερόντων θεμάτων για έρευνα. Η ανάπτυξη παιχνιδιών θέτει συγκεκριμένες προκλήσεις σε σύγκριση με την παραδοσιακή ανάπτυξη λογισμικού, π.χ. την ανάγκη για συνεχείς ενημερώσεις κώδικα, την ανάπτυξη των ενημερώσεων κώδικα, σχεδίαση, υψηλή ποιότητα, ευκολία συντήρησης κ.λπ. Αυτές οι ιδιαιτερότητες απαιτούν προηγμένη δυνατότητα συντήρησης, ενημέρωση κώδικα, χαμηλό κόστος ανάπτυξης. Υπό το πρίσμα των παραπάνω, σε αυτή τη διατριβή διερευνούμε τις δυνατότητες που προσφέρει η επαναχρησιμοποίηση κώδικα, σεναρίων, σχεδίων, για την άμβλυνση των προαναφερθέντων προβλημάτων.Ως πρώτο βήμα, και λαμβάνοντας υπόψη ότι η επιτυχία του παιχνιδιού συνδέεται σε μεγάλο βαθμό με την ικανοποίηση που παίρνουν οι τελικοί χρήστες παίζοντας το παιχνίδι, πραγματοποιήσαμε μια μελέτη πεδίου για τους παράγοντες ικανοποίησης με τη μεγαλύτερη επιρροή στα παιχνίδια, ώστε να χρησιμεύσει ως οδηγός για την υπόλοιπη έρευνα. Από αυτή την προσπάθεια, αποφασίσαμε να επικεντρώσουμε το υπόλοιπο του διδακτορικού έργου στα σενάρια παιχνιδιών. Προκειμένου ένα σενάριο ή μέρος ενός σεναρίου να επαναχρησιμοποιηθεί, πρέπει να πληρούνται τρεις προϋποθέσεις: (α) να προσδιοριστεί ένα μέρος ενός σεναρίου που ταιριάζει με την απαιτούμενη λειτουργικότητα. (β) να διασφαλιστεί ότι η ποιότητα του σεναρίου επαναχρησιμοποίησης είναι επαρκής· και (γ) ο επαναχρησιμοποιούμενος κώδικας που υλοποιεί το σενάριο να είναι διατηρήσιμος. Για την κάλυψη των αναγκών, η διδακτορική έρευνα ακολούθησε τρεις διακριτές ερευνητικές γραμμές.Αναγνώριση εξαρτημάτων επαναχρησιμοποιήσιμων: Για τον εντοπισμό επαναχρησιμοποιήσιμων σεναρίων ή τμημάτων σεναρίων, αυτή η διατριβή προτείνει την οπτική της αναπαράστασης σεναρίων. Ως πρώτο βήμα, πραγματοποιήσαμε μια συστηματική μελέτη χαρτογράφησης που καταλόγισε τις πιο δημοφιλείς προσεγγίσεις αναπαράστασης σεναρίων, καθώς και τα προσδιορισμένα συστατικάεία και συνδέσεις. Στη συνέχεια, προτείναμε μια προσέγγιση, βασισμένη σε διαγράμματα ροής και μοντέλα χαρακτήρων, που μπορούν να χρησιμοποιηθούν για την απεικόνιση σεναρίων. Μαζί με την συγκεκριμένη προσέγγιση, έχουμε αναπτύξει ένα διαδικτυακό εργαλείο για να ενισχύσουμε την εφαρμογή της προσέγγισης. Η προσέγγιση και το εργαλείο έχουν επικυρωθεί εμπειρικά με επιτυχία.Ποιότητα Σεναρίων: Σε αυτή τη δεύτερη γραμμή έρευνας, έχουμε εισαγάγει ένα μοντέλο που μπορεί να χαρακτηρίσει την ποιότητα των σεναρίων από την άποψη της ικανοποίησης των χρηστών. Το μοντέλο περιέχει πολλά χαρακτηριστικά, όπως δυνατότητα αναπαραγωγής, διαδραστικότητα κ.λπ. που μπορούν να ποσοτικοποιηθούν μέσω μετρικών ποιότητας. Η ακρίβεια του μοντέλου καθώς και η προτεινόμενη προσέγγιση έχουν επικυρωθεί εμπειρικά, παρέχοντας ενθαρρυντικά αποτελέσματα.Υλοποίηση σεναρίων παιχνιδιών: Τέλος, για να εφαρμόσουμε γνωστές πρακτικές επαναχρησιμοποίησης λογισμικού στην ανάπτυξη παιχνιδιών, επιλέξαμε να βασιστούμε σε πρότυπα επαναχρησιμοποίησης και σχεδίασης ανοιχτού κώδικα. Η ιδέα της επαναχρησιμοποίησης ανοιχτού κώδικα στην υλοποίηση σεναρίων παιχνιδιών βασίζεται στην ιδέα ότι η επαναχρησιμοποίηση για συγκεκριμένο τομέα είναι πιο αποτελεσματική από την σχεδίαση ανεξαρτήτως γνώσης. Υπό αυτή την έννοια αυτή, πραγματοποιήσαμε μια μεγάλης κλίμακας εμπειρική μελέτη για τον εντοπισμό συγκεκριμένων ειδών παιχνιδιών στα οποία η επαναχρησιμοποίηση μπορεί να είναι πιο χρήσιμη και να γενικευτεί σε ολόκληρο τον τομέα Open Source Software. Τέλος, όσον αφορά την επαναχρησιμοποίηση του σχεδιαστικού σκεπτικού που προσφέρουν τα πρότυπα σχεδίασης, στο πλαίσιο της παρούσας έρευνας έχουμε εισαγάγει μια αντιστοίχιση μεταξύ προτύπων σχεδίασης και μηχανισμών παιχνιδιών. Οι αντιστοιχίσεις έχουν συμπληρώσει ένα αποθετήριο ιστού που μπορεί να βοηθήσει στην επιλογή προτύπων σχεδίασης μέσω συγκεκριμένων απαιτήσεων σεναρίου (game mechanics). Η εμπειρική επικύρωση της προσέγγισης έχει δείξει μια βελτίωση στην ορθότητα των λύσεων, στον χρόνο που απαιτείται για την υλοποίηση της λύσης και στην ποιότητα της λύσης που λαμβάνεται.