Using Commonsense Reasoning in Video Games. There is a problem facing the video game industry: 3D environments are getting dramatically more realistic,

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Advertisements

Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
1 Interactive Fiction CIS 487/587 Bruce R. Maxim UM-Dearborn.
3D Graphics Rendering and Terrain Modeling
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics February 26, 2007.
Control Flow Virtualization for General-Purpose Computation on Graphics Hardware Ghulam Lashari Ondrej Lhotak University of Waterloo.
Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges Tomas Akenine-Möller Ulf Assarsson Department of Computer Engineering, Chalmers University.
Level 2 Mobile and Games Programming Modules Cathy French K233.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
The Graphics Pipeline CS2150 Anthony Jones. Introduction What is this lecture about? – The graphics pipeline as a whole – With examples from the video.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics? Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
Non-Photorealistic Rendering - This is the attempt to make a realistic scene or object look as if it were hand drawn.
0 Real-time Graphics: Issues and Trends in Games Tobi Saulnier CEO, 1 st Playable Productions November 5, 2007 Computer Graphics, Fall 2007.
Object Orientated Data Topic 5: Multimedia Technology.
3D Concepts Coordinate Systems Coordinates specify points in space 3D coords commonly use X, Y, & Z A vertex is a 'corner' of an object Different coordinate.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
Definition of Computer Graphics
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CSE 381 – Advanced Game Programming Basic 3D Graphics
Invitation to Computer Science 5th Edition
1 History of compiler development 1953 IBM develops the 701 EDPM (Electronic Data Processing Machine), the first general purpose computer, built as a “defense.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Computer Graphics I, Fall : What is Computer Graphics?
Object Orientated Data Topic 5: Multimedia Technology.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Geometric Modeling. Volumetric o Collection device obtains regular grid of measurement values Examples: CT, MRI, PET, Ultrasound o Values are interpreted/visualized.
CS-378: Game Technology Lecture #4: Texture and Other Maps Prof. Okan Arikan University of Texas, Austin V Lecture #4: Texture and Other Maps.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
What is Computer Graphics?. 2 Objectives In this lecture, we explore what computer graphics is about We will give a historical introduction.
1 Angel and Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 What is Computer Graphics? Sai-Keung Wong ( 黃世強 ) Computer Science National.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics?
Virtual Systems Engineering Course objective: To study methods for design and analysis of virtual systems What is a virtual system ? A virtual system is.
1 CS145 Lecture 24 What’s next?. 2  What questions does Computer Science study?  Where is programming and Computer Science headed? –With special emphasis.
Modeling, CG, and others Jyun-Ming Chen Fall 2001.
1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?
Learning in environments with agents we don’t control.
Course Overview  What is AI?  What are the Major Challenges?  What are the Main Techniques?  Where are we failing, and why?  Step back and look at.
On Effective Object Manipulation in Virtual Environments making scene design easier.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Welcome This is my e-portfolio on Introduction to Engineering Design. I am a student at Doshi STEM Institute in Syosset, New York. ______________________________________________________________.
Edison Gao 主讲人:高原. GameFinal A Next-Gen 3D Game Engine Edison Gao.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
David Luebke 1 7/8/2016 Real-Time Rendering CS 551-4/651-3 David Luebke.
How to use a Pixel Shader CMT3317. Pixel shaders There is NO requirement to use a pixel shader for the coursework though you can if you want to You should.
Computer Graphics Graphics Hardware
What is Computer Graphics?
Graphics Processor Graphics Processing Unit
Ying Zhu Georgia State University
Chapter 1 An overview on Computer Graphics
Chapter 1 An overview on Computer Graphics
Done Done Course Overview What is AI? What are the Major Challenges?
What is Computer Graphics?
What is Computer Graphics?
Computer Graphics.
Introduction to Computer Graphics with WebGL
Compiler Construction
Computer Graphics Graphics Hardware
What is Computer Graphics?
CS-378: Game Technology Lecture #4: Texture and Other Maps
Presentation transcript:

Using Commonsense Reasoning in Video Games

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

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

The Dramatic Improvement in Video Game Realism - Hardware NVIDIA is working under the philosophy of "Moore's Law Cubed"

The Dramatic Improvement in Video Game Realism - Software (1991)(1994)(1996) (1999) (2004) Wolfenstein 3D by id DOOM by idQuake by id Quake III by idDOOM 3 by id

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

The Dramatic Improvement in Video Game Realism – Complexity of Environments (lots of stuff) Morrowind by Bethesda Softworks, PC and Xbox

Morrowind took 3 years to develop in part because the massive game environment was generated by hand Result: Increased Development Time

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

The Complexity of Level Editors: A Sea of Direct Manipulation The Morrowind Construction Set

The Complexity of Level Editors Unfortunately, editors are not improving at a pace to compensate for the increased complexity of 3D environments

A CS100 Solution Some games automatically create their own environments, but the result is usually as simplistic as randomly generating a maze

A New Solution We are trying to use Common Sense Reasoning to automatically generate rich and immersive 3D environments

Rationale Save development time and money Create dynamic and “endless” worlds Expand the capabilities of Common Sense Reasoning Rationale

Project Goals Automatically place objects in a 3D world. Develop a set of common sense predicates that accurately describes object placement.

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

System Architecture Level Editor with Common Sense Plug-in File Render the environment in the Morrowind Engine Algorithms to convert predicates to XYZ coordinates and intelligently place objects in a 3D world Knowledge about objects Natural Language Statements XML file with a list of objects XML file with RDF predicates about Objects (automatically generate)

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”

Common Sense Predicates On Top ofBelow Center ofCorner of Edge ofAround InsideBeside In front ofBehind Against

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.

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.

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

Example Scene These objects were automatically placed using Common Sense Reasoning

Future Work We are now exploring to what extent these algorithms can scale to more complicated environments