<div> Preface xx </div> <div> <br> </div> <div> Chapter 1 Games and Players: Defined 1 </div> <div> <br> </div> <div> Defining Game 2 </div> <div> <br> </div> <div> Agreed Upon, Artificial Rules 2 </div> <div> <br> </div> <div> Players Have an Impact on the Outcome 3 </div> <div> <br> </div> <div> People Can Opt Out 4 </div> <div> <br> </div> <div> Game Sessions Are Finite 4 </div> <div> <br> </div> <div> Intrinsic Rewards 4 </div> <div> <br> </div> <div> Game Attributes Summary 5 </div> <div> <br> </div> <div> Finding the Target Audience for a Game: Player Attributes 6 </div> <div> <br> </div> <div> Age 6 </div> <div> <br> </div> <div> Gender 7 </div> <div> <br> </div> <div> Tolerance for Learning Rules 7 </div> <div> <br> </div> <div> Interest in Challenge 9 </div> <div> <br> </div> <div> Desired Time Investment 10 </div> <div> <br> </div> <div> Pace Preference 11 </div> <div> <br> </div> <div> Competitiveness 11 </div> <div> <br> </div> <div> Platform Preference 12 </div> <div> <br> </div> <div> Skill Level 12 </div> <div> <br> </div> <div> Genre/Art/Setting/Narrative Preference 13 </div> <div> <br> </div> <div> Value Gained from Players 13 </div> <div> <br> </div> <div> Payment 13 </div> <div> <br> </div> <div> Other Forms of Value 16 </div> <div> <br> </div> <div> Target Audience Value 17 </div> <div> <br> </div> <div> Target Audience Composite 18 </div> <div> <br> </div> <div> Chess 18 </div> <div> <br> </div> <div> Galaga 18 </div> <div> <br> </div> <div> Mario Kart 19 </div> <div> <br> </div> <div> The Battle for Wesnoth 20 </div> <div> <br> </div> <div> Bejeweled 20 </div> <div> <br> </div> <div> What to Do with a Target Audience Profile 21 </div> <div> <br> </div> <div> Further Steps 22 </div> <div> <br> </div> <div> Chapter 2 Roles in the Game Industry 23 </div> <div> <br> </div> <div> Core Management Team 24 </div> <div> <br> </div> <div> Vision Holder 24 </div> <div> <br> </div> <div> Lead Engineer 25 </div> <div> <br> </div> <div> Lead Artist 25 </div> <div> <br> </div> <div> Lead Designer 25 </div> <div> <br> </div> <div> Producer 25 </div> <div> <br> </div> <div> Lead Sound Designer 25 </div> <div> <br> </div> <div> Team Subdisciplines 26 </div> <div> <br> </div> <div> Art 26 </div> <div> <br> </div> <div> Engineering 27 </div> <div> <br> </div> <div> Production 28 </div> <div> <br> </div> <div> Design 28 </div> <div> <br> </div> <div> Sound Team 29 </div> <div> <br> </div> <div> QA Team 29 </div> <div> <br> </div> <div> Narrative Designer 30 </div> <div> <br> </div> <div> Additional Roles 30 </div> <div> <br> </div> <div> Further Steps 30 </div> <div> <br> </div> <div> Chapter 3 Asking Questions 31 </div> <div> <br> </div> <div> How to Ask a Theoretical Question 32 </div> <div> <br> </div> <div> Steps of the Scientific Method 32 </div> <div> <br> </div> <div> Defining a Question for Data Analysis 35 </div> <div> <br> </div> <div> How to Ask for Help with a Problem 36 </div> <div> <br> </div> <div> Why How You Ask Matters 36 </div> <div> <br> </div> <div> Steps to Writing a Good Question 37 </div> <div> <br> </div> <div> Further Steps 41 </div> <div> <br> </div> <div> Chapter 4 System Design Tools 43 </div> <div> <br> </div> <div> What Is Data? 44 </div> <div> <br> </div> <div> Game Industry Tools 44 </div> <div> <br> </div> <div> Documentation Tools 45 </div> <div> <br> </div> <div> Image Editing Tools 45 </div> <div> <br> </div> <div> 3D Modeling Tools 46 </div> <div> <br> </div> <div> Flowchart Tools 47 </div> <div> <br> </div> <div> Databases 48 </div> <div> <br> </div> <div> Bug-Tracking Software 49 </div> <div> <br> </div> <div> Game Engines 49 </div> <div> <br> </div> <div> Further Steps 50 </div> <div> <br> </div> <div> Chapter 5 Spreadsheet Basics 51 </div> <div> <br> </div> <div> Why Spreadsheets? 52 </div> <div> <br> </div> <div> What Is a Spreadsheet? 54 </div> <div> <br> </div> <div> Spreadsheet Cells: The Building Blocks of Data 54 </div> <div> <br> </div> <div> Cells 54 </div> <div> <br> </div> <div> The Formula Bar 55 </div> <div> <br> </div> <div> Spreadsheet Symbols 56 </div> <div> <br> </div> <div> Data Containers in Spreadsheets 60 </div> <div> <br> </div> <div> Columns and Rows 60 </div> <div> <br> </div> <div> Sheets 61 </div> <div> <br> </div> <div> Workbooks 61 </div> <div> <br> </div> <div> Spreadsheet Operations 63 </div> <div> <br> </div> <div> Referencing a Separate Sheet 64 </div> <div> <br> </div> <div> Hiding Data 65 </div> <div> <br> </div> <div> Freezing Part of a Sheet 66 </div> <div> <br> </div> <div> Using Comments and Notes 68 </div> <div> <br> </div> <div> Using Formfill 71 </div> <div> <br> </div> <div> Using Filters 77 </div> <div> <br> </div> <div> Data Validation 80 </div> <div> <br> </div> <div> The Data Validation Dialog 81 </div> <div> <br> </div> <div> Time Validation 83 </div> <div> <br> </div> <div> List Validation 84 </div> <div> <br> </div> <div> Named Ranges 84 </div> <div> <br> </div> <div> Further Steps 88 </div> <div> <br> </div> <div> Chapter 6 Spreadsheet Functions 89 </div> <div> <br> </div> <div> Grouping Arguments 90 </div> <div> <br> </div> <div> Function Structure 90 </div> <div> <br> </div> <div> More Complex Functions 93 </div> <div> <br> </div> <div> Functions for System Designers 96 </div> <div> <br> </div> <div> SUM 96 </div> <div> <br> </div> <div> AVERAGE 97 </div> <div> <br> </div> <div> MEDIAN 97 </div> <div> <br> </div> <div> MODE 98 </div> <div> <br> </div> <div> MAX and MIN 99 </div> <div> <br> </div> <div> RANK 99 </div> <div> <br> </div> <div> COUNT, COUNTA, and COUNTUNIQUE 100 </div> <div> <br> </div> <div> LEN 100 </div> <div> <br> </div> <div> IF 101 </div> <div> <br> </div> <div> COUNTIF 101 </div> <div> <br> </div> <div> VLOOKUP 102 </div> <div> <br> </div> <div> FIND 102 </div> <div> <br> </div> <div> MID 103 </div> <div> <br> </div> <div> NOW 103 </div> <div> <br> </div> <div> RAND 104 </div> <div> <br> </div> <div> ROUND 105 </div> <div> <br> </div> <div> RANDBETWEEN 105 </div> <div> <br> </div> <div> Learning About More Functions 106 </div> <div> <br> </div> <div> How to Choose the Right Function 106 </div> <div> <br> </div> <div> Further Steps 107 </div> <div> <br> </div> <div> Chapter 7 Distilling Life into Systems 109 </div> <div> <br> </div> <div> An Abstract Example 114 </div> <div> <br> </div> <div> Throwing 114 </div> <div> <br> </div> <div> Sticks 115 </div> <div> <br> </div> <div> Running 115 </div> <div> <br> </div> <div> Teamwork 115 </div> <div> <br> </div> <div> Putting Together the Mechanics 115 </div> <div> <br> </div> <div> Story in Games 116 </div> <div> <br> </div> <div> Further Steps 117 </div> <div> <br> </div> <div> Chapter 8 Coming Up with Ideas 119 </div> <div> <br> </div> <div> Idea Buffet 120 </div> <div> <br> </div> <div> Sample Idea Buffet 120 </div> <div> <br> </div> <div> Running a Brainstorming Session 121 </div> <div> <br> </div> <div> Having Goals 121 </div> <div> <br> </div> <div> Gathering the Troops 122 </div> <div> <br> </div> <div> Giving Yourself a Block of Time 123 </div> <div> <br> </div> <div> Don't Accept the First Answer 123 </div> <div> <br> </div> <div> Avoiding Criticism 124 </div> <div> <br> </div> <div> Keeping on Topic (Kind Of) 124 </div> <div> <br> </div> <div> Capturing the Creativity 125 </div> <div> <br> </div> <div> Keeping Expectations Reasonable 125 </div> <div> <br> </div> <div> Percolating 125 </div> <div> <br> </div> <div> Methods to Force Creativity 126 </div> <div> <br> </div> <div> Bad Storming 126 </div> <div> <br> </div> <div> Jokes 126 </div> <div> <br> </div> <div> Building Blocks 127 </div> <div> <br> </div> <div> Future Past 127 </div> <div> <br> </div> <div> Iterative Stepping 127 </div> <div> <br> </div> <div> Halfway Between 128 </div> <div> <br> </div> <div> Opposite Of 129 </div> <div> <br> </div> <div> Random Connections 130 </div> <div> <br> </div> <div> Stream of Consciousness Writing 130 </div> <div> <br> </div> <div> Further Steps 131 </div> <div> <br> </div> <div> Chapter 9 Attributes: Creating and Quantifying Life 133 </div> <div> <br> </div> <div> Mechanics Versus Attributes 134 </div> <div> <br> </div> <div> Listing Attributes 134 </div> <div> <br> </div> <div> Initial Brainstorming 135 </div> <div> <br> </div> <div> Blue-Sky Brainstorming 136 </div> <div> <br> </div> <div> Researching Attributes 136 </div> <div> <br> </div> <div> Referring to Your Own Personal Attribute Bank 138 </div> <div> <br> </div> <div> Defining an Attribute 139 </div> <div> <br> </div> <div> Considerations When Defining an Attribute 140 </div> <div> <br> </div> <div> Grouping Attributes 141 </div> <div> <br> </div> <div> Further Steps 143 </div> <div> <br> </div> <div> Chapter 10 Organizing Data in Spreadsheets 145 </div> <div> <br> </div> <div> Create a Spreadsheet to Be Read by an Outsider 146 </div> <div> <br> </div> <div> Avoid Typing Numbers 146 </div> <div> <br> </div> <div> Label Data 147 </div> <div> <br> </div> <div> Validate Your Data 148 </div> <div> <br> </div> <div> Use Columns for Attributes and Rows for Objects 148 </div> <div> <br> </div> <div> Color Coding 149 </div> <div> <br> </div> <div> Avoid Adding Unneeded Columns or Rows or Blank Cells 151 </div> <div> <br> </div> <div> Separate Data Objects with Sheets 152 </div> <div> <br> </div> <div> Reference Sheet 152 </div> <div> <br> </div> <div> Introduction Sheet 153 </div> <div> <br> </div> <div> Output/Visualization Sheets 154 </div> <div> <br> </div> <div> Scratch Sheet 155 </div> <div> <br> </div> <div> Spreadsheet Example 155 </div> <div> <br> </div> <div> Further Steps 156 </div> <div> <br> </div> <div> Chapter 11 Attribute Numbers 157 </div> <div> <br> </div> <div> Getting a Feel for Your Attributes 158 </div> <div> <br> </div> <div> Determining the Granularity for Numbers 158 </div> <div> <br> </div> <div> Numbers Should Relate to Probability 158 </div> <div> <br> </div> <div> Some Numbers Need to Relate to Real-World Measurements 159 </div> <div> <br> </div> <div> User Smaller Numbers for Easier Calculations 160 </div> <div> <br> </div> <div> Use Larger Numbers for More Granularity 161 </div> <div> <br> </div> <div> Very Large Numbers Are Confusing 162 </div> <div> <br> </div> <div> Humans Hate Decimals and Fractions, but Computers Don't Mind Them 163 </div> <div> <br> </div> <div> Numbering Example 163 </div> <div> <br> </div> <div> The Tension Trick 163 </div> <div> <br> </div> <div> Searching for the Right Numbers 165 </div> <div> <br> </div> <div> Further Steps 167 </div> <div> <br> </div> <div> Chapter 12 System Design Foundations 169 </div> <div> <br> </div> <div> Attribute Weights 170 </div> <div> <br> </div> <div> DPS and Intertwined Attributes 173 </div> <div> <br> </div> <div> Binary Searching 176 </div> <div> <br> </div> <div> How Binary Searching Works 176 </div> <div> <br> </div> <div> Lacking a Viable Range 179 </div> <div> <br> </div> <div> Naming Conventions 180 </div> <div> <br> </div> <div> Naming Object Iterations 185 </div> <div> <br> </div> <div> The Problem with “New” 185 </div> <div> <br> </div> <div> Iteration Naming Method 1: Version Number 186 </div> <div> <br> </div> <div> Iteration Naming Method 2: Version Letter and Number 186 </div> <div> <br> </div> <div> Special Case Terms 187 </div> <div> <br> </div> <div> Using the Handshake Formula 188 </div> <div> <br> </div> <div> Further Steps 194 </div> <div> <br> </div> <div> Chapter 13 Range Balancing, Data Fulcrums, and Hierarchical Design 195 </div> <div> <br> </div> <div> Range Balancing 196 </div> <div> <br> </div> <div> How Range Balancing Works 197 </div> <div> <br> </div> <div> Who Adjusts What 201 </div> <div> <br> </div> <div> Data Fulcrums 203 </div> <div> <br> </div> <div> What Is a Fulcrum? 203 </div> <div> <br> </div> <div> Creating a Fulcrum 204 </div> <div> <br> </div> <div> Testing a Fulcrum 204 </div> <div> <br> </div> <div> Locking a Fulcrum 206 </div> <div> <br> </div> <div> Using a Fulcrum for Data Creation 206 </div> <div> <br> </div> <div> Unavoidable Cross-testing 208 </div> <div> <br> </div> <div> Fulcrum Progression 209 </div> <div> <br> </div> <div> Hierarchical Design 210 </div> <div> <br> </div> <div> Starting the Hierarchy 211 </div> <div> <br> </div> <div> Advantages of Hierarchical Design 212 </div> <div> <br> </div> <div> Further Steps 213 </div> <div> <br> </div> <div> Chapter 14 Exponential Growth and Diminishing Returns 215 </div> <div> <br> </div> <div> Linear Growth 216 </div> <div> <br> </div> <div> Exponential Growth 217 </div> <div> <br> </div> <div> Parts of the Basic Exponential Growth Formula 218 </div> <div> <br> </div> <div> Building Blocks of the Exponential Growth Formula 220 </div> <div> <br> </div> <div> Tweaking the Basic Exponential Growth Formula 226 </div> <div> <br> </div> <div> A Note on Iterations 227 </div> <div> <br> </div> <div> Exponential Charts and Game Hierarchy 227 </div> <div> <br> </div> <div> Further Steps 228 </div> <div> <br> </div> <div> Chapter 15 Analyzing Game Data 229 </div> <div> <br> </div> <div> Overview Analysis 230 </div> <div> <br> </div> <div> Next-Level Deep Analysis 238 </div> <div> <br> </div> <div> Practicing Data Analysis 240 </div> <div> <br> </div> <div> Comparison Analysis 240 </div> <div> <br> </div> <div> Canaries 241 </div> <div> <br> </div> <div> Further Steps 244 </div> <div> <br> </div> <div> Chapter 16 Macrosystems and Player Engagement 245 </div> <div> <br> </div> <div> Macrosystem Difficulty Adjustment 246 </div> <div> <br> </div> <div> Flat Balancing 246 </div> <div> <br> </div> <div> Positive Feedback Loops 247 </div> <div> <br> </div> <div> Negative Feedback Loop 249 </div> <div> <br> </div> <div> Dynamic Difficulty Adjustment 251 </div> <div> <br> </div> <div> Layered Difficulty Adjustment 253 </div> <div> <br> </div> <div> Cross-Feeding 254 </div> <div> <br> </div> <div> Balancing Combinations 255 </div> <div> <br> </div> <div> Further Steps 255 </div> <div> <br> </div> <div> Chapter 17 Fine-Tuning Balance, Testing, and Problem Solving 257 </div> <div> <br> </div> <div> Balance 258 </div> <div> <br> </div> <div> Why Balance Matters 258 </div> <div> <br> </div> <div> General Game Balance 259 </div> <div> <br> </div> <div> Breaking Your Data 261 </div> <div> <br> </div> <div> Problems with Balancing Judged Contests 261 </div> <div> <br> </div> <div> How to Start Balancing Data 263 </div> <div> <br> </div> <div> Performing Playtests 265 </div> <div> <br> </div> <div> Minimum Viability Testing 266 </div> <div> <br> </div> <div> Balance Testing 267 </div> <div> <br> </div> <div> Bug Testing 268 </div> <div> <br> </div> <div> User Testing 269 </div> <div> <br> </div> <div> Beta/Postlaunch Telemetry Testing 273 </div> <div> <br> </div> <div> Solving Problems 275 </div> <div> <br> </div> <div> Identify the Problem 276 </div> <div> <br> </div> <div> Eliminate Variables 277 </div> <div> <br> </div> <div> Come Up with Solutions 277 </div> <div> <br> </div> <div> Communicate with the Team 277 </div> <div> <br> </div> <div> Prototype and Test 277 </div> <div> <br> </div> <div> Document the Changes 277 </div> <div> <br> </div> <div> Further Steps 278 </div> <div> <br> </div> <div> Chapter 18 Systems Communication and Psychology 279 </div> <div> <br> </div> <div> Games as Conversations 280 </div> <div> <br> </div> <div> Word Meanings 281 </div> <div> <br> </div> <div> Noise 284 </div> <div> <br> </div> <div> Reciprocity 286 </div> <div> <br> </div> <div> Overstepping Bounds 286 </div> <div> <br> </div> <div> Shallow Relationship 287 </div> <div> <br> </div> <div> Right Balance 287 </div> <div> <br> </div> <div> Reward Expectations 288 </div> <div> <br> </div> <div> Further Steps 289 </div> <div> <br> </div> <div> Chapter 19 Probability 291 </div> <div> <br> </div> <div> Basic Probability 292 </div> <div> <br> </div> <div> Probability Notation 292 </div> <div> <br> </div> <div> Calculating One-Dimensional Even-Distribution Probability 293 </div> <div> <br> </div> <div> Calculating One-Dimensional Uneven-Distribution Probability 299 </div> <div> <br> </div> <div> Calculating Compound Probability 301 </div> <div> <br> </div> <div> Calculating 2D6 “Or Higher” Cumulative Probability 309 </div> <div> <br> </div> <div> Calculating the Probability of Doubles 310 </div> <div> <br> </div> <div> Calculating a Series of Single Events 311 </div> <div> <br> </div> <div> Calculating More Than Two Dimensions 316 </div> <div> <br> </div> <div> Calculating Dependent Event Probability 318 </div> <div> <br> </div> <div> Calculating Mutually Exclusive Event Probability 321 </div> <div> <br> </div> <div> Calculating Enumerated Probability with an Even Distribution 321 </div> <div> <br> </div> <div> Calculating Enumerated Probability with an Uneven Distribution 322 </div> <div> <br> </div> <div> Calculating Attributes Weights Based on Probability 325 </div> <div> <br> </div> <div> Calculating Imperfect Information Probability 327 </div> <div> <br> </div> <div> Perception of Probability 328 </div> <div> <br> </div> <div> Probability Uncertainty 328 </div> <div> <br> </div> <div> Mapping Probability 329 </div> <div> <br> </div> <div> Attributes of a Random Event 329 </div> <div> <br> </div> <div> Mapping Probability Examples 331 </div> <div> <br> </div> <div> Measuring Luck in a Game 334 </div> <div> <br> </div> <div> Testing for Pure Luck 335 </div> <div> <br> </div> <div> Testing for Luck Dominant 335 </div> <div> <br> </div> <div> Testing for Luck Influenced 336 </div> <div> <br> </div> <div> Adjusting the Influence of Luck 336 </div> <div> <br> </div> <div> Chaos Factor 338 </div> <div> <br> </div> <div> Further Steps 338 </div> <div> <br> </div> <div> Chapter 20 Next Steps 341 </div> <div> <br> </div> <div> Practice 342 </div> <div> <br> </div> <div> Analyze Existing Games 342 </div> <div> <br> </div> <div> Play New Games 342 </div> <div> <br> </div> <div> Modify Existing Games 342 </div> <div> <br> </div> <div> Work on Your Game 343 </div> <div> <br> </div> <div> Keep Learning 343 </div> <div> <br> </div> <div> Index 345 </div> <div> <br> </div>