Here are the main topics covered since the midterm. Most are covered in the Art of Game Design book (AGD) or the Data-Oriented Design book (DOD). The ln slides are based on the AGD book, the lndod slides are based on the DOD book, and the CO slides are based on the First Edition of the book at book.prototools.net. Topic Chapter Slides ----- ------- ------ The Interface AGD 15 ln15 provide feedback, transparency, information channels, dimensions, modes, interface design Stories in Games AGD 17 ln17 string of pearls, story machine, multiple endings, goals, obstacles, conflicts, simplicity and transcendence, hero's journey, changing the story Indirect Control AGD 18 ln18 constraints, goals, interface, visual design, characters, music, collusion Guiding the Player CO13 direct guidance indirect guidance instructions calls to action map or GPS guidance pop-ups direct guidance needs to be immediate, scarce, brief, clear lots of examples of indirect guidance Transmedia Worlds AGD 19 ln19 action figures, power of Pokemon, powerful worlds, evolution (Sherlock Holmes, Santa Claus) Game Characters AGD 20 ln20 book vs. movie vs. game characters, trend toward simple, physical, fantasy, the avatars, ideal form vs. blank slate, getting creative with characters, lists of traits, interpersonal circumplex, character web, status, power of voice, power of the face, character transformations, uncanny valley Game Space AGD 21 ln21 ways to organize game space, unnamed quality, properties of living structures, real vs. virtual architectures, unit of scale, third-person distortion Data Oriented Design DOD 1 (Data-Oriented Design) lndod1 Flow of data through hardware, code and data not equally important, caches, many instances of objects, https://www.dice.se/wp-content/uploads/2014/12/Introduction_to_Data-Oriented_Design.pdf http://harmful.cat-v.org/software/OO_programming/_pdf/Pitfalls_of_Object_Oriented_Programming_GCAP_09.pdf Putting data in arrays instead of as values of variables in classes Relational Databases DOD 2 (Relational Databases) lndod1 reduces caches misses, Organize arrays like tables in databases, 1st Normal form, 2nd Normal form, 3rd Normal form As CPU improve faster than memory, old techniques of avoiding latency are relevant again Existential Processing DOD 3 (Existential Processing) lndod2 elimination of flow control, don't use booleans, updates of different kinds can be done at different rates, don't use enums quite as much, use a table for each enum value, saves switch calls, dynamic runtime polymorphism, event handling Finite State Machines lndod3 (Bases on source code, not chapter with this title) Have a list (array) of all the machines in the same state, reduces the number of update calls to get all machines updated Component Based Objects DOD 4 (Component based objects) lndod3 View big objects as containers of little objects, data in small object belongs together, all the small objects of the same type can be updated together, managers do this Searching DOD 6 (Searching) lndod3 data retrieval time may be more important than instruction execution time, linear search can be faster than binary search Sorting DOD 7 (Sorting) lndod3 Radix sort, merge sort, quick sort, sorting networks