Επαναχρησιμοποίηση Λογισμικού στη Μηχανική Παιγνίων Υπολογιστή
Creators: name: Πασχάλη, Μαρία Ελένη Η.
Publisher: name: Aristotle University of Thessaloniki
Year: 2022
Subjects: Eπαναχρησιμοποίηση Λογισμικού
Ανοιχτό λογισμικό
Παιχνίδια Υπολογιστών
Σενάρια Παιχνιδιών
Software Reuse
Computer games
Game scenario
Open Source Software

description: Τα παιχνίδια υπολογιστών είναι ένα αναδυόμενο θέμα της επιστήμης των υπολογιστών, λόγω της ακμάζουσας βιομηχανίας τους, της πολιτιστικής τους επιτυχίας (ως μέσο ψυχαγωγίας ή σοβαρών σκοπών) και των ενδιαφερόντων θεμάτων για έρευνα. Η ανάπτυξη παιχνιδιών θέτει συγκεκριμένες προκλήσεις σε σύγκριση με την παραδοσιακή ανάπτυξη λογισμικού, π.χ. την ανάγκη για συνεχείς ενημερώσεις κώδικα, την ανάπτυξη των ενημερώσεων κώδικα, σχεδίαση, υψηλή ποιότητα, ευκολία συντήρησης κ.λπ. Αυτές οι ιδιαιτερότητες απαιτούν προηγμένη δυνατότητα συντήρησης, ενημέρωση κώδικα, χαμηλό κόστος ανάπτυξης. Υπό το πρίσμα των παραπάνω, σε αυτή τη διατριβή διερευνούμε τις δυνατότητες που προσφέρει η επαναχρησιμοποίηση κώδικα, σεναρίων, σχεδίων, για την άμβλυνση των προαναφερθέντων προβλημάτων. Ως πρώτο βήμα, και λαμβάνοντας υπόψη ότι η επιτυχία του παιχνιδιού συνδέεται σε μεγάλο βαθμό με την ικανοποίηση που παίρνουν οι τελικοί χρήστες παίζοντας το παιχνίδι, πραγματοποιήσαμε μια μελέτη πεδίου για τους παράγοντες ικανοποίησης με τη μεγαλύτερη επιρροή στα παιχνίδια, ώστε να χρησιμεύσει ως οδηγός για την υπόλοιπη έρευνα. Από αυτή την προσπάθεια, αποφασίσαμε να επικεντρώσουμε το υπόλοιπο του διδακτορικού έργου στα σενάρια παιχνιδιών. Προκειμένου ένα σενάριο ή μέρος ενός σεναρίου να επαναχρησιμοποιηθεί, πρέπει να πληρούνται τρεις προϋποθέσεις: (α) να προσδιοριστεί ένα μέρος ενός σεναρίου που ταιριάζει με την απαιτούμενη λειτουργικότητα. (β) να διασφαλιστεί ότι η ποιότητα του σεναρίου επαναχρησιμοποίησης είναι επαρκής· και (γ) ο επαναχρησιμοποιούμενος κώδικας που υλοποιεί το σενάριο να είναι διατηρήσιμος. Για την κάλυψη των αναγκών, η διδακτορική έρευνα ακολούθησε τρεις διακριτές ερευνητικές γραμμές. Αναγνώριση εξαρτημάτων επαναχρησιμοποιήσιμων: Για τον εντοπισμό επαναχρησιμοποιήσιμων σεναρίων ή τμημάτων σεναρίων, αυτή η διατριβή προτείνει την οπτική της αναπαράστασης σεναρίων. Ως πρώτο βήμα, πραγματοποιήσαμε μια συστηματική μελέτη χαρτογράφησης που καταλόγισε τις πιο δημοφιλείς προσεγγίσεις αναπαράστασης σεναρίων, καθώς και τα προσδιορισμένα συστατικάεία και συνδέσεις. Στη συνέχεια, προτείναμε μια προσέγγιση, βασισμένη σε διαγράμματα ροής και μοντέλα χαρακτήρων, που μπορούν να χρησιμοποιηθούν για την απεικόνιση σεναρίων. Μαζί με την συγκεκριμένη προσέγγιση, έχουμε αναπτύξει ένα διαδικτυακό εργαλείο για να ενισχύσουμε την εφαρμογή της προσέγγισης. Η προσέγγιση και το εργαλείο έχουν επικυρωθεί εμπειρικά με επιτυχία. Ποιότητα Σεναρίων: Σε αυτή τη δεύτερη γραμμή έρευνας, έχουμε εισαγάγει ένα μοντέλο που μπορεί να χαρακτηρίσει την ποιότητα των σεναρίων από την άποψη της ικανοποίησης των χρηστών. Το μοντέλο περιέχει πολλά χαρακτηριστικά, όπως δυνατότητα αναπαραγωγής, διαδραστικότητα κ.λπ. που μπορούν να ποσοτικοποιηθούν μέσω μετρικών ποιότητας. Η ακρίβεια του μοντέλου καθώς και η προτεινόμενη προσέγγιση έχουν επικυρωθεί εμπειρικά, παρέχοντας ενθαρρυντικά αποτελέσματα. Υλοποίηση σεναρίων παιχνιδιών: Τέλος, για να εφαρμόσουμε γνωστές πρακτικές επαναχρησιμοποίησης λογισμικού στην ανάπτυξη παιχνιδιών, επιλέξαμε να βασιστούμε σε πρότυπα επαναχρησιμοποίησης και σχεδίασης ανοιχτού κώδικα. Η ιδέα της επαναχρησιμοποίησης ανοιχτού κώδικα στην υλοποίηση σεναρίων παιχνιδιών βασίζεται στην ιδέα ότι η επαναχρησιμοποίηση για συγκεκριμένο τομέα είναι πιο αποτελεσματική από την σχεδίαση ανεξαρτήτως γνώσης. Υπό αυτή την έννοια αυτή, πραγματοποιήσαμε μια μεγάλης κλίμακας εμπειρική μελέτη για τον εντοπισμό συγκεκριμένων ειδών παιχνιδιών στα οποία η επαναχρησιμοποίηση μπορεί να είναι πιο χρήσιμη και να γενικευτεί σε ολόκληρο τον τομέα Open Source Software. Τέλος, όσον αφορά την επαναχρησιμοποίηση του σχεδιαστικού σκεπτικού που προσφέρουν τα πρότυπα σχεδίασης, στο πλαίσιο της παρούσας έρευνας έχουμε εισαγάγει μια αντιστοίχιση μεταξύ προτύπων σχεδίασης και μηχανισμών παιχνιδιών. Οι αντιστοιχίσεις έχουν συμπληρώσει ένα αποθετήριο ιστού που μπορεί να βοηθήσει στην επιλογή προτύπων σχεδίασης μέσω συγκεκριμένων απαιτήσεων σεναρίου (game mechanics). Η εμπειρική επικύρωση της προσέγγισης έχει δείξει μια βελτίωση στην ορθότητα των λύσεων, στον χρόνο που απαιτείται για την υλοποίηση της λύσης και στην ποιότητα της λύσης που λαμβάνεται.
description: Computer games is an emerging topic of computer science, due to their thriving industry, cultural success (as a means of entertainment, or serious purposes), and challenging topics for research. Game development poses specific challenges compared to traditional software development, e.g., the need for continuous code updates, the deployment of patches, etc. These specificities, urge for advanced maintainability, coding updates, low development cost. In light of the above, in this thesis we explore the potential offered by software reuse to alleviate the aforementioned problems. As a first step, and by considering that game success is highly connected to the satisfaction that end-users get from playing the game, we have conduced a large-scale survey to focus our investigation on the most influential gaming satisfaction factors. Out of this endeavor, we decided to focus the rest of the PhD project on game scenarios. In order for a scenario, or part of a scenario to be reused, three pre-conditions need to be met: (a) to identify a part of a scenario that matches the needed functionality; (b) to ensure that quality of the reused scenario is adequate; and (c) the reused code that implements the scenario to be maintainable. To fulfill the aforementioned needs, the PhD projects followed three distinct research lines. Reusable Parts Identification: To aid in the identification of reusable scenarios or parts of scenarios, this project suggests the visual representation of scenarios. As a first step, we have performed a systematic mapping study that catalogued the most popular scenario representation approaches, as well as the identified components and connectors. Subsequently, we have proposed an approach, based on flow-charts and character models, that can be used for scenario visualization. Along with the approach, we have developed a web-tool to boost the applicability of the approach. The approach and the tool have been successfully empirically validated. Quality of Scenarios: In this second line of research, we have introduced a model that can characterize the quality of scenarios in terms of user satisfaction. The model contains several characteristics, such as replayability, interactivity, etc. that can be quantified through quality metrics. The accuracy of the model as well as the proposed measurement approach have been empirically validated, providing encouraging results. Implementation of Game Scenarios: Finally, to apply well-known software reuse practices in game development, we have opted to rely on open-source reuse and design patterns. The idea of reusing open-source code in the implementation of game scenarios rely on the idea that domain-specific reuse is more effective than design agnostic. In that sense, we have performed a large-scale empirical study on identifying specific game genres in which reuse can be more useful and generalized to the complete OSS domain. Finally, in terms of reusing the design rationale offered by design patterns, in this PhD project we have introduced a mapping between design patterns and game mechanics. The mappings have populated a web-repository that can aid the selection of design patterns, given specific scenario requirements (game mechanics). The empirical validation of the approach has proved an improvement in the correctness of the solutions, the time needed to implement the solution, and the quality of the obtained solution.