Evaluation of Algorithms for Randomizing Key Item Locations in Game Worlds

Evaluation of Algorithms for Randomizing Key Item Locations in Game Worlds

Louisiana State University LSU Digital Commons LSU Master's Theses Graduate School March 2021 Evaluation of Algorithms for Randomizing Key Item Locations in Game Worlds Caleb Johnson Follow this and additional works at: https://digitalcommons.lsu.edu/gradschool_theses Part of the Theory and Algorithms Commons Recommended Citation Johnson, Caleb, "Evaluation of Algorithms for Randomizing Key Item Locations in Game Worlds" (2021). LSU Master's Theses. 5259. https://digitalcommons.lsu.edu/gradschool_theses/5259 This Thesis is brought to you for free and open access by the Graduate School at LSU Digital Commons. It has been accepted for inclusion in LSU Master's Theses by an authorized graduate school editor of LSU Digital Commons. For more information, please contact [email protected]. EVALUATION OF ALGORITHMS FOR RANDOMIZING KEY ITEM LOCATIONS IN GAME WORLDS A Thesis Submitted to the Graduate Faculty of the Louisiana State University and Agricultural and Mechanical College in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering in The Division of Electrical and Computer Engineering by Caleb Hadley Johnson B.S.Comp.E., Louisiana State University, 2020 May 2021 Acknowledgments I would like to thank my graduate advisor, Dr. Lu Peng for his help, guidance, and accommodation while performing this work. I would also like to thank Dr. Jerry Trahan for his inspiration and contributions to the work and ideas. Finally I’d like to thank Tao Lu for his guidance, support, and contributions. Finally, I would like to thank the developers, staff, and community of the ran- domizer for The Legend of Zelda: Ocarina of Time, especially the lead developer Aharon Turpie, for introducing him to randomizer algorithms and their help and guidance during the creation of this work. ii Table of Contents Acknowledgments..................................... ii ListofTables....................................... iv ListofFigures ....................................... v Abstract........................................... vi Chapter1.Introduction . 1 Chapter2.RelatedWork ............................... 6 Chapter3. AlgorithmDescriptions . 9 3.1. FillAlgorithms................................. 9 3.2. SearchAlgorithms ............................... 13 Chapter4. WorldComplexityandGeneration . 22 4.1. IndividualLocationComplexityScore . 22 4.2. WorldGeneration ............................... 24 4.3. FinalComplexityScore . 27 4.4. Worlds Generated for Algorithm Evaluation . 30 Chapter 5. Description of Algorithm Evaluation Metrics . ............ 32 5.1. FailureRate................................... 32 5.2. ExecutionTime................................. 33 5.3. Bias ....................................... 33 5.4. Interestingness ................................. 35 Chapter6.ExperimentalResults . 39 6.1. ExperimentalSetup .............................. 39 6.2. ResultsandEvaluation. 40 Chapter7.Discussion ................................ 50 Chapter8.Conclusion ................................ 53 AppendixA.SphereSearchResultonFig. 1.3 . 54 Bibliography ....................................... 55 Vita............................................. 57 iii List of Tables 4.1 Chance of Generating Each Type of Rule for Item Locations andEdges. 26 4.2 ComplexityAverages:Sum . 28 4.3 ComplexityAverages:Average . 28 4.4 ComplexityAverages:Max . 28 4.5 ComplexityAverages: SumofSquares . 29 4.6 ComplexityAverages: Averageoftop50% . 29 4.7 ComplexityAverages: Averageoftop75% . 29 4.8 TestingWorldProperties . 31 6.1 Failure Rate per Algorithm per World (% Failed) . 40 6.2 Single-Iteration Execution Time per Algorithm per World (ms) ......... 41 6.3 Expected Execution Time per Algorithm per World considering Failure Rate (ms).......................................... 42 iv List of Figures 1.1 Detailed view of region and location graph nodes (left), compressed view showing locationsaswithinregions(right). 2 1.2 An example world graph with original item placements. .......... 3 1.3 The same example world graph as Fig. 2 with item placements randomized by AssumedFill...................................... 4 3.1 Example of our heuristic for Playthrough Search. The number in each region shows the number of available locations in that region. .......... 21 4.1 Exampleofformulaforatotalrule.. 23 5.1 Example of a graph where Forward Fill is likely to fail. ........... 32 6.1 Average execution time per algorithm per world. Lower is better. ........ 41 6.2 Expected execution time accounting for failure rate per algorithm per world. Lowerisbetter..................................... 42 6.3 Average bias per algorithm per world. Lower is better. ........... 43 6.4 Percentage of time bias was toward the end of the game rather than toward the beginningperalgorithmperworld. 44 6.5 Average interestingness per algorithm per world. Higher is better......... 45 6.6 Average fun per algorithm per world. Higher is better. .......... 46 6.7 Average challenge per algorithm per world. Higher is better............ 47 6.8 Average satisfyingness per algorithm per world. Higher is better. ........ 48 6.9 Average boredom per algorithm per world. Lower is better. ........... 49 v Abstract In the past few years, game randomizers have become increasingly popular. In gen- eral, a game randomizer takes some aspect of a game that is usually static and shuffles it somehow. In particular, in this paper we will discuss the type of randomizer that shuffles the locations of items in a game where certain key items are needed to traverse the game world and access some of these locations. Examples of these types of games include series such as The Legend of Zelda and Metroid. In order to accomplish this shuffling in such a way that the player is able to reach the end of the game, some novel algorithms in graph theory must be utilized, where the game world and its item locations are represented as a graph and each edge on the graph has some rule for which items are required to traverse it. In this paper, we define these algorithms formally and evaluate them with different metrics that can guide a developer’s decision about which algorithm works best for their game. vi Chapter 1. Introduction A game randomizer is, in general, a modification of a game that randomizes some aspect of the game that is usually static. Many kinds of randomizers exist, such as ran- domizing enemy encounters, level up rewards, cosmetics, and item locations. In some types of games, usually belonging to the Adventure or Metroidvania genres, the player is required to find some items, abilities, or keys that allow them to move through the game world and access more locations where items can be found. Therefore, when ran- domizing the locations of items in a game like this, there must be some consideration for reachability. The end goal of randomizing item locations in a game such as this is to ensure that the end of the game is reachable so that the player is able to complete it. For example, let’s say there is a hammer item that is able to smash rocks that block the player’s path, and the final area of the game is guarded by a rock the player must smash to proceed. If the hammer item is placed hidden underneath a rock, then the player will not be able to access the hammer and thus be unable to complete the game. Furthermore, let’s say a different item is hidden under that rock, and that item is required to access the hammer. The result is the same: the game will be uncompletable. To accomplish our task of creating a completable placement of items within the game world, the world will be abstracted to a graph representation. Each node on the graph represents a location at which an item may be found, and each edge between a pair of nodes defines some rule that is required to traverse that edge. Utilizing this graph rep- resentation and the list of items currently in the player’s inventory, a reachability graph can be calculated. 1 Figure 1.1. Detailed view of region and location graph nodes (left), compressed view show- ing locations as within regions (right). For the implementation, it will be useful to consider two kinds of nodes on the graph for organizational purposes: regions and locations. A region represents some space within the game world, such as the interior of a building. A location represents a single point within a region at which an item can be acquired. In the graph, regions connect to locations contained within them and to other regions that are directly accessible. Fig. 1.1 shows this distinction, with regions and locations as separate nodes on the left and the compressed view on the right, where a circular node denotes a location and a square node denotes a region. An important note is that edges between region nodes are not neces- sarily bi-directional. An edge could be one way, and oppositely directed edges can have different rules. We describe three algorithms that utilize this reachability graph to fill empty item locations in such a way that will produce a completable result: Random Fill, Forward Fill, and Assumed Fill. Each algorithm has advantages and disadvantages, which will be evalu- ated in this paper. Fig. 1.2 shows an example of a small game world graph that we designed to be similar to a real game world. Item placements shown here are the ”original” placements, 2 designed to be placed how items would be in a real game world, with key items high- lighted in different colors. Refer to Fig. 1.1 to understand the meaning of elements of the graph. The player would start in Forest, in the top right,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    64 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us