Cameron McGuinness
University of Guelph
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Cameron McGuinness.
IEEE Transactions on Computational Intelligence and Ai in Games | 2011
Daniel Ashlock; Colin Lee; Cameron McGuinness
A correctly designed dynamic programming algorithm can be used as a fitness function to permit the evolution of maze-like levels for use in games. This study compares multiple representations for evolvable mazes including direct, as well as positive and negative indirect representations. The first direct representation simply specifies, with a binary gene, which squares of a grid are obstructed. The second paints the maze grid and passage is allowed only between colors that are the same or adjacent in a rainbow. The positive and negative representations are developmental and evolve directions for adding barriers or digging “tunnels.” These representations are tested with a design space of fitness functions that automatically generate levels with controllable properties. Fitness function design is the most difficult part of automatic level generation and this study gives a simple framework for designing fitness functions that permits substantial control over the character of the mazes that evolve. This technique relies on using checkpoints within the maze to characterize the connectivity and path lengths within the level. Called checkpoint-based fitness, these fitness functions are built on a menu of properties that can be rewarded. The choice of which qualities are rewarded, in turn, specifies within broad limits the characteristics of the mazes to be evolved. Three of the representations are found to benefit from a technique called sparse initialization in which a maze starts mostly empty and variation operators fill in details while increasing fitness. Different representations are found to produce mazes with very different appearances, even when the same fitness function is used. The example fitness functions designed around dynamic programming with checkpoints are found to permit substantial control over the properties of the evolved mazes.
congress on evolutionary computation | 2011
Cameron McGuinness; Daniel Ashlock
Search based procedural content generation uses search techniques to locate high-quality content elements for use in games. This study specifies and tests an evolutionary-computation based system to generate tiles and plans that decompose the problem of assembling large levels. Evolutionary computation is used as an off-line tool to generate libraries of both tiles and assembly plans. Systems for rapidly assembling tile libraries can then be used to generate large levels on demand with combinatorially huge numbers of levels available. The study also introduces new fitness functions, generalizing early work on checkpoint based fitness for the evolution of mazes, that is especially well suited for tile creation. Tiles are generated using two different representations that yield tiles with very different appearances. The study demonstrates assemblies of large levels and outlines several directions for extending the work.
IEEE Computational Intelligence Magazine | 2011
Daniel Ashlock; Colin Lee; Cameron McGuinness
Recent research has shown that it is possible to design fitness functions, based on dynamic programming, that allow evolutionary computation to automatically generate level maps for games. In this study levels with multiple types of barriers are automatically designed. The levels are designed under the assumption that there are two agent types and that at least one agent type may ignore one type of barrier. A specification of multiple types of barriers thus creates two mazes, one for each agent type, that coexist in the same space. The design of these dual mazes is accomplished using different fitness functions for two mazes simultaneously. For example, this permits a level with a single long winding path for an agent that cannot walk through one type of barrier coexisting with a low-diameter maze with more complex connectivity for an agent that cannot cross another type of barrier. This study explores two representations for game levels with multiple barrier types using four different pairs of fitness functions. The system is shown to be able to design dual mazes whose properties depend substantially on both the choice of fitness function and representation used.
computational intelligence and games | 2011
Cameron McGuinness; Daniel Ashlock
Search based procedural content generation uses search techniques to locate high-quality content elements for use in games. This study extends an evolutionary-computation based system to generate tiles used to assemble floor plans for levels in a video game as well as evolving assembly plans. The separate evolution of assembly plans and tiles yields a decomposition of the level generation problem that saves substantial time. The tiles used in this study use a more sophisticated fitness function than earlier studies and also permit the user to specify features, e.g. rooms of a particular shape or short or long transit distances between two points in the tile. Evolutionary computation is used as an off-line tool to generate libraries of both tiles and assembly plans. Systems for rapidly assembling tile libraries can then be used to generate large levels on demand with combinatorially huge numbers of level plans available. The new fitness function can be used to control the topology of the tiles and optionally permits the incorporation of enforced symmetry in tiles. Symmetric tiles are found to have a visually striking appearance. Control is achieved by requesting that different pairwise distances between user-specified checkpoints be minimized, maximized, or left free. This study explores the new fitness functions and demonstrates the variety of tiles that can be generated as well as assembling exemplary level plans from those tiles.
computational intelligence and games | 2013
Daniel Ashlock; Cameron McGuinness
This study introduces a new representation landscape automata for encoding heightmaps that may be used for terrain generation or other procedural content generation. Landscape automata are evolvable state-conditioned quadtrees with embedded decay parameters. Landscape automata are used to both match idealized landforms and to generate a heightmap with controllable connectivity for agents using the height map as terrain. Parameter studies on both mutation rate and number of states in the automata are performed. Mutation rate is found to have a modest impact on performance while the number of states used both has a large impact on fitness and a different type of impact for each of two types of fitness functions. Landscape automata are demonstrated to be well able to match idealized landforms, providing a palette of varied approximations with a variety of secondary features. They are also able to generate heightmaps that, viewed as terrain, form challenging mazes.
world congress on computational intelligence | 2012
Daniel Ashlock; Cameron McGuinness; Wendy Ashlock
The representation of a problem for evolutionary computation is the choice of the data structure used for solutions and the variation operators that act upon that data structure. For a difficult problem, choosing a good representation can have an enormous impact on the performance of the evolutionary computation system. To understand why this is so, one must consider the search space and the fitness landscape induced by the representation. If someone speaks of the fitness landscape of a problem, they have committed a logical error: problems do not have a fitness landscape. The data structure used to represent solutions for a problem in an evolutionary algorithm establishes the set of points in the search space. The topology or connectivity that joins those points is induced by the variation operators, usually crossover and mutation. Points are connected if they differ by one application of the variation operators. Assigning fitness values to each point makes this a fitness landscape. The question of the type of fitness landscape created when a representation is chosen is a very difficult one, and we will explore it in this chapter.
computational intelligence and games | 2012
Cameron McGuinness
This study demonstrates that representation choice in automatic map creation affects the characteristics of the map generated as well as showing that representation choice makes a statistically significant difference in the degree of satisfaction of the fitness functions used to drive map creation. This result is demonstrated with Tukeys HSD procedure and factor analysis. It was found that different representations are good at creating maps with specific characteristics. It also shows that there are significant differences in the maps that are created with different representations. This study is a companion to earlier qualitative research, providing a quantitative perspective on the impact of representation on automatic map creation.
computational intelligence and games | 2014
Daniel Ashlock; Cameron McGuinness
Fantasy role playing games are a type of pencil-and-paper game in which a group of players, moderated by a referee, engage in cooperative story telling. This study leverages earlier level map generation technology to substantially automate the production of modules for fantasy role playing games. A goblin outpost is used as an example type of module for demonstrating the system. Advantages of the system include being able to produce a large number of different but tactically similar adventure modules with substantial control of content and feel by the designer. In addition to presenting a modified version of the map generator, the system presented in this study also automatically identifies rooms, abstracts the room adjacency relation, and populates the rooms with monsters, traps, and treasure. A example module, complete except for monster descriptions, is presented demonstrating proof of concept. Multiple maps for the goblin outpost are presented for contrast and a number of future directions for improvement are outlined.
congress on evolutionary computation | 2016
Cameron McGuinness
Many variations of Monte Carlo tree search have been proposed and tested but relatively little comparison of these variants have occurred. In this study an Agent Case Embedding analysis and agglomorative hierarchical clustering was performed using eight variants of Monte Carlo Tree Search as agents and eight games as cases. This allowed us to compare the variants abilities on each of the games to determine the type of games each are good at handling as well as which variants are similar to others. This comparison of variants exploits the ability of ACEs to compare different types of objects based on their behavior. By looking at the behavior of MCTS variants on a variety of games we obtain a good notion of the degree to which different MCTS variants exhibit different capabilities. A side effect of comparing MCTS variants with agent-case embeddings is that we also are able to compare the games used to test the MCTS variants.
Australasian Conference on Artificial Life and Computational Intelligence | 2015
Daniel Ashlock; Philip Hingston; Cameron McGuinness
The problem of packing a fixed number of points into a square while maximizing the distance between them is a good test bed for comparing representations for real optimization problems not based on a simple mathematical formula. The problem does permit the applications of forms of gradient search and so allows simple and hybrid algorithms to be compared. In this study we compare a simple representation comprised of an array of points to a more complex generative representation called the walking triangle representation.