15 research outputs found
PlayMyData: a curated dataset of multi-platform video games
Being predominant in digital entertainment for decades, video games have been recognized as valuable software artifacts by the software engineering (SE) community just recently. Such an acknowledgment has unveiled several research opportunities, spanning from empirical studies to the application of AI techniques for classification tasks. In this respect, several curated game datasets have been disclosed for research purposes even though the collected data are insufficient to support the application of advanced models or to enable interdisciplinary studies. Moreover, the majority of those are limited to PC games, thus excluding notorious gaming platforms, e.g., PlayStation, Xbox, and Nintendo. In this paper, we propose PlayMyData, a curated dataset composed of 99,864 multi-platform games gathered by the IGDB website. By exploiting a dedicated API, we collect relevant metadata for each game, e.g., description, genre, rating, gameplay video URLs, and screenshots. Furthermore, we enrich PlayMyData with the timing needed to complete each game by mining the HLTB website. To the best of our knowledge, this is the most comprehensive dataset in the domain that can be used to support different automated tasks in SE. More importantly, PlayMyData can be used to foster cross-domain investigations built on top of the provided multimedia data
Assessing Video Game Balance using Autonomous Agents
As the complexity and scope of games increase, game testing, also called
playtesting, becomes an essential activity to ensure the quality of video
games. Yet, the manual, ad-hoc nature of game testing leaves space for
automation. In this paper, we research, design, and implement an approach to
supplement game testing to balance video games with autonomous agents. We
evaluate our approach with two platform games. We bring a systematic way to
assess if a game is balanced by (1) comparing the difficulty levels between
game versions and issues with the game design, and (2) the game demands for
skill or luck
SyDRA: An Approach to Understand Game Engine Architecture
Game engines are tools to facilitate video game development. They provide
graphics, sound, and physics simulation features, which would have to be
otherwise implemented by developers. Even though essential for modern
commercial video game development, game engines are complex and developers
often struggle to understand their architecture, leading to maintainability and
evolution issues that negatively affect video game productions. In this paper,
we present the Subsystem-Dependency Recovery Approach (SyDRA), which helps game
engine developers understand game engine architecture and therefore make
informed game engine development choices. By applying this approach to 10
open-source game engines, we obtain architectural models that can be used to
compare game engine architectures and identify and solve issues of excessive
coupling and folder nesting. Through a controlled experiment, we show that the
inspection of the architectural models derived from SyDRA enables developers to
complete tasks related to architectural understanding and impact analysis in
less time and with higher correctness than without these models
MM: A bidirectional search algorithm that is guaranteed to meet in the middle
Bidirectional search algorithms interleave two separate searches, a normal search forward from the start state, and a search backward from the goal. It is well known that adding a heuristic to unidirectional search dramatically reduces the search effort. By contrast, despite decades of research, bidirectional heuristic search has not yet had a major impact. Additionally, no comprehensive theory was ever devised to understand the nature of bidirectional heuristic search. In this paper we aim to close this gap. We first present MM, a novel bidirectional heuristic search algorithm. Unlike previous bidirectional heuristic search algorithms, MM\u27s forward and backward searches are guaranteed to “meet in the middle”, i.e. never expand a node beyond the solution midpoint. Based on this unique attribute we present a novel framework for comparing MM, A*, and their brute-force variants. We do this by dividing the entire state space into disjoint regions based on their distance from the start and goal. This allows us to perform a comparison of these algorithms on a per region basis and identify conditions favoring each algorithm. Finally, we present experimental results that support our theoretical analysis
