*4.3. Playtesting Agents*

The following gameplaying agents have been adapted as playtesting agents for the purposes of experimentation:

	- • 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.
	- • 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.
	- • IDRTMinimax: An iterative-deepening version of RTMinimax (minimax is defined here by time, not by agen<sup>t</sup> moves) that uses available time to search in a tree as deeply as possible;
	- • IDRTMinimaxRandomized: An agen<sup>t</sup> 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 di ffer 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).
	- • 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 o ffline/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 6.** Playtesting agen<sup>t</sup> results for feature validations and their metric score.

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).
