Procedural Content Generation

Similar documents
Procedural Content Generation

Game Artificial Intelligence ( CS 4731/7632 )

the gamedesigninitiative at cornell university Lecture 3 Design Elements

the gamedesigninitiative at cornell university Lecture 3 Design Elements

the gamedesigninitiative at cornell university Lecture 3 Design Elements

Chapter 4 Summary Working with Dramatic Elements

INTRODUCTION TO GAME AI

Lineage2 Revolution s Gameplay Tips for Beginners

CS 680: GAME AI INTRODUCTION TO GAME AI. 1/9/2012 Santiago Ontañón

INTRODUCTION TO GAME AI

the gamedesigninitiative at cornell university Lecture 10 Game Architecture

the gamedesigninitiative at cornell university Lecture 26 Storytelling

the gamedesigninitiative at cornell university Lecture 5 Rules and Mechanics

the gamedesigninitiative at cornell university Lecture 5 Rules and Mechanics

the gamedesigninitiative at cornell university Lecture 25 Storytelling

COMP 400 Report. Balance Modelling and Analysis of Modern Computer Games. Shuo Xu. School of Computer Science McGill University

Unit 12: Artificial Intelligence CS 101, Fall 2018

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories

CS248 : PRODUCT DESIGN FEB 2017

Structure & Game Worlds. Topics in Game Development Spring, 2008 ECE 495/595; CS 491/591

What is Nonlinear Narrative?

ROGUELIKE SOLITAIRE THE HACK'N'SLASH ADVENTURE

Documentation and Discussion

the gamedesigninitiative at cornell university Lecture 23 Strategic AI

Table of Contents. TABLE OF CONTENTS 1-2 INTRODUCTION 3 The Tomb of Annihilation 3. GAME OVERVIEW 3 Exception Based Game 3

IMGD Technical Game Development I: Introduction. by Robert W. Lindeman

Who am I? AI in Computer Games. Goals. AI in Computer Games. History Game A(I?)

IMGD Technical Game Development I: Introduction

Key Abstractions in Game Maker

Introduction Choose and Tell: Legends

..\/...\.\../... \/... \ / / C Sc 335 Fall 2010 Final Project

G54GAM Coursework 2 & 3

IMGD Technical Game Development I: Introduction. by Robert W. Lindeman

the gamedesigninitiative at cornell university Lecture 28 Game Analytics

Introduction. Contents

IMGD 1001: Fun and Games

Core Game Mechanics and Features in Adventure Games The core mechanics in most adventure games include the following elements:

Simple Search Algorithms

Algorithmique appliquée Projet UNO

STEEMPUNK-NET. Whitepaper. v1.0

REQUIRED RETAKE INSTRUCTIONS ENG100: Classification and Division

Individual Test Item Specifications

IMGD 1001: Fun and Games

Mobile roguelikes - UI, design and the Android landscape IRDC 2012 London

DUNGEON THE ADVENTURE OF THE RINGS

How Representation of Game Information Affects Player Performance

Emily Short

Procedural Level Generation for a 2D Platformer

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón

Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software

the gamedesigninitiative at cornell university Lecture 6 Uncertainty & Risk

Chapter 7A Storytelling and Narrative

5.1 State-Space Search Problems

IMGD 1001: Level Design

Automated level generation and difficulty rating for Trainyard

NWN Toolset Module Construction Tutorial

CS 354R: Computer Game Technology

CREATURE INVADERS DESIGN DOCUMENT VERSION 0.2 MAY 14, 2009

Transitioning From Linear to Open World Design with Sunset Overdrive. Liz England Designer at Insomniac Games

Dungeon Crawl Classics #9 Dungeon Geomorphs

the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra

Intro to Interactive Entertainment Spring 2017 Syllabus CS 1010 Instructor: Tim Fowers

CS 480: GAME AI INTRODUCTION TO GAME AI. 4/3/2012 Santiago Ontañón

the gamedesigninitiative at cornell university Lecture 4 Game Grammars

Learning Artificial Intelligence in Large-Scale Video Games

Towards a Generic Method of Evaluating Game Levels

Make sure your name and FSUID are in a comment at the top of the file.

CS 32 Puzzles, Games & Algorithms Fall 2013

FPS Assignment Call of Duty 4

Grading Delays. We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can

Evolving Missions to Create Game Spaces

User Interfaces. What is the User Interface? Player-Centric Interface Design

Tac 3 Feedback. Movement too sensitive/not sensitive enough Play around with it until you find something smooth

SysReBot ver System ReBot Nguyen Trung Hieu & Maxim Zavadskiy

CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS

Artificial Intelligence Paper Presentation

the gamedesigninitiative at cornell university Lecture 2: Nature of Games

An Approach to Maze Generation AI, and Pathfinding in a Simple Horror Game

AI Approaches to Ultimate Tic-Tac-Toe

Contents. Game Concept

Assignment Cover Sheet Faculty of Science and Technology

Heuristics, and what to do if you don t know what to do. Carl Hultquist

GAME DESIGN DOCUMENT HYPER GRIND. A Cyberpunk Runner. Prepared By: Nick Penner. Last Updated: 10/7/16

Building a Better Battle The Halo 3 AI Objectives System

SETTING THE STAGE FOR THE NEED OF A VIDEO GAME GENRE VOCABULARY

introduction to the course course structure topics

User manual of Vairon's Wrath.

Patterns and Graphing Year 10

Who Am I? Lecturer in Computer Science Programme Leader for the BSc in Computer Games Programming

VARIANT: LIMITS GAME MANUAL

TGD3351 Game Algorithms TGP2281 Games Programming III. in my own words, better known as Game AI

Vectrex Dark Tower. The games are as follows: Skill Level Keys Provided. Vectrex Dark Tower

Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen

Swing Copters AI. Monisha White and Nolan Walsh Fall 2015, CS229, Stanford University

SF2972: Game theory. Mark Voorneveld, February 2, 2015

Augmented Storytelling

CS Programming Project 1

The Gold Standard: Automatically Generating Puzzle Game Levels

Chapter 14 Optimization of AI Tactic in Action-RPG Game

Level 3 Extended Diploma Unit 22 Developing Computer Games

Transcription:

Lecture 13 Generation

In Beginning, There Was Rogue 2

In Beginning, There Was Rogue Roguelike Genre Classic RPG style Procedural dungeons Permadeath 3

A Brief History of Roguelikes Precursors (1978) Beneath Apple Manor Dungeon (unfamous one) Like Rogue, but less famous Limited content generation Rogue (1980) Multiplatform launch Immediate Copycats Hack ( 82), NetHack ( 87) Moria ( 83), Angband ( 90) Island of Kesmai (1985) Legends of Kesmai (1996) The Modern Revival All very close in playstyle Open source development Middle Earth med Massively (~80) multiplayer But content less procedural Relaxing RPG requirement 4

Changing Perspectives on Permadeath Advantages Disadvantages Greater challenge Used as a badge of honor Greater discouragement Seen as a personal failure Higher emotional stakes Easy to instill fear & horror Missed game content Cannot progress in story 5

Changing Perspectives on Permadeath Advantages Disadvantages Make dying expected & Greater challenge inevitable Used as a badge of honor Greater discouragement Seen as a personal failure Higher emotional stakes Make each Easy to instill fear & horror session a Missed game content Cannot progress in story complete experience 6

Changing Perspectives on Permadeath Advantages Disadvantages Make dying expected & Greater challenge inevitable Used as a badge of honor Greater discouragement Seen as a personal failure Higher emotional stakes Make each Easy to instill fear & horror session a Content complete Generation experience Missed game content Cannot progress in story 7

Issues with Roguelikes Design is often horizontal Many verbs, game elements Little coupled behavior Each play is a slice Access to limited elements Work with what you get Expensive to create Requires a lot of content But historically just text Difficult to balance 8

Issues with Roguelikes Design is often horizontal Many verbs, game elements Little coupled behavior Each play is a slice Access to limited elements Work with what you get for Modern Games? Expensive to create Requires a lot of content But historically just text Difficult to balance 9

Main Types of Simulation World Generation Puzzle Generation Story Generation Wiki: http://pcg.wikidot.com Dynamic Challenges Adaptive Difficulty 10

Simulation Complexity appears random Often a physical process Fires, Fluids, Wear Terrain generation Artificial life Teleological Run full simulation Accurate; hard to control Ontological Create reasonable output Inaccurate; easy to control 11

Simulation Complexity appears random Often a physical process Fires, Fluids, Wear Terrain generation Artificial life Teleological Run full simulation Scientific Computing Accurate; hard to control Ontological Create reasonable output Ad Hoc Algorithms Inaccurate; easy to control 12

Simulation Complexity appears random Often a physical process Fires, Fluids, Wear Terrain generation Artificial life Teleological Run full simulation Scientific Computing Accurate; hard to control Ontological Create reasonable output Ad Hoc Algorithms Inaccurate; easy to control Minimal effect on gameplay Often largely aestic Hard to control difficulty Lot of work for little payoff 13

World Generation Often thought of as map generation But really generation of game geography Particularly broad category of PCG Basic Format Start with basic geography building blocks Include combination rules for blocks Build until reach a stopping point Algorithms vary widely 14

Example: NetHack 15

Example: NetHack Room Room 16

Example: NetHack Room Room Hallway 17

Example: NetHack Exit Room Room Hallway Entrance 18

Example: Vertical Drop Heroes Movement Can move left-right Down arrow to stomp/fall Cannot jump at all! Combat Space to fire weapon Weapon depends on class Free cage to switch class Goal Collect treasure Reach (a possible) exit 19

Example: Vertical Drop Heroes 20

Example: Vertical Drop Heroes What if a platform were here? 21

The Reachability Problem Levels are effectively graphs Edges are player choices Choices are discretized Fully connected (why?) PCG might a graph with a lot of dead ends with a lot of backtracking that is unconnected Reachability is not just a spatial issue. Need to remember goal Should always be reachable Else, reset must be painless 22

Example: Spelunky 23

Ensuring Reachability Two Options: Limit generation to reachable game states Verify goal is reachable or regenerate 24

Ensuring Reachability Two Options: Limit generation to possibly reachable states Verify goal is reachable or regenerate 25

Grammars: A Formal Approach Notation Example Set N of nonterminals Set S of terminal symbols Set P of production rules Have form A => B A, B are words of symbols To generate a value Start with word XAY Pick any rule A => B Replace with XBY Repeat until only terminals N = { S, B} S = {a, b, c} P is list of rules S => absc S => abc Ba => ab Bb => bb Possible outputs abc, aabbcc, aaabbbccc, 26

Grammars on Graphs Symbols are colored nodes Eir terminal or not Edges replace word order Words are now graphs Productions on subgraphs LHS is node+boundary RHS alters node Output built as before But rule matching harder Graph equivalency 27

Grammars on Graphs Symbols are colored nodes Eir terminal or not Boundary Edges replace word order Words are now graphs Node Productions on subgraphs LHS is node+boundary RHS alters node Output built as before But rule matching harder Graph equivalency 28

Grammars on Graphs Symbols are colored nodes Eir terminal or not Boundary Edges replace word order Words are now graphs Node Productions on subgraphs LHS is node+boundary Game Geography is a graph RHS alters node Output built as before But rule matching harder Graph equivalency 29

Puzzle Generation Basic puzzle structure Discrete actions/moves Moves applied in sequence Goal: get correct sequence Identify move sequences Could be a loose category Represent specific strategies Build up from sequences Start from solved state Invert moves (scrambling) Will require verification 30

Example: Lyne 31

Example: Lyne Backtrack Pattern 32

Story Generation Narrative is tightly crafted Must have emotional arc Very hard to generate But backstory is looser Collection of tales/subplots Combine to form a story Often displayed in a codex Much easier to generate Idea: Create list of subplots Pick some subset at a time Mix with NLG techniques 33

Example: Dwarf Fortress 34

Natural Language Generation Function that outputs language Given: complex set of data Outcome: comment on data Major area of CS research Comment requirements Must be simpler than data Should also be natural Examples Sports commentary Party combat chatter Intelligent townsfolk 35

NLG and Story Dialogue Often a set of canned text React to specific events NPC picks text as appropriate Text is parameterized What do we do, <name>? Someone killed <monster>! That was <numb> days ago. Choosing text to say Favor important events? Favor recent events? Random (pull-toy)? 36

Skyrim s Radiant Quest System Geography includes NPCs Mobile, removable location Dialogue is also a space System randomly choses Quest giver Quest location Location s challenges Quest redeemer Randomness is limited Lists appropriate to quest Depends on earlier actions Goals: Send to unexplored areas Adjust challenges to level Can never be missed Largely a success 37

Skyrim s Radiant Quest System Geography includes NPCs Mobile, removable location Dialogue is also a space System randomly choses Quest giver Quest location Location s challenges Quest redeemer Randomness is limited Lists appropriate to quest Depends on earlier actions Guarantees Goals: Send to unexplored areas reachability Adjust challenges to level Can never be missed Largely a success 38

Skyrim s Radiant Quest System Geography includes NPCs Mobile, removable location Dialogue is also a space System randomly choses Quest giver Quest location Location s challenges Quest redeemer Randomness is limited Lists appropriate to quest Depends on earlier actions Goals: Send to unexplored areas Adjust challenges to level Can never be missed Largely a success 39

Dynamic Challenges Challenges that can change Become easier or harder Just be different ATK 1 DFN 0 HP 5 Example: Autoleveling NPCs have statistics Adjust to character level Rat: Level 1 Difficulty always reasonable Allows true open world Not always popular Can lead to design recycling ATK 3 0 DFN 1 0 HP 9 0 Sense of risk is lost Rat: Level 50 40

Or Types of Dynamic Challenges Composite Challenges Encounter is a collection of NPCs, obstacles Add or remove individuals from encounter Dynamic NPC AI NPCs have a choice of AI scripts Choose one that matches player Player Boosting Change result of player actions, interactions Modifications make challenges easier/harder 41

Assigning Dynamic Challenges Player Challenge Extract feature vector from play history Match challenge to play style Parameterize challenge difficulty (a 1, a 2, a 3,, a n ) (b 1, b 2, b 3,, b k ) 42

Assigning Dynamic Challenges Player Challenge Matching Function is hardest to balance Extract feature vector from play history Match challenge to play style Parameterize challenge difficulty (a 1, a 2, a 3,, a n ) (b 1, b 2, b 3,, b k ) 43

Adaptive Difficulty Player Challenge Extract feature vector from play history Match via machine learning Parameterize challenge difficulty (a 1, a 2, a 3,, a n ) (b 1, b 2, b 3,, b k ) 44

Adaptive Difficulty Manually define gameplay model Metrics that identify player behavior Parameters that define challenge behavior Also metrics to evaluate player success or failure Goal: Use learning to find player-challenge match-up Use playtesting/beta to get a large training set Create an initial model from se results Adjust in game according to current player Still largely an academic exercise 45

Summary Procedural content started with Rogue(likes) Tightly coupled with permadeath, horizontal design Becoming fashionable once again Many applications to modern game design World Generation Puzzle Generation Story Generation Dynamic Challenges 46