Proceedings, The Twelfth AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE-16) Analyzing Stealth Games with Distractions Alexander Borodovski and Clark Verbrugge School of Computer Science McGill University Montreal,´ Quebec,´ Canada [email protected], [email protected] Abstract and when and where the guard was at that point. This re- duces the combinatorial explosion in state space to a man- The ability to distract opponents is a key mechanic in many ageable branching of game states, even if the branch points stealth games. Existing search-based approaches to stealth must still be detected dynamically. To make search in this analysis, however, focus entirely on solving the non-detection space efficient we then extend the main Rapidly Exploring problem, for which they rely on static, ahead-of-time models of guard movements that do not depend on player interaction. Random Tree (RRT) search algorithm, applying multiple op- In this work we extend and optimize an approach based on timizations that improve performance without overly stress- heuristic search of stealth games to model variation in guard ing the resource requirements beyond that of a basic non- paths as dynamically triggered by player actions. Our design detection search. Implementation of this design in Unity3D is expressive, accommodating different distraction designs, shows feasibility, and we demonstrate that we can solve including remote activation and time delays. Using a Unity3D both relatively simple distraction puzzles typical of modern implementation, we show our enhanced search can solve dis- games, and much more complex designs involving compo- traction puzzles found in real games, as well as more com- sition of multiple distractions. Specific contributions of our plex, multiple-distraction level designs. Our work shows how work include the following. heuristic search can be applied to dynamically determined contexts, and significantly extends the ability to model and We formalize and identify components of a distraction solve stealth games. • puzzle that can be used to construct a variety of be- haviours. This design integrates with a flexible model of guard movement that allows for natural and reactive guard Introduction responses. Distraction puzzles are a common extension of basic stealth To make heuristic search efficient, we extend the basic game problems. A player is presented with the usual task • stealth space search with multiple optimizations. Although of finding a path from start to goal, undetected by enemies, these are motivated by the need to search in the richer state with success apparently impossible due to enemy guard mo- space implied by distractions, they are also applicable to tions and fields of view that effectively block the goal. In more general use of RRT in game analysis. order to progress a player must throw an object or use sound We experimentally evaluate the approach in Unity3D; this to inspire guards to investigate, changing their motion and • acts as a proof of concept as well as evidence of how our opening a solution path. From an analysis perspective, al- optimizations enable search of quite complex distraction gorithmically solving distraction puzzles introduces addi- puzzles. tional complexity in defining the state space—guard po- sitions depend on arbitrary, dynamic player choices, and Distraction Model thus regions of non-detection cannot be computed statically, ahead of time, a property on which existing, search-based Distractions come in many forms. Operationally, a distrac- stealth analysis relies (Tremblay et al. 2013). tion has a point in space that the player needs to reach in Our work addresses this dynamic property of state evo- order to use it. Once the player reaches the distraction point, lution, allowing guard positions to be efficiently computed a signal is sent out to all guards that that specific distraction and algorithmic search applied despite the potential growth point was activated at that specific time. A subset of guards, in state space. We first develop a model of distraction puz- depending on their current location and pre-set patrol routes, zles, identifying the basic components of a distraction that will then react to the distraction by changing where they are allow for a variety of puzzle designs. We combine this with going, and entering a new looped patrol. This new patrol a guard movement model that allows for different choices may involve them going to check a point and then resuming in patrol path depending on which distraction was activated, their prior pattern, or changing to a new pattern. In this process we can separate the location that causes Copyright c 2016, Association for the Advancement of Artificial the distraction to be activated (Activation Location) and the Intelligence (www.aaai.org). All rights reserved. location a guard heads to upon being distracted (Event Lo- 129 Variation 1 2 3 4 5 6 7 8 to the goal. Details on applying RRT to stealth can be found Activation Loc in (Tremblay et al. 2013), but RRT is conceptually simple: = = = = = = = = Event Loc 6 6 6 6 from the initial node (state) we incrementally grow a search Delay 0 0 δ δ 0 0 δ δ tree by (repeatedly) randomly sampling the state space and Old Path = = = = = = = = attempting to connect the sampled node its nearest neigh- New Path 6 6 6 6 bour in the tree, terminating once the goal state is reachable. The sampled state in each node includes both space (x, y) Table 1: Possible Distraction Combinations and time (t) dimensions, and in our case nodes also carry the time each distraction (if any) was activated. Sampling is performed in x, y, t only, with nodes im- cation). Distractions are often time-delayed, with the signal plicitly activating a specific distractionh i if they have the exact occurring at a future time instead of the time the player actu- same x, y as that distraction. Serendipitously sampling pre- ally visited the distraction point. In table 1, we can describe cise locations is unlikely, so we bias the sampling process. eight basic variations that can thus be implemented: with We force 20% of samplings to pick the location of a random the same or different activation and event locations, time- distraction point at a random time and try to connect to the δ>0 delayed by a or not, and whether the guard returns to tree; other bias rates are possible of course. Nodes that sub- a previous patrol route or is permanently altered. There can sequently connect to such a distraction node inherit the fact be any number of different, independent distraction points that that distraction was activated. each affecting different (although perhaps overlapping) sets When adding sampled nodes to the tree we need to com- of guards, or affecting the same sets of guards in different pute whether or not a given state in the tree can reach the ways. Further variation, such as in duration of distraction, or sampled state by straight line movement. Feasible connec- arbitrarily locating activation events are also possible. tions require maximum player speed is respected, no inter- Variations 1 and 5 are commonly seen and occur in games section with obstacles, and no intersection with the fields of Splinter Cell such as the series: stepping on broken glass view (FOV) of any guards. The obstacle collision is done on the ground makes a noise, which a guard investigates, using the built-in Linecast in Unity. For the FOV check we and either eventually returns to their patrol or enters a new need to locate each guard given the time and set of acti- alarmed mode. Variation 2 is seen, for example, in the game vated distractions, and intersect the connecting line-segment Far Cry 4 : throwing a rock causes a noise where it hits and with their FOV. Our waypoint design allows us to determine nearby guards go to investigate, returning to their previous guard position, but as constructing the full FOV polyhedra position; variation 4 occurs if there is significant delay in the is complex we perform the intersection heuristically, check- throwing. ing player–guard visibility discretely every 3rd frame, again To implement all these variations we assume guard paths using Unity’s Linecast to determine non-occluded sight and are based on a waypoint system. Each waypoint has a loca- filtering it by guard orientation and distance. tion, an action for the guard (wait, move, rotate), and a set of pointers to subsequent waypoints, one for normal move- ment, and one for each distraction. A guard reaching a way- Optimizing RRT point performs the indicated action and then follows the RRT will eventually always find a solution if there is one, normal pointer to the next one. If a distraction is activated but as it is stochastic this can take arbitrarily long. In par- during that action, a guard stops wherever they are, rotates ticular, tree density increases faster than tree coverage in toward the corresponding distraction waypoint, and moves RRT searches, and for the same number of samples it can toward it. Upon arrival they again return to normal move- be advantageous to do more, smaller searches rather than ment, following waypoints within this (possibly) different one larger search, especially for goal-directed contexts such list. Waypoints on all routes include these pointers, allow- as finding game solution paths. We also make use of several ing a guard to react to a second distraction even while still additional optimizations to improve scalability and allow us resolving the first. to solve more complex game levels. This design is aimed at modeling guard behaviours as Biasing the sampling of distraction ac- seen in many stealth games, but ensuring we can always Distraction Stacks tivation points is important to ensuring they are frequently predict a guard position at a given time.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages7 Page
-
File Size-