23
Using Commonsense Reasoning in Video Games Ottavio Cautilli

Ottavio cautilli

Embed Size (px)

Citation preview

Page 1: Ottavio cautilli

Using Commonsense Reasoning in Video Games

Ottavio Cautilli

Page 2: Ottavio cautilli

There is a problem facing the video game industry: 3D environments are getting dramatically more realistic, but they are not getting any easier for

artists to create

The Dramatic Improvement in Video Game Realism

Page 3: Ottavio cautilli

The Dramatic Improvement in Video Game Realism - Hardware

(2003)(1998)

In addition to looking more like jet engines, graphics cards are improving at an incredible pace

Page 4: Ottavio cautilli

The Dramatic Improvement in Video Game Realism - Hardware

TNT

TNT2

GeForc

e2

GeForc

e3

GeForc

e4

GeForc

eFX

GeForc

eFX 6

800

Mil.

of T

riang

les/

Sec

NVIDIA is working under the philosophy of "Moore's Law Cubed"

Page 5: Ottavio cautilli

The Dramatic Improvement in Video Game Realism - Software

(1991) (1994) (1996)

(1999) (2004)

Wolfenstein 3D by id DOOM by id Quake by id

Quake III by id DOOM 3 by id

Page 6: Ottavio cautilli

The environments are more realistic (texture mapping, anti-aliasing, pixel and vertex shading, improved shadow generation, increased memory bandwidth, increased fill rate…)

And they are also more complicated

The Dramatic Improvement in Video Game Realism

Page 7: Ottavio cautilli

The Dramatic Improvement in Video Game Realism – Complexity of Environments

(lots of stuff)

Morrowind by Bethesda Softworks, PC and Xbox

Page 8: Ottavio cautilli

Morrowind took 3 years to develop in part because the massive game environment was generated by hand

Result: Increased Development Time

Page 9: Ottavio cautilli

The Complexity of Level Editors

Editors to create 3D environments represent some of the most complex software applications ever created

Page 10: Ottavio cautilli

The Complexity of Level Editors: A Sea of Direct Manipulation

The Morrowind Construction Set

Page 11: Ottavio cautilli

The Complexity of Level Editors

Unfortunately, editors are not improving at a pace to compensate for the increased complexity of 3D

environments

Page 12: Ottavio cautilli

A CS100 Solution

Some games automatically create their own environments, but the result is usually as simplistic as randomly

generating a maze

Page 13: Ottavio cautilli

A New Solution

We are trying to use Common Sense Reasoning to automatically generate rich and immersive 3D

environments

Page 14: Ottavio cautilli

Rationale

• Save development time and money• Create dynamic and “endless” worlds

• Expand the capabilities of Common Sense Reasoning

Rationale

Page 15: Ottavio cautilli

Project Goals

Project Goals

• Automatically place objects in a 3D world.• Develop a set of common sense predicates that

accurately describes object placement.

Page 16: Ottavio cautilli

Human Computer Interaction

Um, I want a table with a vase on it

(X,Y,Z)?

There is a disconnect between how people express object placement and how computers do. Common Sense knowledge will allow computers to render

environments without requiring specific instructions for every action

Page 17: Ottavio cautilli

System Architecture

Level Editor with Common Sense

Plug-in File

Render the environment in the Morrowind Engine

Algorithms to convert predicates to XYZ coordinatesand intelligently place objects in a 3D world

Knowledge about objects

Natural Language StatementsNatural Language Statements

XML file with a listof objects

XML file with RDF predicates about Objects

(automatically generate)

Page 18: Ottavio cautilli

Common Sense Predicates

Common Sense Predicates

• Develop a set of predicates that can describe object placement.

• E.g. On top of, Around, Beside, etc…

• How people describe object locations:– “the chairs around the table”– “the vase on top of the table”

Page 19: Ottavio cautilli

Common Sense Predicates

Common Sense Predicates

On Top of Below

Center of Corner of

Edge of Around

Inside Beside

In front of Behind

Against

Page 20: Ottavio cautilli

Common Sense Predicates

Dealing with Multiple Predicates

• Vase goes on top of a table.• Vase goes in the center of a table.• Place the vase on top of and in the center of a table.

Page 21: Ottavio cautilli

Common Sense Predicates

Dealing with Fuzzy Predicates

• What does “edge of” mean?• How close to the edge? It depends on the object• E.g. plates around edge of a table vs. frosting around

edge of a cake

• Requires more common sense about object properties, like don’t want plates to fall off.

Page 22: Ottavio cautilli

Our Proof of Concept

The system makes mistakes, this is true with all applications that use common sense reasoning

However, we have a working proof of concept

Page 23: Ottavio cautilli

Example Scene

These objects were automatically placed using Common Sense Reasoning