Map Sketches
Sentient Sketchbook allows both the human user and the computer to operate on map sketches: map sketches are low-resolution, high-level abstractions of game levels. The low resolution of the map sketch refers both to the map size but also to the components which comprise it: a map sketch contains only the types of game elements that are absolutely vital for this type of game level. A map sketch is described as a (small) number of tiles laid out in a grid. The tiles represent different game-dependent properties and have different navigational properties, i.e. allow movement through them (passable) or not (impassable). For the strategy game levels of this version of Sentient Sketchbook, the available types of tiles are resources (cyan), player bases (white), impassable (dark brown), or empty (orange). Following typical strategic gameplay, each player is expected to start at a base tile (chosen at random) and collect resources in order to build units; such units must reach the enemy players' bases and destroy them.
Map sketches can be transformed into a full strategy game or even into other types of game levels (e.g. the dungeon shown above). These final maps are generated in a constructive manner, via rule-based systems which may also include a certain degree of randomness as is the case with the initial seeds of cellular automata. The randomness of the constructive algorithms creates an organic-looking map, but is carefully designed in a way that retains all the properties (chokepoints, paths) of the coarse map sketch. Manual editing, evaluation and evolution are all done on the sketch level, making computations such as pathfinding easier and reducing the effort required to design a complete map.
Evaluation
Sentient Sketchbook allows the designer to place tiles on the map; while the designer edits the map, the tool tests it for playability. A map is playable (or feasible) if all resources and bases are reachable from any other base or resource. If there are not enough bases or resources, or any of these tiles are not connected with passable paths, then that metric displays "N/A" to indicate an unplayable design.
Playable maps are evaluated on quantifiable measures of quality regarding game pace and player balance. Game pace is affected by the location of a player's base: slow, defensive play is afforded if the base has many nearby resources, is surrounded by a large easily controllable area, and cannot be easily reached by other players. These game patterns are captured as resource safety which measures the number of resources which are close to only one base, safe area which measures the number of tiles around a base which are close only to that base, and exploration which simulates how difficult every base is to find starting from all enemy bases. Exploration is simulated via a flood fill algorithm, which stops when an enemy base is discovered; the filled area is compared with the number of passable tiles on the map. Player balance is evaluated via resource safety balance, safe area balance and exploration balance, which have high values if all bases have equally safe resources, a similar number of safe tiles and are equally difficult to find from enemy bases, respectively. The editor allows the designer to switch between different map displays, which visualize the different evaluations as well as other navigational properties.
Suggestions
Sentient Sketchbook acts as a computational colleague to the human designer, by providing new and unexpected alternatives to the user's map sketch. Through these suggestions, the tool intends to challenge the user's current design focus and promote diagrammatic lateral thinking. The map suggestions are updated while the user edits the map, using the current map's appearance as their starting point. Currently map suggestions are generated via genetic algorithms (GAs) performing constrained optimization to maximize one of the metrics of level quality on display, or to maximize the maps' diversity. Six genetic algorithms, running on separate threads, evolve suggestions via constrained optimization (FI-2pop GA) of a single fitness dimension each; the best evolved individual of each GA is included in the map suggestions. A seventh genetic algorithm evolves maps via constrained novelty search (FINS); the six most different evolved maps in this GA are also included in the map suggestions. Every genetic algorithm runs for 10 generations, and optimizes a total of 10 individuals which initially consist of mutations of the authored map sketch. The 12 map suggestions (six evolved via objective-based search and six evolved via novelty search) are displayed, as thumbnails, on the edge of the tool's window. Suggestions which do not satisfy the playability constraints, or which are identical with the user's map (or with each other) are omitted. The user can at any time select a map suggestion and replace their current sketch with it. While a suggestion is selected, its scores in the fitness dimensions and its other metrics are displayed along the relevant scores in the current sketch, clearly indicating which scores increase or decrease. This extra feedback mechanism is expected to reduce the designer's cognitive load of closely inspecting each of the 12 map suggestions.