Next Article in Journal
Attribute Reduction in Soft Contexts Based on Soft Sets and Its Application to Formal Contexts
Next Article in Special Issue
Ranking Multi-Metric Scientific Achievements Using a Concept of Pareto Optimality
Previous Article in Journal
Derivation of Logarithmic and Logarithmic Hyperbolic Tangent Integrals Expressed in Terms of Special Functions
Previous Article in Special Issue
Using Cuckoo Search Algorithm with Q-Learning and Genetic Operation to Solve the Problem of Logistics Distribution Center Location
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Comparison of Evolutionary and Tree-Based Approaches for Game Feature Validation in Real-Time Strategy Games with a Novel Metric

Institute of Informatics, University of Maribor, Koroška Cesta 46, 2000 Maribor, Slovenia
*
Author to whom correspondence should be addressed.
Mathematics 2020, 8(5), 688; https://doi.org/10.3390/math8050688
Submission received: 2 April 2020 / Revised: 27 April 2020 / Accepted: 29 April 2020 / Published: 1 May 2020
(This article belongs to the Special Issue Evolutionary Computation 2020)

Abstract

:
When it comes to game playing, evolutionary and tree-based approaches are the most popular approximate methods for decision making in the artificial intelligence field of game research. The evolutionary domain therefore draws its inspiration for the design of approximate methods from nature, while the tree-based domain builds an approximate representation of the world in a tree-like structure, and then a search is conducted to find the optimal path inside that tree. In this paper, we propose a novel metric for game feature validation in Real-Time Strategy (RTS) games. Firstly, the identification and grouping of Real-Time Strategy game features is carried out, and, secondly, groups are included into weighted classes with regard to their correlation and importance. A novel metric is based on the groups, weighted classes, and how many times the playtesting agent invalidated the game feature in a given game feature scenario. The metric is used in a series of experiments involving recent state-of-the-art evolutionary and tree-based playtesting agents. The experiments revealed that there was no major difference between evolutionary-based and tree-based playtesting agents.

1. Introduction

Real-Time Strategy (RTS) games are designed as turn-based games where players, each following their own strategies, try to defeat one another through a series of turns. The term ‘strategy’ stands for the highest form of decision-making process, where the ultimate purpose is to defeat the opponent. Decisions are made between turns (a turn is a transition from the current game state to the next one), which are so short (i.e., in the range of milliseconds) that the game looks as though it is progressing in real time. After a decision is made, the actions are executed. The difference between RTS games and classical turn-based board games, of which probably the most well-known representative is the game of chess, is in the execution of the actions. Actions in RTS games are durative and simultaneous [1], as opposed to the instant moves, of which each player can make one per turn, in classical board games.
During the last decade, RTS games have become one of the best test beds for researching Artificial Intelligence (AI) for games [2,3]. The main reason for the growth in research is the fact that RTS games offer plenty of challenges for researchers. For example, RTS games are representatives of the highest class of computational complexity [4], which is due to their extremely large state-action spaces [5] (i.e., search space). Search space is often impossible to search exhaustively, because a specific game is a high-dimensional space of game variants (many different parameters are available), and it is also called game space [6].
Exploring the search space of games is often considered to be a difficult problem [7], and most of the complex optimization problems relating to games’ search spaces cannot be solved using the exact methods that search for the optimal solution by enumerating all possible solutions. To solve these problems, various methods have emerged in the past decades that solve problems approximately. In recent times, researchers have been looking for inspiration for the design of these approximate algorithms/methods in nature, e.g., Darwin’s evolutionary theory [8], the collective behavior of social living insects [9], the social behavior of some animal species [10,11], physical phenomena [12], and so on.
The bio-inspired computation field [13] is a field that covers all of the algorithms/methods that fall within the scope of these mentioned inspirations and is an extensively studied research area of AI. Nowadays, numerous algorithms exist that fall under the bio-inspired computation umbrella, such as the Artificial Bee Colony (ABC) Algorithm [14], Differential Evolution (DE) [15], Firefly Algorithm (FA), Genetic Algorithm (GA) [16], Monarch Butterfly Optimization (MBO) [17], etc. Due to the popularity of this subject, numerous unprecedented implications of these approaches exist among real-world applications [13]. Some of the application areas where bio-inspired computation approaches have been successfully applied include: antenna design [18], medicine [19], and dynamic data stream clustering [20].
In addition to the many different application areas, bio-inspired computation also plays an important role in the design and development of games. Bio-inspired computation approaches in games have been used for procedural content generation [21], the development of controllers that are able to play games [22], educational and serious games [23], intelligent gaming systems [24], evolutionary methods in board games [25], behavioral design of non-player characters [26], etc.
Gameplaying agents (algorithms) are made to play the game in question, with the game rules being hard-coded or self-obtained (general gameplaying), in a self-sustained way (i.e., no human input is needed during the (general) gameplay) [27]. The primary task of the gameplaying agent is to win games, and the secondary task is to win them with a higher score [28]. For the RTS gameplaying agent [29] to be able to cope with the high computational complexity of the game space, it has to be able to function inside different segments of the game, which are as follows: resource and production management (also categorized as economy) [30], strategical [31], tactical [32] and micromanagement [33] operations, scouting [34] and sometimes even diplomacy [35]. For one to be successful when playing an RTS game, a balanced combination of all those segments must be considered by the agent [36]. Since gameplaying agents are already built to operate and cover a variety of tasks in a given game space, they can be adapted to become playtesting agents.
Playtesting agents are meant to play through the game (or a slice of it) and try to explore the behavior that can generate data that would assist developers during the development phase of a game [37,38]. Game studios conduct countless tests on gameplaying with real players [39], but relying on humans for playtesting can result in higher costs and can also be inefficient [37]. The research on playtesting is, therefore, very important for the following two reasons: it has a huge economic potential and is of considerable interest to the game industry [40]. Further economic potential is also apparent in semi-related fields, like Gamification [41].
A Game Design Document (GDC) specifies core gameplay, game elements, necessary game features, etc. [42]. With this paper, we tackle the problem of the automatic validation of game features for the game space specified in GDC and also address research requirements from articles (for instance, [43]), where the authors point out the need that games with a higher complexity have of scaling.
In this article, we will try to find the answers to the following research questions:
  • RQ1: How easy is it to adapt gameplaying agents as playtesting agents in RTS games?
  • RQ2: Which RTS game definitions can be used to make a comparison between different playtesting agents?
  • RQ3: How to evaluate playtesting agents based on RTS game definitions, and which are the most beneficial to them?
  • RQ4: Is there a difference between evolutionary and the non-evolutionary approaches (like standard Monte Carlo tree searches [44]) with regard to playtesting abilities?
  • RQ5: How does one define valid/invalid game features in the game space?
Altogether, the main contributions of this paper are as follows:
-
A novel metric is proposed to make a comparison between different playtesting agents;
-
A method is proposed for adapting gameplaying agents as playtesting agents in real-time strategy games; and
-
The proposed metric is used in a series of experiments involving adapted evolutionary and tree-based state-of-the-art gameplaying agents.
The structure of the remainder of this paper is as follows. Section 2 outlines the game features of real-time strategy games and the microRTS simulation environment, while Section 3 presents the proposed novel metric that will allow for the comparison of different playtesting agents. Section 4 describes the experimental environment, adaptation of gameplaying agents as playtesting agents (including detailed descriptions of them) and the results of the experiments. A Discussion is provided in Section 5, and the conclusion is presented in Section 6.

2. Real-Time Strategy Games

This chapter briefly outlines the game features of RTS games, and a description of the microRTS environment is also provided.

2.1. Game Features of RTS Games

“Game feature” is a generic term used to refer to differences and similarities between games [45]. Game features are defined in GDC [46], and, after they are implemented, each game’s features rely on the use of game mechanics. Game mechanics are methods invoked by agents in interacting with the game world (e.g., to obtain the health value of the unit) [47]. In [48], 18 general definitions of game features (hereinafter referred to as groups) can be found.
In the RTS game domain, different kinds of game feature subset groupings are possible (Economic, Military, Map Coverage, Micro Skill and Macro Skill) [49], but to the best of our knowledge, the RTS game features have not yet been placed into groups. The placement of RTS game features into groups is, in our opinion, important, because it allows for the possibility of comparing RTS game features with the features of other game genres in the future.

2.2. microRTS

There are many different RTS game worlds in existence. Not all of them are openly available, but even some of the commercial ones have been opened up for research purposes (e.g., StarCraft™ was opened through the programming interface). microRTS is a simple non-commercial simulation environment, which was created to test any theoretical ideas a game researcher might have.
This simulation environment follows standard RTS game genre game rules:
  • Players gather resources and use them to create structures and new mobile units;
  • The game goal is to defeat the opposing player in a battle for supremacy; and
  • Resources, structures, and mobile units must be cleverly used.
The microRTS environment includes the following features (seen in Figure 1):
  • Four mobile units: worker, light (battle unit), heavy (battle unit) and ranged (battle unit);
  • Two structures: base and barracks;
  • Resources; and
  • A wall.
Workers are used to gather resources and build structures, and they also possess the ability to attacks with limited firepower. Light, heavy and ranged are the main battle units used for attacks on opponent structures and mobile units. Battle units have different initial properties (i.e., a heavy battle unit can sustain more damage before being destroyed versus a light battle unit, and a ranged unit can shoot farther). Bases produce workers. Barracks are used to create battle units. The wall is used as a physical barrier in the map.
microRTS allows configurable scenarios to be placed in the environment. Figure 1 presents one such scenario: an 8 × 8 cell map, with fixed positions for resources (in the top left and bottom right corners) and walls. The mobile units are not fixed and can be moved freely inside this environment.
Scenarios can be configured for varying map sizes (4 × 4, 8 × 8, 12 × 12, etc.) and with different starting positions for the unit types, structures, and resources (which can be placed anywhere on the map). The game can be played with visible features (graphical interface turned on for observations) or in the background (which allows for a faster execution of scenarios and quicker overall simulations, with less computer resources used).
microRTS also already includes many gameplaying agents that can be used in experiments.

3. Proposal of a Metric for Game Feature Validation

Our motivation to create a metric came from the need to be able to differentiate easily between different playtesting agents’ performances, when multiple game features need to be validated. In order to propose a novel metric for comparing playtesting agents, the following steps were considered in our study:
-
STEP 1: The RTS game features are identified;
-
STEP 2: The game features are grouped in precise game feature groups; (STEP 2.1): Classification of game feature groups according to their correlation (groups that are similar in description tend to be correlated, and this also allows single game features to be placed into multiple groups) and importance (some groups are of a higher importance, because they reflect and are essential to RTS gameplay, while some could be left out without jeopardizing the game’s position in the RTS game genre);
-
STEP 3: For empty groups in STEP 2, a further identification of the RTS game features is conducted by including more search strings and other search engines (e.g., Google Scholar); and
-
STEP 4: The novel metric is proposed.
All steps are described in detail in the following subsections and are presented graphically in Figure 2.

3.1. Identification of RTS Game Features

Game features are mentioned in many RTS game research works, but they are scattered across different subdomains and research agendas. Our goal was to use the pool of research articles and dissertations and to identify the game features included in this research. The pool was reviewed with the help of a literature search. The ISI Web of Science and ProQuest research search engines were used. A search query with the following search string was made: “game features” and “real-time strategy games”, which returned 88 hits for the ISI Web of Science and 34 hits for ProQuest.
The results (articles and dissertations) were filtered to exclude non-RTS game research works. A manual search was conducted through the research work for mentions of the “feature” string (note: 14 works from the ISI Web of Science and 0 for ProQuest were located after a manual search). The located text was extracted and analyzed for surrounding context, then transformed into a compact format that could act as a short game feature description. The surrounding context was used to transform the text, because not all research work has game features that can be used as-is. A short description was then made of the list of game feature descriptions. If a description was already on the list, and it was not adding additional information, it was omitted (note: seven works from the ISI Web of Science were omitted). Additionally, one research work can include more than just one mention of the string “feature” with the surrounding context.
Note: Future work could broaden the scope and include other search strings (like “aspect” or “feature”) for a more in-depth survey of the general RTS features.
Table 1 includes a list of short game feature descriptions, which were produced after the completion of the first step. The short game feature descriptions are accompanied by a reference.

3.2. Grouping the Game Features into Specific Groups

The grouping of game features into specific groups has two benefits: a group consists of game features with similar modus operandi (i.e., correlated and in the same context), and groups can serve as a basis for sharing research with other game genres.
We already mentioned (Section 2.1) that the literature search revealed 18 groups, which are formed independently of the specific game genre, and which we will use for grouping. These groups are: adaptation, assessment/rewards/scores, challenge, conflict, control, exploration, fantasy/location, interaction/interactivity (equipment), interaction (interpersonal/social), language/communication, motivation, mystery, pieces or players, progress and surprise, representation, rules/goals, safety and sensory stimuli. A detailed description about the meaning of each of the groups can be found in the tabular presentation in [62].
Table 2 presents the results after the completion of both steps, with references to the source of the compact description. Our goal was to have at least one game feature representative for each of the groups. If there was no game feature available in Table 1 for an empty group, we tried to locate the research work for that group by searching via Google Scholar (STEP 3) using different search strings (e.g., “impassable terrain” for a conflict group) in regard to the context of the group. The research works found went through the procedure described in STEP 1, and a short game feature description was included in Table 1 and in the accordingly empty group in Table 2. (Observation: we noticed that many research works on game feature descriptions originated from the domain of player/opponent modeling, RTS replay analysis, game balancing and strategy selection/prediction.) One game feature can belong to more than one group. For some groups, we could not find or create any viable game feature description that could be measured by the game mechanics. Such groups remained empty but were still included in the Table. The reason: future RTS research could produce game features for currently empty groups.

3.3. Classification of Feature Groups According to Their Correlation and Importance

As game features tend to be correlated, so do groups. One group can be, context wise, closely related to some groups but only loosely related to others. Additionally, some contexts are more important than others with regard to RTS gameplay.
Table 3 presents the classification of feature groups into three importance classes:
  • The high-importance class contains groups that represent the essence of RTS gameplay (based on our understanding of the RTS game worlds and their aspects [63]);
  • Groups that operate on a game mechanics level (e.g., Interaction/Interactivity (Equipment) group) or are not essential to the game (they could potentially be left out, e.g., Mystery group) are in the medium-importance class; and
  • Groups that, in Table 2, did not have a feature representative (empty of features) were included in the low-importance class.
The importance level of each of the groups is represented by a class. Regarding the game worlds, we allow for the possibility of different reconfigurations of the groups inside the classes. We also included the weight and mathematical description of the set. Weight is a numerical value that is set by the user of the metric. It represents how much the groups belonging to the specific class will count towards the metric score.

3.4. Proposal of the Metric

In this subchapter, we explain our metric for summarizing agents’ performance while they validate game features in an RTS game space. The metric calculates its score based on how many times the playtesting agent invalidated the game feature of a fixed number of repeats for a given scenario (the sum of validations and invalidations equals the number of scenario repeats).
If the playtesting agent during the execution of the scenario could not test the game feature, because it does not come into a situation, or it is not programmed to deal with the situation where validation can take place, then such a game feature is valid from this point of view. The number of successful validations is, therefore, omitted from the game score, since it is biased.
For a set of groups Gi, 1 ≤ i ≤ 18, where each member of group Gi holds a set of Game features (GFs) (GFj ∈ Gi, 0 ≤ j), and each GFi holds a set of executable scenarios S (Sk ∈ GFi, 1 ≤ k), the number of unsuccessful validations per scenario is defined by numInvalidijk, and the number of times the scenario is repeated is defined by numOfScenRep = n, 1 ≤ n, the following formulas apply:
invalidPercPerScen (ijk, numOfScenReps) = numInvalidijk/numOfScenRep
calcSetScore   ( set ,   numOfScenReps )   =   i     set j 0 k 1 invalidPercPerScen   ( ijk ,   numOfScenRep )
agentPlaytestingScore =
W1 * calcSetScore ({1, 3, 5, 13, 14, 16, 17}, numOfScenRep)
+ W2 * calcSetScore ({2, 4, 6, 7, 8, 12}, numOfScenRep)
+ W3 * calcSetScore ({9, 10, 11, 15, 18}, numOfScenRep)
In Equation (1), the number of invalidations of a given group (index i), game feature (index j) and scenario (index k) is divided by the total number of scenario repeats. In Equation (2), the score is calculated for all the game features and scenarios that the set of groups holds. In Equation (3), the scores of the set of groups are multiplied by their respective weights.

4. Experiments and Results

In this chapter, we present the specifications of hardware and software used for the experimental environment, as well as the results of the experiments.

4.1. Experimental Environment

Hardware: The experiment was carried out on an i7-3770k CPU computer @ 3.50 (turbo: 3.9) GHz, 4 cores (note: during the experimentation, only one core was used, since agents do not implement the multi-core support) and 16 GB RAM.
Software: OS Windows 10 Pro and Java Development Kit 13.0.2. The experiment was set in the latest version of the microRTS environment, acquired from an online source at the time of preparing this article [64]. The microRTS environment comes pre-loaded with the following gameplaying agents: RandomAI, RandomAIBiased, MonteCarlo, IDRTMinimax, IDRTMinimaxRandomized, IDABCD, UCT, PuppetSearchMCTS, and NaiveMCTS. TiamatBot was acquired from the online source [65]. MixedBot (which includes TiamatBot source files but an improved version) was acquired from the online source [66] and was included in the microRTS environment. Every gameplaying agent is used in the experiment as it was acquired from the online source of original authors (i.e., no code or internal parameter was changed for experimental purposes).
Table 4 shows the hyper-parameters used for the validation of every game feature presented in Table 1.
These hyper-parameters are pre-set within the microRTS environment. The only parameter that we changed was iterations, which we set to 50 (before it was set to 10). The standard UnitTypeTable was used where necessary. Note: to validate the GF9_PARI, we changed the environment from fully observable to partially observable.
The game feature descriptions presented in Table 1 were derived from related works and written independently of a specific game environment, i.e., they can be implemented in any RTS game engine. In Table 5, we present the same game features as those presented in Table 1, although the former are adapted to the microRTS environment and a specific scenario. All game features in Table 5 are written with the assumption that they are valid for the microRTS environment. If the playtesting agent actually manages to invalidate a game feature from the list, it will add to its metric score.

4.2. Adaptation of Gameplaying Agents as Playtesting Agents

To adapt a gameplaying agent to the playtesting task, we created a non-intrusive component. The component contains information about the scenario (map, position of units and the opponent) and controls the validation procedure by following the playtesting agents’ progress (i.e., actions that it executes) and by accessing game environment information (e.g., current game state status). All the information is accessible through well-defined interfaces of the microRTS source code. One of the interface methods is the method that returns the best action for the given game state, and every gameplaying agent operating in the microRTS environment implements it.
When the actions are executed in a game state, it cycles to the next one (i.e., actions change the inner state). During such cycles, our component tests if the Game Feature is valid or invalid. A Game Feature is invalid if the condition that is written in the validation procedure of the game feature in question is not fulfilled. The condition is tested against the information provided from the agent’s executed action and the environment’s current game state. The validation procedure checks the validity of the game feature, until either the maximum number of cycles is reached, or the game is over (i.e., one of the players has no more units left on the field).
For example, the game feature, GF8_FANT, is validated by checking if the resulting game state still holds this special unit after the agent has given an order to fire on it. If in any cycle the unit is destroyed, the game feature is invalid.

4.3. Playtesting Agents

The following gameplaying agents have been adapted as playtesting agents for the purposes of experimentation:
  • Basic (part of the microRTS package):
    • RandomAI: The choice of actions is completely random;
    • RandomBiasedAI: Based on RandomAI, but with a five times higher probability of choosing fighting or harvesting action over other actions; and
    • MonteCarlo: A standard Monte Carlo search algorithm.
  • Evolutionary Algorithm (online source):
    • TiamatBot (original): Uses an evolutionary procedure to derive action abstractions (conducted as a preprocessing step [67]). The generation of action abstractions can be cast as a problem of selecting a subset of pure strategies from a pool of options. It uses Stratified Strategy Selection (SSS) to plan in real time in the space defined by the action abstraction thus generated [68]. It outperformed the best performing methods in the 2017 microRTS competition [69] and is therefore considered as one of the current state-of-the-art gameplaying agents.
  • Tree-Based (part of the microRTS package):
    • IDRTMinimax: An iterative-deepening version of RTMinimax (minimax is defined here by time, not by agent moves) that uses available time to search in a tree as deeply as possible;
    • IDRTMinimaxRandomized: An agent that uses randomized alpha-beta (a better assessment for situations where players execute moves simultaneously);
    • IDABCD: Alpha-beta considering duration. It is a modified RTMinimax [70];
    • UCT: Standard UCT (with a UCB1 sampling policy);
    • PuppetSearchMCTS: An adversarial search framework based on scripts that can expose choice points to a look-ahead procedure. A Monte Carlo adversarial search tree was used to search over sequences of puppet moves. The input script into an agent’s constructor was a basic configurable script that used a Unit Type Table [71].
    • NaiveMCTS: A Standard Monte Carlo search, but which uses naïve sampling [72]. Two variations of the same algorithm were used (which differ in their initial parameter settings): NaiveMCTS#A (max_Depth = 1, εl = 0.33, ε0 = 0.75) and NaiveMCTS#B (max_depth = 10, εl = 1.00, ε0 = 0.25).
  • Evolutionary and Tree-Based (online source):
    • MixedBot: This bot integrates three bots into a single agent. The TiamatBot (improved original) was used for strategy decisions, Capivara was used for tactical decisions [73], and MicroRTSbot [74] included a mechanism that could change the time allocated for two decision parts dynamically based on the number of close armies. MixedBot placed second in the 2019 microRTS (standard track) competition (first place went to the game bot that also uses offline/out-game learning [75]).

4.4. Results of the Playtesting Agents

For each of the playtesting agents, Table 6 shows how many times the group’s game feature representative was validated or invalidated. Table 6 also shows what metric score they acquired. The weights for calculating the metric score were set as follows: W1 = 1, W2 = 0.5 and W3 = 0. W3 was set to 0, because the CL class groups are devoid of features. Additionally, empty groups were omitted from the Table.
To allow for clearer results, we abbreviated the game feature representatives’ labels, e.g., G1 and its GF3_DIFA Game Feature representative, if validated 50 times and invalidated 0 times, was shortened to G1GF3(50, 0).
Table A1, which, due to its size, can be found in Appendix A, shows how the metric score changes for each of the playtesting agents and all combinations of the W1 to be decreased from 1 to 0.55 (with steps of 0.05) and those of W2 to be decreased from 0.50 to 0.05 (also with steps of 0.05). Note: the data used for calculating the metric scores is the same as those presented in the second column of Table 6. RandomAI was omitted from Table A1, because its metric score is zero for all the combinations (it did not invalidate any of the features).

5. Discussion

During the experimentation phase, the microRTS game engine environment performed as expected (i.e., without visible or known bugs). Our presumption from the start of the experiment was that all of the Game Features were valid, yet the experiments showed that two of the Game Features were actually invalid (GF3 and GF8). A closer inspection of the GF3 results, specifically its invalidation number, revealed that not all of the playtesting agents caught the invalid game feature, and that some of them only invalidated it in a fraction of tries. Additionally, if the number of scenario repeats would be set to lower than fifty, it is possible that only the playtesting agents with a better performance would be successful in finding GF3 to be invalid.
GF3 was invalidated by eight playtesting agents, while GF8 was invalidated by all of them, with the only exception being the basic RandomAI. The difference in the number of playtesting agents that invalidated the game features, GF3 and GF8, successfully shows us that some game features are more sophisticated and require agents that intelligently explore and exploit the search space in question.
We discovered two important guidelines for validation testing:
  • Good agents’ gameplaying performance is important, because it also reflects playtesting performance; and
  • With a greater number of scenario repeats comes a higher probability of game features being valid.
Our purpose was not to judge the existing gameplaying agents created by the research community based on the score they achieved. We did, however, use the invalid number part that they attained to calculate the metric score for metric testing purposes. The results were encouraging. The state-of-the art evolutionary and tree-based agents were good performers, not just for gameplaying, but also for playtesting. The line between basic agents (e.g., G1GF3(50, 0)) and advanced ones (e.g., G1GF3(21, 29)) can also be clearly seen. We did not measure the average time for an agent to complete a scenario, but during playtesting, we noticed that agents that were either basic (e.g., RandomAI) or very good performers (e.g., NaiveMCTS) completed the validations in the fastest amount of time. We believe that this resulted from decisions being made quickly (either bad or good).
At this point, we can also provide answers to the research questions presented in the Introduction. RQ1: the adaptation of a gameplaying agent as a playtesting agent is straightforward, provided that the game engine follows good software design techniques (components, interfaces, etc.). In our estimation, this is very important, because it allows for research discoveries in the gameplaying domain to be transferred to the playtesting domain and probably also for higher adaptation rates of such discoveries for commercial use. RQ2: In comparing different playtesting agents, our metric relies on the groups presented in Table 2. The groups belong to different classes (Table 3), each with their own weights. Additional information for comparisons can also be found based on the calibration of these weights. For that purpose, Table A1 was created in Appendix A, which shows how the metric score changes in relation to the changes of the weights. In this way, we can give importance to a specific set of groups and achieve a greater differentiation between the playtesting agents covering them. RQ3: playtesting agents are evaluated through game feature definitions using the created metric. The most beneficial Game Feature definitions are the ones that belong to the groups that are in the high-importance class, shown in Table 3. RQ4: evolutionary and non-evolutionary approaches in the state-of-the-art segment both performed well, and their playtesting abilities are high. No major differences were detected for the game features and scenarios tested. RQ5: the validity of the game feature was defined, with the condition of the validation procedure inside the component used for the adaptation of the gameplaying agents.

6. Conclusions

The experiments provide encouraging results, and we confirmed our belief that playtesting with agents is important and worthy of further research. Playtesting agents can play in the same scenario repeatedly and with good results, while repetitive play (e.g., playing the same scenario fifty or more times) is probably tiresome for human players, who are therefore more prone to making errors. We also confirmed that our novel metric performed as expected, because the metric scores revealed a certain consistency when traversing from basic to state-of-the art playtesting agents. To the knowledge of the authors, such a metric (i.e., one that would evaluate playtesting game agents based on their game feature performance) does not yet exist. The creation of it is necessary to establish common ground for the research conducted in the domain of game features and in the domain of playtesting agents.
Through a series of experiments, we were also interested in how different evolutionary-based playtesting agents explored the search space. The valuable information obtained in our experiments will serve us as a steppingstone in the development of new playtesting agents that are based on modern Evolutionary Algorithms, as well as Swarm Intelligence algorithms.

Author Contributions

Conceptualization, D.N., D.V. and I.F.J.; methodology, D.N. and I.F.J.; software, D.N. and J.D.; validation, D.N., I.F.J. and D.V.; formal analysis, D.N. and I.F.J.; investigation, D.N.; resources, D.N., I.F.J. and J.D.; data curation, J.D.; writing—original draft preparation, D.N. and I.F.J.; writing—review and editing, D.N., I.F.J. and J.D.; visualization, J.D.; supervision, I.F.J.; project administration, J.D. and D.V. All authors have read and agreed to the published version of the manuscript.

Funding

The authors acknowledge the financial support from the Slovenian Research Agency (Research Core Funding No. P2-0057).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Table A1. Metric scores with variable weights for all the playtesting agents.
Table A1. Metric scores with variable weights for all the playtesting agents.
Playtesting AgentMetric Scores
RandomBiasedAI 10.950.90.850.80.750.70.650.60.55
0.50.240.2390.2380.2370.2360.2350.2340.2330.2320.231
0.450.2180.2170.2160.2150.2140.2130.2120.2110.210.209
0.40.1960.1950.1940.1930.1920.1910.190.1890.1880.187
0.350.1740.1730.1720.1710.170.1690.1680.1670.1660.165
0.30.1520.1510.150.1490.1480.1470.1460.1450.1440.143
0.250.130.1290.1280.1270.1260.1250.1240.1230.1220.121
0.20.1080.1070.1060.1050.1040.1030.1020.1010.10.099
0.150.0860.0850.0840.0830.0820.0810.080.0790.0780.077
0.10.0640.0630.0620.0610.060.0590.0580.0570.0560.055
0.050.0420.0410.040.0390.0380.0370.0360.0350.0340.033
MonteCarlo 10.950.90.850.80.750.70.650.60.55
0.50.50.50.50.50.50.50.50.50.50.5
0.450.450.450.450.450.450.450.450.450.450.45
0.40.40.40.40.40.40.40.40.40.40.4
0.350.350.350.350.350.350.350.350.350.350.35
0.30.30.30.30.30.30.30.30.30.30.3
0.250.250.250.250.250.250.250.250.250.250.25
0.20.20.20.20.20.20.20.20.20.20.2
0.150.150.150.150.150.150.150.150.150.150.15
0.10.10.10.10.10.10.10.10.10.10.1
0.050.050.050.050.050.050.050.050.050.050.05
TiamatBot 10.950.90.850.80.750.70.650.60.55
0.51.081.0511.0220.9930.9640.9350.9060.8770.8480.819
0.451.031.0010.9720.9430.9140.8850.8560.8270.7980.769
0.40.980.9510.9220.8930.8640.8350.8060.7770.7480.719
0.350.930.9010.8720.8430.8140.7850.7560.7270.6980.669
0.30.880.8510.8220.7930.7640.7350.7060.6770.6480.619
0.250.830.8010.7720.7430.7140.6850.6560.6270.5980.569
0.20.780.7510.7220.6930.6640.6350.6060.5770.5480.519
0.150.730.7010.6720.6430.6140.5850.5560.5270.4980.469
0.10.680.6510.6220.5930.5640.5350.5060.4770.4480.419
0.050.630.6010.5720.5430.5140.4850.4560.4270.3980.369
IDRTMinimax 10.950.90.850.80.750.70.650.60.55
0.50.50.50.50.50.50.50.50.50.50.5
0.450.450.450.450.450.450.450.450.450.450.45
0.40.40.40.40.40.40.40.40.40.40.4
0.350.350.350.350.350.350.350.350.350.350.35
0.30.30.30.30.30.30.30.30.30.30.3
0.250.250.250.250.250.250.250.250.250.250.25
0.20.20.20.20.20.20.20.20.20.20.2
0.150.150.150.150.150.150.150.150.150.150.15
0.10.10.10.10.10.10.10.10.10.10.1
0.050.050.050.050.050.050.050.050.050.050.05
IDRTMinimaxRandomized 10.950.90.850.80.750.70.650.60.55
0.50.50.50.50.50.50.50.50.50.50.5
0.450.450.450.450.450.450.450.450.450.450.45
0.40.40.40.40.40.40.40.40.40.40.4
0.350.350.350.350.350.350.350.350.350.350.35
0.30.30.30.30.30.30.30.30.30.30.3
0.250.250.250.250.250.250.250.250.250.250.25
0.20.20.20.20.20.20.20.20.20.20.2
0.150.150.150.150.150.150.150.150.150.150.15
0.10.10.10.10.10.10.10.10.10.10.1
0.050.050.050.050.050.050.050.050.050.050.05
IDABCD 10.950.90.850.80.750.70.650.60.55
0.50.520.5190.5180.5170.5160.5150.5140.5130.5120.511
0.450.470.4690.4680.4670.4660.4650.4640.4630.4620.461
0.40.420.4190.4180.4170.4160.4150.4140.4130.4120.411
0.350.370.3690.3680.3670.3660.3650.3640.3630.3620.361
0.30.320.3190.3180.3170.3160.3150.3140.3130.3120.311
0.250.270.2690.2680.2670.2660.2650.2640.2630.2620.261
0.20.220.2190.2180.2170.2160.2150.2140.2130.2120.211
0.150.170.1690.1680.1670.1660.1650.1640.1630.1620.161
0.10.120.1190.1180.1170.1160.1150.1140.1130.1120.111
0.050.070.0690.0680.0670.0660.0650.0640.0630.0620.061
UCT 10.950.90.850.80.750.70.650.60.55
0.51.020.9940.9680.9420.9160.890.8640.8380.8120.786
0.450.970.9440.9180.8920.8660.840.8140.7880.7620.736
0.40.920.8940.8680.8420.8160.790.7640.7380.7120.686
0.350.870.8440.8180.7920.7660.740.7140.6880.6620.636
0.30.820.7940.7680.7420.7160.690.6640.6380.6120.586
0.250.770.7440.7180.6920.6660.640.6140.5880.5620.536
0.20.720.6940.6680.6420.6160.590.5640.5380.5120.486
0.150.670.6440.6180.5920.5660.540.5140.4880.4620.436
0.10.620.5940.5680.5420.5160.490.4640.4380.4120.386
0.050.570.5440.5180.4920.4660.440.4140.3880.3620.336
PuppetSearchMCTS 10.950.90.850.80.750.70.650.60.55
0.50.580.5760.5720.5680.5640.560.5560.5520.5480.544
0.450.530.5260.5220.5180.5140.510.5060.5020.4980.494
0.40.480.4760.4720.4680.4640.460.4560.4520.4480.444
0.350.430.4260.4220.4180.4140.410.4060.4020.3980.394
0.30.380.3760.3720.3680.3640.360.3560.3520.3480.344
0.250.330.3260.3220.3180.3140.310.3060.3020.2980.294
0.20.280.2760.2720.2680.2640.260.2560.2520.2480.244
0.150.230.2260.2220.2180.2140.210.2060.2020.1980.194
0.10.180.1760.1720.1680.1640.160.1560.1520.1480.144
0.050.130.1260.1220.1180.1140.110.1060.1020.0980.094
NaiveMCTS#A 10.950.90.850.80.750.70.650.60.55
0.51.281.2411.2021.1631.1241.0851.0461.0070.9680.929
0.451.231.1911.1521.1131.0741.0350.9960.9570.9180.879
0.41.181.1411.1021.0631.0240.9850.9460.9070.8680.829
0.351.131.0911.0521.0130.9740.9350.8960.8570.8180.779
0.31.081.0411.0020.9630.9240.8850.8460.8070.7680.729
0.251.030.9910.9520.9130.8740.8350.7960.7570.7180.679
0.20.980.9410.9020.8630.8240.7850.7460.7070.6680.629
0.150.930.8910.8520.8130.7740.7350.6960.6570.6180.579
0.10.880.8410.8020.7630.7240.6850.6460.6070.5680.529
0.050.830.7910.7520.7130.6740.6350.5960.5570.5180.479
NaiveMCTS#B 10.950.90.850.80.750.70.650.60.55
0.51.261.2221.1841.1461.1081.071.0320.9940.9560.918
0.451.211.1721.1341.0961.0581.020.9820.9440.9060.868
0.41.161.1221.0841.0461.0080.970.9320.8940.8560.818
0.351.111.0721.0340.9960.9580.920.8820.8440.8060.768
0.31.061.0220.9840.9460.9080.870.8320.7940.7560.718
0.251.010.9720.9340.8960.8580.820.7820.7440.7060.668
0.20.960.9220.8840.8460.8080.770.7320.6940.6560.618
0.150.910.8720.8340.7960.7580.720.6820.6440.6060.568
0.10.860.8220.7840.7460.7080.670.6320.5940.5560.518
0.050.810.7720.7340.6960.6580.620.5820.5440.5060.468
MixedBot 10.950.90.850.80.750.70.650.60.55
0.50.820.840.7880.7720.7560.740.7240.7080.6920.676
0.450.770.7540.7380.7220.7060.690.6740.6580.6420.626
0.40.720.7040.6880.6720.6560.640.6240.6080.5920.576
0.350.670.6540.6380.6220.6060.590.5740.5580.5420.526
0.30.620.6040.5880.5720.5560.540.5240.5080.4920.476
0.250.570.5540.5380.5220.5060.490.4740.4580.4420.426
0.20.520.5040.4880.4720.4560.440.4240.4080.3920.376
0.150.470.4540.4380.4220.4060.390.3740.3580.3420.326
0.10.420.4040.3880.3720.3560.340.3240.3080.2920.276
0.050.370.3540.3380.3220.3060.290.2740.2580.2420.226

References

  1. Balla, R.K.; Fern, A. UCT for Tactical Assault Planning in Real-Time Strategy Games. In Proceedings of the Twenty-First International Joint Conference on Artificial Intelligence, Pasadena, CA, USA, 14–17 July 2009; AAAI Press: Menlo Park, CA, USA, 2009; pp. 40–45. [Google Scholar]
  2. Buro, M. Real-Time Strategy Games: A New AI Research Challenge. In Proceedings of the IJCAI, Acapulco, Mexico, 9–15 August 2003; Morgan Kaufmann: Burlington, MA, USA, 2003; pp. 1534–1535. [Google Scholar]
  3. Shafi, K.; Abbass, H.A. A Survey of Learning Classifier Systems in Games. IEEE Comput. Intell. Mag. 2017, 12, 42–55. [Google Scholar] [CrossRef]
  4. Synnaeve, G.; Bessiere, P. Multi-scale Bayesian modeling for RTS games: An application to StarCraft AI. IEEE Trans. Comput. Intell. AI Games 2015, 8, 338–350. [Google Scholar] [CrossRef]
  5. Usunier, N.; Synnaeve, G.; Lin, Z.; Chintala, S. Episodic Exploration for Deep Deterministic Policies: An Application to StarCraft Micromanagement Tasks. arXiv 2016, arXiv:1609.02993. [Google Scholar]
  6. Isaksen, A.; Gopstein, D.; Nealen, A. Exploring Game Space Using Survival Analysis. In Proceedings of the FDG, Pacific Grove, CA, USA, 22–25 June 2015. [Google Scholar]
  7. Gottlob, G.; Greco, G.; Scarcello, F. Pure Nash Equilibria: Hard and Easy Games. JAIR 2005, 24, 357–406. [Google Scholar] [CrossRef] [Green Version]
  8. Eiben, A.E.; Smith, J.E. Introduction to Evolutionary Computing; Eiben, A.E., Ed.; Springer: Berlin, Germany, 2003; Volume 53, p. 18. [Google Scholar]
  9. Fister, I., Jr.; Yang, X.S.; Fister, I.; Brest, J.; Fister, D. A brief review of nature-inspired algorithms for optimization. arXiv 2013, arXiv:1307.4186. [Google Scholar]
  10. Yang, X.S. Nature-Inspired Metaheuristic Algorithms; Luniver Press: Beckington, UK, 2010. [Google Scholar]
  11. Yang, X.S. Nature-Inspired Optimization Algorithms; Elsevier: London/Waltham, UK, 2014. [Google Scholar]
  12. Biswas, A.; Mishra, K.; Tiwari, S.; Misra, A. Physics-Inspired Optimization Algorithms: A Survey. J. Optim. 2013. [Google Scholar] [CrossRef]
  13. Del Ser, J.; Osaba, E.; Molina, D.; Yang, X.S.; Salcedo-Sanz, S.; Camacho, D.; Das, S.; Suganthan, P.; Coello, C.; Herrera, F. Bio-inspired computation: Where we stand and what’s next. SWEVO 2019, 48. [Google Scholar] [CrossRef]
  14. Karaboga, D.; Basturk, B. A powerful and efficient algorithm for numerical function optimization: Artificial bee colony (ABC) algorithm. J. Glob. Optim. 2007, 39, 459–471. [Google Scholar] [CrossRef]
  15. Storn, R.; Price, K. Differential Evolution—A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces. J. Glob. Optim. 1997, 11, 341–359. [Google Scholar] [CrossRef]
  16. Goldberg, D.E. Genetic algorithms in search. In Optimization, and Machine Learning; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, USA, 1989. [Google Scholar]
  17. Wang, G.G.; Deb, S.; Cui, Z. Monarch Butterfly Optimization. Neural Comput. Appl. 2015, 31, 1995–2014. [Google Scholar] [CrossRef] [Green Version]
  18. Jin, N.; Rahmat-Samii, Y. Advances in Particle Swarm Optimization for Antenna Designs: Real-Number, Binary, Single-Objective and Multiobjective Implementations. IEEE Trans. Antennas Propag. 2007, 55, 556–567. [Google Scholar] [CrossRef]
  19. Santucci, V.; Milani, A.; Caraffini, F. An Optimisation-Driven Prediction Method for Automated Diagnosis and Prognosis. Mathematics 2019, 7, 1051. [Google Scholar] [CrossRef] [Green Version]
  20. Yeoh, J.M.; Caraffini, F.; Homapour, E.; Santucci, V.; Milani, A. A Clustering System for Dynamic Data Streams Based on Metaheuristic Optimisation. Mathematics 2019, 7, 1229. [Google Scholar] [CrossRef] [Green Version]
  21. Hendrikx, M.; Meijer, S.; Van Der Velden, J.; Iosup, A. Procedural content generation for games: A survey. ACM Trans. Multimed. Comput. Commun. Appl. 2013, 9, 1–22. [Google Scholar] [CrossRef]
  22. Wilson, D.G.; Cussat-Blanc, S.; Luga, H.; Miller, J.F. Evolving simple programs for playing Atari games. Proc. Genet. Evol. Comput. Conf. 2018, 229–236. [Google Scholar] [CrossRef] [Green Version]
  23. Ponticorvo, M.; Rega, A.; Di Ferdinando, A.; Marocco, D.; Miglino, O. Approaches to Embed Bio-inspired Computational Algorithms in Educational and Serious Games. In Proceedings of the CAID@ IJCAI, Melbourne, Australia, May 2017. [Google Scholar]
  24. Woźniak, M.; Połap, D.; Napoli, C.; Tramontana, E. Application of Bio-Inspired Methods in Distributed Gaming Systems. ITC 2017, 46. [Google Scholar] [CrossRef]
  25. Boskovic, B.; Greiner, S.; Brest, J.; Zumer, V. A differential evolution for the tuning of a chess evaluation function. In Proceedings of the 2006 IEEE International Conference on Evolutionary Computation, Vancouver, BC, Canada, 16–21 July 2006; pp. 1851–1856. [Google Scholar]
  26. Diaz, G.; Iglesias, A. Evolutionary Behavioral Design of Non-Player Characters in a FPS Video Game through Particle Swarm Optimization. In Proceedings of the 13th International Conference on SKIMA, Island of Ulkulhas, Ulkulhas, Maldives, 26–28 August 2019; pp. 1–8. [Google Scholar] [CrossRef]
  27. Kuhlmann, G.; Stone, P. Automatic Heuristic Construction in a Complete General Game Player. AAAI Conf. 2006, 6, 1456–1462. [Google Scholar]
  28. Joppen, T.; Strubig, T.; Furnkranz, J. Ordinal Bucketing for Game Trees using Dynamic Quantile Approximation. In Proceedings of the IEEE CoG, London, UK, 20–23 August 2019; pp. 1–8. [Google Scholar] [CrossRef] [Green Version]
  29. Borovikov, I.; Zhao, Y.; Beirami, A.; Harder, J.; Kolen, J.; Pestrak, J.; Pinto, J.; Pourabolghasem, R.; Chaput, H.; Sardari, M.; et al. Winning isn’t everything: Training agents to playtest modern games. In Proceedings of the AAAI Workshop on Reinforcement Learning in Games, Honolulu, HI, USA, 27 January–1 February 2019. [Google Scholar]
  30. Naves, T.; Lopes, C. One Approach to Determine Goals in RTS Games Using Maximization of Resource Production with Local Search and Scheduling. In Proceedings of the ICTAI, Vietri sul Mare, Italy, 9–11 November 2015; pp. 469–477. [Google Scholar] [CrossRef]
  31. Bosc, G.; Tan, P.; Boulicaut, J.F.; Raïssi, C.; Kaytoue, M. A Pattern Mining Approach to Study Strategy Balance in RTS Games. IEEE T-CIAIG 2015, 9, 123–132. [Google Scholar] [CrossRef]
  32. Uriarte, A.; Ontañón, S. Combat Models for RTS Games. IEEE TOG 2018, 10, 29–41. [Google Scholar] [CrossRef]
  33. Rogers, K.; Skabar, A. A Micromanagement Task Allocation System for Real-Time Strategy Games. IEEE TCIAIG 2014, 6, 67–77. [Google Scholar] [CrossRef]
  34. Kawase, K.; Thawonmas, R. Scout of the route of entry into the enemy camp in StarCraft with potential field. In Proceedings of the GCCE, Tokyo, Japan, 1–4 October 2013; pp. 318–319. [Google Scholar] [CrossRef]
  35. Cunha, R.; Chaimowicz, L. An Artificial Intelligence System to Help the Player of Real-Time Strategy Games. In Proceedings of the SBGames, Florianopolis, Brazil, 8–10 November 2010; pp. 71–81. [Google Scholar] [CrossRef]
  36. Ontañón, S.; Synnaeve, G.; Uriarte, A.; Richoux, F.; Churchill, D.; Preuss, M. A Survey of Real-Time Strategy Game AI Research and Competition in StarCraft. IEEE T-CIAIG 2013, 5, 293–311. [Google Scholar] [CrossRef] [Green Version]
  37. Zhao, Y.; Borovikov, I.; Beirami, A.; Rupert, J.; Somers, C.; Harder, J.; De Mesentier Silva, F.; Kolen, J.; Pinto, J.; Pourabolghasem, R.; et al. Winning Isn’t Everything: Enhancing Game Development with Intelligent Agents. In Proceedings of the AAAI Workshop on Reinforcement Learning in Games, Honolulu, HI, USA, 27 January–1 February 2019. [Google Scholar]
  38. Guerrero-Romero, C.; Lucas, S.; Perez Liebana, D. Using a Team of General AI Algorithms to Assist Game Design and Testing. In Proceedings of the IEEE Conference on CIG, Maastricht, The Netherlands, 14–17 August 2018; pp. 1–8. [Google Scholar] [CrossRef]
  39. Jaffe, A.B. Understanding Game Balance with Quantitative Methods. Ph.D. Thesis, University of Washington, Washington, DC, USA, 2013. [Google Scholar]
  40. Risi, S.; Preuss, M. From Chess and Atari to StarCraft and Beyond: How Game AI is Driving the World of AI. KI-Künstliche Intell. 2020, 34, 1–11. [Google Scholar] [CrossRef] [Green Version]
  41. Perrotta, C.; Bailey, C.; Ryder, J.; Haggis-Burridge, M.; Persico, D. Games as (Not) Culture: A Critical Policy Analysis of the Economic Agenda of Horizon 2020. Games Cult. 2019. [Google Scholar] [CrossRef]
  42. Salazar, M.G.; Mitre, H.A.; Olalde, C.L.; Sánchez, J.L.G. Proposal of Game Design Document from software engineering requirements perspective. In Proceedings of the Conference on CGAMES, Louisville, KY, USA, 30 July–1 August 2012; pp. 81–85. [Google Scholar]
  43. Holmgård, C.; Green, M.C.; Liapis, A.; Togelius, J. Automated Playtesting with Procedural Personas through MCTS with Evolved Heuristics. IEEE Trans. Games 2018, 11, 352–362. [Google Scholar] [CrossRef]
  44. Chaslot, G.; Bakkes, S.; Szita, I.; Spronck, P. Monte-Carlo Tree Search: A New Framework for Game AI. In Proceedings of the AAAI Conference on AIIDE, Palo Alto, CA, USA, 22–24 October 2008. [Google Scholar]
  45. Heintz, S.; Law, E. Digital Educational Games: Methodologies for Evaluating the Impact of Game Type. ACM Trans. Comput. Hum. Interact. 2018, 25, 1–47. [Google Scholar] [CrossRef]
  46. Walfisz, M.; Zackariasson, P.; Wilson, T. Real-Time Strategy: Evolutionary Game Development. Bus. Horiz. 2006, 49, 487–498. [Google Scholar] [CrossRef]
  47. Sicart, M. Defining Game Mechanics. Int. J. Comput. Game Res. 2008, 8. [Google Scholar]
  48. Wilson, K.; Bedwell, W.; Lazzara, E.; Salas, E.; Burke, S.; Estock, J.; Orvis, K.; Conkey, C. Relationships Between Game Attributes and Learning Outcomes: Review and Research Proposals. Simul. Gaming 2008, 40, 217–266. [Google Scholar] [CrossRef]
  49. Erickson, G.; Buro, M. Global state evaluation in StarCraft. In Proceedings of the AAAI Conference on AIIDE, Raleigh, NC, USA, 3–7 October 2014; pp. 112–118. [Google Scholar]
  50. Ludwig, J.; Farley, A. Examining Extended Dynamic Scripting in a Tactical Game Framework. In Proceedings of the Conference on AIIDE, Palo Alto, CA, USA, 14–16 October 2009. [Google Scholar]
  51. Aly, M.; Aref, M.; Hassan, M. Dimensions-based classifier for strategy classification of opponent models in real-time strategy games. In Proceedings of the IEEE Seventh ICICIS, Cairo, Egypt, 12–14 December 2015; pp. 442–446. [Google Scholar]
  52. Bangay, S.; Makin, O. Generating an attribute space for analyzing balance in single unit RTS game combat. In Proceedings of the IEEE Conference on CIG, Dortmund, Germany, 26–29 August 2014; pp. 1–8. [Google Scholar] [CrossRef]
  53. Cho, H.; Park, H.; Kim, C.Y.; Kim, K.J. Investigation of the Effect of “Fog of War” in the Prediction of StarCraft Strategy Using Machine Learning. Comput. Entertain. 2017, 14, 1–16. [Google Scholar] [CrossRef]
  54. Mishra, K.; Ontañón, S.; Ram, A. Situation Assessment for Plan Retrieval in Real-Time Strategy Games. In Advances in Case-Based Reasoning, ECCBR 2008; Althoff, K.D., Bergmann, R., Minor, M., Hanft, A., Eds.; Lecture Notes in Computer Science; Springer: Berlin, Germany, 2008; Volume 5239, pp. 355–369. [Google Scholar]
  55. Togelius, J.; Preuss, M.; Hochstrate, N.; Wessing, S.; Hagelbäck, J.; Yannakakis, G. Multiobjective exploration of the StarCraft map space. IEEE Conf. CIG 2010, 1, 265–272. [Google Scholar] [CrossRef] [Green Version]
  56. Lin, M.; Wang, T.; Li, X.; Liu, J.; Wang, Y.; Zhu, Y.; Wang, W. An Uncertainty-Incorporated Approach to Predict the Winner in StarCraft II Using Neural Processes. IEEE Access 2019, 7, 101609–101619. [Google Scholar] [CrossRef]
  57. Tong, C.; On, C.; Teo, J.; Chua, B.L. Automatic generation of real time strategy tournament units using differential evolution. In Proceedings of the IEEE CSUDET, Semenyih, Malaysia, 20–21 October 2011; pp. 101–106. [Google Scholar] [CrossRef]
  58. Long, M. Radio General: A Real-Time Strategy Game Where You Cannot See Your Units. In Proceedings of the Annual Symposium on CHI PLAY, Melbourne, Australia, 28–31 October 2018; pp. 345–351. [Google Scholar] [CrossRef]
  59. Li, Y.; Li, Y.; Zhai, J.; Shiu, S. RTS game strategy evaluation using extreme learning machine. Soft Comput. 2012. [Google Scholar] [CrossRef]
  60. Si, C.; Pisan, Y.; Tan, C.T. A Scouting Strategy for Real-Time Strategy Games. Conf. Interact. Entertain. 2014, 1–8. [Google Scholar] [CrossRef]
  61. McCoy, J.; Mateas, M. An Integrated Agent for Playing Real-Time Strategy Games. AAAI Conf. AI 2008, 8, 1313–1318. [Google Scholar]
  62. DeRouin-Jessen, R. Game on: The Impact of Game Features in Computer-Based Training. Ph.D. Thesis, University of Central Florida, Orlando, FL, USA, 2008. [Google Scholar]
  63. Novak, D.; Čep, A.; Verber, D. Classification of modern real-time strategy game worlds. GSTF J. Comput. 2018, 6. [Google Scholar] [CrossRef]
  64. Microrts. Available online: https://github.com/santiontanon/microrts (accessed on 20 March 2020).
  65. TiamatBot. Available online: https://github.com/jr9Hernandez/TiamatBot (accessed on 20 March 2020).
  66. MixedBotmRTS. Available online: https://github.com/AmoyZhp/MixedBotmRTS (accessed on 20 March 2020).
  67. Evolutionary Action-Abstractions. Available online: https://github.com/julianmarino/evolutionary-action-abstractions (accessed on 15 April 2020).
  68. Mariño, J.; De Oliveira Moraes Filho, R.; Toledo, C.; Lelis, L. Evolving Action Abstractions for Real-Time Planning in Extensive-Form Games. AAAI Conf. AI 2019, 33, 2330–2337. [Google Scholar] [CrossRef]
  69. Ontanon, S.; Barriga, N.A.; Silva, C.; De Oliveira Moraes Filho, R.; Lelis, L. The First microRTS Artificial Intelligence Competition. AI Mag. 2018, 39, 75. [Google Scholar] [CrossRef] [Green Version]
  70. Churchill, D.; Saffidine, A.; Buro, M. Fast Heuristic Search for RTS Game Combat Scenarios. In Proceedings of the AAAI Conference on AIIDE, Stanford, CA, USA, 8–12 October 2012. [Google Scholar]
  71. Barriga, N.A.; Stanescu, M.; Buro, M. Game Tree Search Based on Non-Deterministic Action Scripts in Real-Time Strategy Games. IEEE TCIAIG 2017. [Google Scholar] [CrossRef]
  72. Ontanon, S. The combinatorial Multi-armed Bandit problem and its application to real-time strategy games. In Proceedings of the Conference on AIIDE, Boston, MA, USA, 14–18 October 2013; pp. 58–64. [Google Scholar]
  73. De Oliveira Moraes Filho, R.; Mariño, J.; Lelis, L.; Nascimento, M. Action Abstractions for Combinatorial Multi-Armed Bandit Tree Search. In Proceedings of the Conference on AIIDE, Edmonton, AB, Canada, 13–17 November 2018. [Google Scholar]
  74. Barriga, N.A.; Stanescu, M.; Buro, M. Combining Strategic Learning and Tactical Search in Real-Time Strategy Games. In Proceedings of the AAAI Conference on AIIDE, Snowbird, UT, USA, 5–9 October 2017. [Google Scholar]
  75. Stanley, K.; Bryant, B.; Miikkulainen, R. Real-Time Neuroevolution in the NERO Video Game. IEEE TEVC 2005, 9, 653–668. [Google Scholar] [CrossRef]
Figure 1. Micro real-time strategy (microRTS) environment, with all features visible.
Figure 1. Micro real-time strategy (microRTS) environment, with all features visible.
Mathematics 08 00688 g001
Figure 2. Pathway (steps taken) from the identification of the RTS game features to the novel metric.
Figure 2. Pathway (steps taken) from the identification of the RTS game features to the novel metric.
Mathematics 08 00688 g002
Table 1. Game feature descriptions derived from related work.
Table 1. Game feature descriptions derived from related work.
Game Feature LabelShort Game Feature DescriptionShort Game Feature LabelReference (Used as a Basis for Extraction)
Resource gatheringGame unit (worker) collects at least x units of type A resources and at least y units of type B resources in num trips.GF1_RG[50]
Game engine features and objectsGame unit (battle unit) always hits with x points of damage.GF2_EOBJ[51]
Game difficulty (aiding)The opponent is aided with x more units, resulting in a player losing every game.
Note: such a feature can be part of an advanced mode, where non-advanced users must not/cannot win.
GF3_DIFA[52]
Game objective (construction)If the player tries to, it must be able to create x game structure(s) (e.g., barracks).GF4_CONS[53]
Game assessmentGame score is calculated based on raw features (e.g., no. of workers) and must represent the game state status correctly when presented to the player. GF5_AST[54]
Stumbling block The player cannot destroy the enemy in a specific part of the map due to stumbling blocks (e.g., a wall).GF6_SB[55]
Game exploration (unlocking new technologies)If the player tries discovery, it can create x game units (e.g., battle unit–light) through the usage of game structure(s) (e.g., barracks).GF7_EXPL[56]
Special unitThe player is confronted with a special game unit (e.g., Super-Heavy with special features), which cannot be destroyed with the given resources. GF8_FANT[57]
Partial information (fog-of-war)The player cannot operate in a partially observable environment, so it therefore cannot destroy the opponent in such an environment.GF9_PARI[58]
Game difficulty (challenge)The player cannot destroy x structures (e.g., barracks) guarded with y rushing game units (e.g., battle unit–heavy) with access to z units of A type resources.GF10_DIFC[52]
Game control (take over the map)The player can destroy all the structures on the map before the time runs out.GF11_GCMP[59]
Interaction on a complex mapIf the player controlling x battle units (e.g., a heavy battle unit) finds a static unit (e.g., barracks) in a maze (or complex map), the static unit is always destroyed.GF12_INTE[60]
Resource gathering under attackA gatherer (e.g., a worker) is always destroyed when trying to gather resources.GF13_RG2[61]
Table 2. Game definition groups and their game feature representatives.
Table 2. Game definition groups and their game feature representatives.
IDGroupShort Game Feature Label
G1AdaptationGF3_DIFA 1, GF10_DIFC
G2Assessment/Rewards/ScoresGF5_AST 1
G3ChallengeGF3_DIFA, GF8_FANT,
GF10_DIFC 1, GF12_INTE
G4ConflictGF6_SB 1, GF9_PARI, GF10_DIFC, GF12_INTE, GF13_RG2
G5ControlGF2_EOBJ, GF9_PARI,
GF10_DIFC, GF11_GCMP 1, GF12_INTE
G6ExplorationGF7_EXPL 1, GF9_PARI, GF12_INTE
G7Fantasy/LocationGF8_FANT 1
G8Interaction/Interactivity (Equipment)GF2_EOBJ, GF4_CONS,
GF7_EXPL, GF12_INTE 1
G9Interaction (Interpersonal/Social)(empty—beyond the scope of this article 2)
G10Language/Communication(empty)
G11Motivation(empty)
G12MysteryGF9_PARI 1
G13Pieces or PlayersGF1_RG, GF2_EOBJ 1, GF3_DIFA, GF4_CONS, GF5_AST, GF6_SB,
GF7_EXPL, GF8_FANT, GF9_PARI,
GF10_DIFC, GF11_GCMP, GF12_INTE, GF13_RG2
G14Progress and SurpriseGF1_RG, GF4_CONS 1, GF6_SB, GF7_EXPL,
GF8_FANT, GF9_PARI, GF10_DIFC,
GF11_GCMP, GF12_INTE, GF13_RG2
G15Representation(empty)
G16Rules/goalsGF1_RG 1, GF2_EOBJ, GF4_CONS,
GF7_EXPL, GF13_RG2
G17SafetyGF1_RG, GF13_RG2 1
G18Sensory stimuli(empty)
1 Representative of the group used for the experiment. 2 The interaction (Interpersonal/Social) group was left empty, because it would require the interaction of multiple players (a single gameplaying agent modified for a playtesting agent supports only single player operations).
Table 3. Classification of feature groups based on their correlation and importance.
Table 3. Classification of feature groups based on their correlation and importance.
ClassGroupsWeightSet
High importanceAdaptation, Challenge, Control, Pieces or Players, Progress and Surprise, Rules/goals, SafetyW1CH = {G1, G3, G5, G13, G14, G16, G17}
Medium importanceAssessment/Rewards/Scores, Conflict, Exploration, Fantasy/Location, Interaction/Interactivity (Equipment), Motivation, MysteryW2CM = {G2, G4, G6, G7, G8, G12}
Low importanceInteraction (Interpersonal/Social), Language/Communication, Representation, Sensory stimuli W3CL = {G9, G10, G11, G15, G18}
Table 4. Hyper-parameters used in the experimentation.
Table 4. Hyper-parameters used in the experimentation.
Hyper-ParameterValue
continuingtrue
max_actions100
max_playouts−1
playout_time100
max_depth10
randomized_ab_repeats10
max_cycles3000
max_inactive_cycles300
Table 5. microRTS game feature scenario.
Table 5. microRTS game feature scenario.
Short Game Feature LabelExperimental microRTS Game Feature DescriptionMap
GF1_RGWorker collects at least 2 units of a resource in 2 trips.basesWorkers8x8.xml (standard map, which comes with microRTS)
GF2_EOBJA light battle unit always hits with 2 points of damage.melee4x4light2.xml
(standard map)
GF3_DIFAThe opponent is aided by 5 more heavy battle units, resulting in the player losing every game.basesWorkers8x8.xml (standard map with 5 heavy units added for the opponent)
GF4_CONSIf the player tries to, they must be able to create 1 barracks.basesWorkers8x8.xml (standard map)
GF5_ASTThe game score is calculated on the basis of raw features of the game state (no. of workers and no. of light, heavy and ranged units multiplied by their cost factors) and must represent the game state status correctly when presented to the player.melee14x12Mixed18.xml
(standard map)
GF6_SBThe player cannot destroy the enemy in a specific part of the map due to a wall.basesWorkers12x12.xml
(standard map with a wall placed in the middle of the map).
GF7_EXPLIf the player tries discovery, it must be able to create 1 light battle unit through the usage of game barracks.basesWorkers8x8.xml
(standard map)
GF8_FANTThe player is confronted with a special game unit (Super-Heavy battle unit with ten-times the armor of a normal-Heavy one), which cannot be destroyed with the given resources.basesWorkers8x8 (standard map with Super-Heavy battle units added to help the opponent)
GF9_PARIThe player cannot operate in a partially observable environment, so it therefore cannot destroy the opponent in such an environment.basesWorkers12x12.xml (standard map with a partially observable environment enabled)
GF10_DIFCThe player cannot destroy 2 barracks guarded with 3 heavy rushing units with access to 60 units of resources.8x8_2barracks3rushingHeavy60res.xml (custom map)
GF11_GCMPThe player can destroy three barracks before the time runs out.8x8_3barracks.xml
(custom map)
GF12_INTEIf the player controlling four heavy battle units finds an enemy barracks in a large map (with obstacles and walls), the enemy barracks are always destroyed.chambers32x32.xml
(standard map with four heavy battle units and barracks added)
GF13_RG2The worker is always destroyed when trying to gather resources. 8x8_workerDestroyed.xml (custom map with the base and resources on different parts of the map and four light battle units in the middle)
Table 6. Playtesting agent results for feature validations and their metric score.
Table 6. Playtesting agent results for feature validations and their metric score.
Playtesting AgentGroups and Game Features
(Valid num./Invalid num.)
Metric Score
RandomAIG1GF3(50, 0), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(50, 0), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)0
RandomBiasedAIG1GF3(49, 1), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(28, 22), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)0.24
MonteCarloG1GF3(50, 0), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)0.5
TiamatBotG1GF3(21, 29), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)1.08
IDRTMinimaxG1GF3(50, 0), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)0.5
IDRTMinimaxRandomizedG1GF3(50, 0), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)0.5
IDABCDG1GF3(49, 1), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)0.52
UCTG1GF3(24, 26), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)1.02
PuppetSearchMCTSG1GF3(46, 4), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0),
G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)
0.58
NaiveMCTS#AG1GF3(11, 39), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)1.28
NaiveMCTS#BG1GF3(12, 38), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)1.26
MixedBotG1GF3(34, 16), G2GF5(50, 0), G3GF10(50, 0), G4GF6(50, 0), G5GF11(50, 0), G6GF7(50, 0), G7GF8(0, 50), G8GF12(50, 0), G12GF9(50, 0), G13GF2(50, 0), G14GF4(50, 0), G16GF1(50, 0), G17GF13(50, 0)0.82

Share and Cite

MDPI and ACS Style

Novak, D.; Verber, D.; Dugonik, J.; Fister, I., Jr. A Comparison of Evolutionary and Tree-Based Approaches for Game Feature Validation in Real-Time Strategy Games with a Novel Metric. Mathematics 2020, 8, 688. https://doi.org/10.3390/math8050688

AMA Style

Novak D, Verber D, Dugonik J, Fister I Jr. A Comparison of Evolutionary and Tree-Based Approaches for Game Feature Validation in Real-Time Strategy Games with a Novel Metric. Mathematics. 2020; 8(5):688. https://doi.org/10.3390/math8050688

Chicago/Turabian Style

Novak, Damijan, Domen Verber, Jani Dugonik, and Iztok Fister, Jr. 2020. "A Comparison of Evolutionary and Tree-Based Approaches for Game Feature Validation in Real-Time Strategy Games with a Novel Metric" Mathematics 8, no. 5: 688. https://doi.org/10.3390/math8050688

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop