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
Περιγραφή
Περίληψη: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.