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...
Κύριος συγγραφέας: | |
---|---|
Άλλοι συγγραφείς: | |
Γλώσσα: | 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 |