Περίληψη: | 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.
|