+ All Categories
Home > Documents > Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions...

Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions...

Date post: 27-Jun-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
83
CS/INFO 4154: Analytics-driven Game Design Procedural Content Generation Lecture 8:
Transcript
Page 1: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

CS/INFO 4154:Analytics-driven Game Design

Procedural Content Generation

Lecture 8:

Page 2: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

The Dream

Design games automaticallyPlay games automatically

AI Procedural Content Generation

Page 3: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Programming and Design

Source: Mojang

Page 4: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Today you will learn Two bread-and-butter techniques

Perlin Noise Grammars

Standard Graph Shape

How Minecraft’s terrain generation works*

*to the extent that has been discussed publicly

Page 5: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Rogue

Page 6: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Spelunky

Page 7: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Diablo II

Source: www.dlcompare.com

Page 8: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Spore

Source: spore.wikia.com

Page 9: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Spore

Source: spore.wikia.com

Page 10: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Skyrim Random quests:

giver location challenges redeemer

Page 11: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

A* Mario

Page 12: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Infinite Mario

Page 13: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Minecraft

Source: Mojang

Page 14: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Clicker Heroes

Page 15: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Why? Creating content is a bottleneck Create designs that you wouldn’t have thought of Replayability

Page 16: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Challenges Quality

Good? Fun? Beatable? Interesting? As good as human-designed content?

Consistency - is it always acceptable? Speed

Page 17: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Challenges

“You’ve just taken a really hard problem and made it harder”

Source: spore.wikia.com

Kate Compton

Page 18: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Minecraft

Source: Mojang

Page 19: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Management of Randomness

more random

more structured

Random numbers

Page 20: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Random numbers• Ugly• Unstructured

Page 21: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Actual surface of the earth

Source: Google maps

Page 22: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Management of Randomness

more random

more structured

Perlin Noise

Random numbers

Page 23: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Perlin Noise

Page 24: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Source: Giliam de Carpentier

Page 25: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 26: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 27: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

How can this work in Minecraft?

Source: Mojang

Page 28: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Idea: Do this on a grid

Page 29: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 30: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 31: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 32: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 33: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 34: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 35: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 36: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

0

0 .6

.3

Page 37: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

0

0 .6

.3

.15

Page 38: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Source: http://blog.movingblocks.net/2011/06/11/goodbye-perlin-noise-2d-perlin-noise-3d/

Page 39: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Management of Randomness

more random

more structured

Perlin Noise

Random numbers

Grammars

Page 40: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Grammars

S → a a

Page 41: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Grammars

S → a | b ab

Page 42: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Grammars

S → Sb | aSSbSbbabb

S → SbS → SbS → Sa

Page 43: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Grammars

S → Sb | a aababbabbb

Page 44: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Grammars

S → aScS → b

abcaabbccaaabccc

Page 45: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Grammars

S → X | YX → XX | abY → YY | bc

ababababbcbc

bcbcbcbcbc

NOT: ababbc

Page 46: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Zelda: Twilight Princess

Source: ZorZelda Youtube

Page 47: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Missions

Page 48: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Create Game World

Interesting Decisions?

Page 49: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Create Game World

ChooseDecisions

Page 50: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Graph Grammars

Page 51: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Level Task

Task Task Task

Page 52: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Key DoorTask

Page 53: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Key Door

KeyDoor

Key

Page 54: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 55: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 56: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Shape Grammar

A

B

Page 57: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Shape Grammar

B

Page 58: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Shape Grammar

Page 59: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 60: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 61: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Example: The Triplicates

Page 62: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Management of Randomness

more random

more structured

Perlin Noise

Random numbers

Grammars

Constraint satisfaction

Page 63: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Maze

Page 64: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Constraints must have an entrance must have an exit must have a path to get to the exit cells have four walls walls can be open or closed exterior walls (except entrance/exit) must be closed can get from cell to adjacent cell if wall is open

Page 65: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 66: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 67: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Source: Gillian Smith, Launchpad

Page 68: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Management of Randomness

more random

more structured

Perlin Noise

Random numbers

Grammars

Constraint satisfaction

Page 69: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Summary Procedural content generation

enhances design power enables some games (Minecraft) combines programming and design

Key techniques Perlin Noise Grammars

Page 70: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Alpha Prototype Thursday! Three playable levels

Page 71: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

This may go badly

Page 72: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Alpha Postmortem 10/6 6-8 minute presentation Pick two central design questions. For each question, state:

The design question Why is this question important? Why were you unsure about the answer? What methods did you use? (Q&A, survey, think-aloud) What results did you obtain? What will you change about the game?

You must use a survey

Page 73: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Alpha Postmortem Peer Feedbackwill be LIKE THIS, not necessarily these questions

1. What are the two design questions? ___________2. What methods did the team use for the first

question? ________________________________3. What were the results? _____________________

1. Are you convinced? YES SORT OF NO 4. What will the team change? _________________

1. Are you convinced this will work?YES SORT OF NO

Page 74: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Traditional playtesting methods Direct observation Think-alouds Q&A Surveys

Page 75: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Direct Observation

Page 76: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.
Page 77: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Think-alouds

I don’t know what to do

I keep catching on fire and dying

Why are you making me do this

Page 78: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Questions and Answers

What happened when you went through the portal?

I can freeze water now

Page 79: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Survey

Deciding where to go 1 2 3 4 5Jumping on platforms 1 2 3 4 5Defeating enemies 1 2 3 4 5Solving puzzles 1 2 3 4 5Using the controls 1 2 3 4 5

How stressful were each of the following? (1 = not much, 5 = a lot)

Page 80: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

More specific survey

Freezing 1 2 3 4 5Heating 1 2 3 4 5Flash Freezing 1 2 3 4 5Flash Heating 1 2 3 4 5

How useful was each ability? (1 = not much, 5 = a lot)

Page 81: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Team meetings 10/7 and 10/8

Page 82: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Revised Plan 10/8

Page 83: Procedural Content Generation - Cornell University › courses › cs4154 › 2015fa › sessions › ... · Procedural Content Generation Lecture 8: The Dream Play games automatically.

Group Activity Pick playtesting questions

What methods will you use? Who will be responsible for each method / question?

Make a survey


Recommended