Design, implementation, and evaluation of a framework for applying answer set programming in games

The gaming industry is continuously growing and evolving, with new ways of creating games being developed. However, even with the availability of powerful game engines, developers are still forced to spend time and effort reimplementing common game features, such as basic AI, pathfinding, and simple...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Λάμπρου, Ευάγγελος
Άλλοι συγγραφείς: Lamprou, Evangelos
Γλώσσα:English
Έκδοση: 2023
Θέματα:
Διαθέσιμο Online:https://hdl.handle.net/10889/25395
id nemertes-10889-25395
record_format dspace
institution UPatras
collection Nemertes
language English
topic Answer set programming
Games
User study
Automated reasoning
Game engine
Symbolic artificial intelligence
Προγραμματισμός συνόλου απαντήσεων
Αυτόματος συλλογισμός
Συμβολική τεχνητή νοημοσύνη
Παιχνίδια
Μηχανή παιχνιδιών
Μελέτη χρηστών
spellingShingle Answer set programming
Games
User study
Automated reasoning
Game engine
Symbolic artificial intelligence
Προγραμματισμός συνόλου απαντήσεων
Αυτόματος συλλογισμός
Συμβολική τεχνητή νοημοσύνη
Παιχνίδια
Μηχανή παιχνιδιών
Μελέτη χρηστών
Λάμπρου, Ευάγγελος
Design, implementation, and evaluation of a framework for applying answer set programming in games
description The gaming industry is continuously growing and evolving, with new ways of creating games being developed. However, even with the availability of powerful game engines, developers are still forced to spend time and effort reimplementing common game features, such as basic AI, pathfinding, and simple scene variations. This can make it difficult for developers to focus on the game's core mechanics and content, especially if they are not experienced programmers or are uninterested in the development of complex algorithms. In addition, the implementation of such features is often closely coupled with the game's logic and architecture, making code reuse difficult. The work in this thesis suggests an approach to game development where parts of the game logic are written in a declarative programming language. We do not reject the use of imperative programming but rather suggest tools that can be a part of and enhance the game development process. Specifically, this research focuses on the application of Answer Set Programming (ASP), a declarative programming paradigm, in video game development. The study demonstrates how ASP can be used as part of the game development process, by providing new ways of thinking about game mechanics, paving the way for new game design possibilities. We highlight the adaptability of ASP to a wide range of problems and address the solver's ability to generate solutions in a reasonable amount of time. In addition, auxiliary tools are presented that can enhance the ASP programming experience. A framework is illustrated that integrates an ASP solver into a game engine. Inside it, the designer can specify the rules that govern a specific game mechanic such as the placement of objects or the behavior of NPCs. The framework then generates the corresponding solutions which are interpreted by the game engine. The framework is designed to be modular, simple and extensible. Finally, some concrete applications of ASP in the context of games are presented. We also assess the proposed workflow's practical feasibility and effectiveness by conducting an empirical user study.
author2 Lamprou, Evangelos
author_facet Lamprou, Evangelos
Λάμπρου, Ευάγγελος
author Λάμπρου, Ευάγγελος
author_sort Λάμπρου, Ευάγγελος
title Design, implementation, and evaluation of a framework for applying answer set programming in games
title_short Design, implementation, and evaluation of a framework for applying answer set programming in games
title_full Design, implementation, and evaluation of a framework for applying answer set programming in games
title_fullStr Design, implementation, and evaluation of a framework for applying answer set programming in games
title_full_unstemmed Design, implementation, and evaluation of a framework for applying answer set programming in games
title_sort design, implementation, and evaluation of a framework for applying answer set programming in games
publishDate 2023
url https://hdl.handle.net/10889/25395
work_keys_str_mv AT lamproueuangelos designimplementationandevaluationofaframeworkforapplyinganswersetprogrammingingames
AT lamproueuangelos schediasmosylopoiēsēkaiaxiologēsēplaisiougiatēnepharmogētouprogrammatismousynolouapantēseōnsepaichnidia
_version_ 1771297194283892736
spelling nemertes-10889-253952023-07-07T03:54:04Z Design, implementation, and evaluation of a framework for applying answer set programming in games Σχεδιασμός, υλοποίηση και αξιολόγηση πλαισίου για την εφαρμογή του προγραμματισμού συνόλου απαντήσεων σε παιχνίδια Λάμπρου, Ευάγγελος Lamprou, Evangelos Answer set programming Games User study Automated reasoning Game engine Symbolic artificial intelligence Προγραμματισμός συνόλου απαντήσεων Αυτόματος συλλογισμός Συμβολική τεχνητή νοημοσύνη Παιχνίδια Μηχανή παιχνιδιών Μελέτη χρηστών The gaming industry is continuously growing and evolving, with new ways of creating games being developed. However, even with the availability of powerful game engines, developers are still forced to spend time and effort reimplementing common game features, such as basic AI, pathfinding, and simple scene variations. This can make it difficult for developers to focus on the game's core mechanics and content, especially if they are not experienced programmers or are uninterested in the development of complex algorithms. In addition, the implementation of such features is often closely coupled with the game's logic and architecture, making code reuse difficult. The work in this thesis suggests an approach to game development where parts of the game logic are written in a declarative programming language. We do not reject the use of imperative programming but rather suggest tools that can be a part of and enhance the game development process. Specifically, this research focuses on the application of Answer Set Programming (ASP), a declarative programming paradigm, in video game development. The study demonstrates how ASP can be used as part of the game development process, by providing new ways of thinking about game mechanics, paving the way for new game design possibilities. We highlight the adaptability of ASP to a wide range of problems and address the solver's ability to generate solutions in a reasonable amount of time. In addition, auxiliary tools are presented that can enhance the ASP programming experience. A framework is illustrated that integrates an ASP solver into a game engine. Inside it, the designer can specify the rules that govern a specific game mechanic such as the placement of objects or the behavior of NPCs. The framework then generates the corresponding solutions which are interpreted by the game engine. The framework is designed to be modular, simple and extensible. Finally, some concrete applications of ASP in the context of games are presented. We also assess the proposed workflow's practical feasibility and effectiveness by conducting an empirical user study. Η βιομηχανία των βιντεοπαιχνιδιών εξελίσσεται συνεχώς, με νέους τρόπους δημιουργίας παιχνιδιών να αναπτύσσονται. Ωστόσο, ακόμα και με τη διαθεσιμότητα ισχυρών μηχανών δημιουργίας παιχνιδιών (game engines), οι προγραμματιστές εξακολουθούν να χρειάζονται χρόνο και προσπάθεια για να υλοποιήσουν κοινά χαρακτηριστικά παιχνιδιών, όπως βασική τεχνητή νοημοσύνη, αλγορίθμους εύρεσης διαδρομής και απλές παραλλαγές σκηνών. Αυτό μπορεί να δυσκολέψει τους δημιουργούς παιχνιδιών στο να επικεντρωθούν στον πυρήνα του παιχνιδιού και το περιεχόμενό του, ειδικά αν δεν είναι έμπειροι προγραμματιστές ή δεν ενδιαφέρονται για την ανάπτυξη πολύπλοκων αλγορίθμων. Επιπλέον, η υλοποίηση τέτοιων χαρακτηριστικών συνήθως συνδέεται στενά με τη λογική και την αρχιτεκτονική του παιχνιδιού, καθιστώντας δυσχερή την επαναχρησιμοποίηση του κώδικα. Η εργασία αυτή προτείνει μια προσέγγιση στην ανάπτυξη παιχνιδιών όπου τμήματα της λογικής του παιχνιδιού γράφονται σε μια δηλωτική γλώσσα προγραμματισμού. Δεν απορρίπτουμε τη χρήση διαδικαστικού προγραμματισμού, αλλά προτείνουμε εργαλεία που μπορούν να αποτελέσουν μέρος και να ενισχύσουν τη διαδικασία ανάπτυξης παιχνιδιών. Συγκεκριμένα, αυτή η έρευνα επικεντρώνεται στην εφαρμογή του Answer Set Programming (ASP), μιας δηλωτικής προγραμματιστικής παραδοχής, στην ανάπτυξη βιντεοπαιχνιδιών. Η μελέτη δείχνει πώς μπορεί να χρησιμοποιηθεί το ASP ως μέρος της διαδικασίας ανάπτυξης παιχνιδιών, παρέχοντας νέες δυνατότητες σχεδιασμού και υλοποίησης. Επισημαίνουμε την προσαρμοστικότητα του ASP σε μια ευρεία γκάμα προβλημάτων και αναφερόμαστε στην ικανότητα του επιλυτή ASP να παράγει λύσεις σε λογικό χρονικό διάστημα. Επιπλέον, παρουσιάζονται βοηθητικά εργαλεία που μπορούν να ενισχύσουν την εμπειρία προγραμματισμού με ASP. Παρουσιάζεται ένα πλαίσιο (framework) που ενσωματώνει έναν επιλυτή ASP σε μηχανή παιχνιδιών. Μέσα σε αυτήν, ο σχεδιαστής μπορεί να καθορίσει τους κανόνες που διέπουν ένα συγκεκριμένο μηχανισμό παιχνιδιού, όπως η τοποθέτηση αντικειμένων ή η συμπεριφορά των χαρακτήρων. Ο επιλυτής παράγει στη συνέχεια τις αντίστοιχες λύσεις οι οποίες ερμηνεύονται από τη μηχανή παιχνιδιού. Το πλαίσιο έχει σχεδιαστεί για να είναι αρθρωτό, απλό και επεκτάσιμο. Τέλος, παρουσιάζονται ορισμένες εφαρμογές του ASP σε πλαίσιο παιχνιδιών και αξιολογείται η εφικτότητα και αποτελεσματικότητά της προτεινόμενης μεθόδου εκτελώντας μία εμπειρική μελέτη με χρήστες. 2023-07-06T10:12:09Z 2023-07-06T10:12:09Z 2023 https://hdl.handle.net/10889/25395 en CC0 1.0 Universal http://creativecommons.org/publicdomain/zero/1.0/ application/pdf