CS248. Game Mechanics

Similar documents
Situational Awareness: Terrain Reasoning for Tactical Shooter A.I

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams

Spatial Data Structures

Spatial Data Structures

Spatial Data Structures

Spatial Data Structures

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Spatial Data Structures

Overview. Animation is a big topic We will concentrate on character animation as is used in many games today. humans, animals, monsters, robots, etc.

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Anatomy Project. Adi Mesika, Dima Trushin, Ksenia Kaganer [GIP] [234329] [ ]

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

High level NavMesh Building Components

3D Reconstruction with Tango. Ivan Dryanovski, Google Inc.

CS 354R: Computer Game Technology

Pathfinding. Pathfinding Planned Movement

COMP 175: Computer Graphics April 11, 2018

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

Black Desert Online. Taking MMO Development to the Next Level. Dongwook Ha Gwanghyeon Go

Minecraft Due: March. 6, 2018

Table of Contents. Questions or problems?

Minecraft Due: Mar. 1, 2015

CS 378: Computer Game Technology

Computer Graphics 1. Chapter 9 (July 1st, 2010, 2-4pm): Interaction in 3D. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Senior Project Write Up

Adaptive Point Cloud Rendering

MultiAR Project Michael Pekel, Ofir Elmakias [GIP] [234329]

3.3 Interpolation of rotations represented by quaternions

Adobe Premiere Pro CC 2018

Assignment 4: Flight Simulator

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Character Animation 1

GPGPU Applications. for Hydrological and Atmospheric Simulations. and Visualizations on the Web. Ibrahim Demir

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

UI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI)

Ray Tracing Acceleration. CS 4620 Lecture 20

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

Quaternions & Rotation in 3D Space

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking

Computer Graphics I Lecture 11

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

Navigation and Metric Path Planning

V-RAY NEXT FOR 3DS MAX

Hierarchical Dynamic Pathfinding for Large Voxel Worlds

Normal Maps and Cube Maps. What are they and what do they mean?

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Hidden surface removal. Computer Graphics

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Animation. Itinerary. What is Animation? What is Animation? Animation Methods. Modeling vs. Animation Computer Graphics Lecture 22

TSBK03 Screen-Space Ambient Occlusion

Navigation Mesh based Pathfinding for large crowds

Animation. Itinerary Computer Graphics Lecture 22

Image Processing: Motivation Rendering from Images. Related Work. Overview. Image Morphing Examples. Overview. View and Image Morphing CS334

Pipeline Operations. CS 4620 Lecture 14

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

Platform Games Drawing Sprites & Detecting Collisions

You can also export a video of what one of the cameras in the scene was seeing while you were recording your animations.[2]

Real-Time Rendering. Tomas Möller Eric Haines. A K Peters Natick, Massachusetts

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

Shadows in the graphics pipeline

Game Design Unity Workshop

Chapter 5.4 Artificial Intelligence: Pathfinding

New Features in BCC AVX 4.0

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Efficient Path Finding Method Based Evaluation Function in Large Scene Online Games and Its Application

CS GAME PROGRAMMING Question bank

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Time-sliced pathfinding on arbitrary polygon surfaces

Wed, October 12, 2011

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

Applications of Explicit Early-Z Culling

How to create video effects

Visibility and Occlusion Culling

Performance OpenGL Programming (for whatever reason)

Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow. Takahiro Harada, AMD 2017/3

Traffic/Flocking/Crowd AI. Gregory Miranda

Advanced 3D Game Programming with DirectX* 10.0

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

CS 354R: Computer Game Technology

Sign up for crits! Announcments

Advanced Computer Graphics Transformations. Matthias Teschner

MOTION CAPTURE DATA PROCESSING - MOTION EDITING / RETARGETING - MOTION CONTROL / GRAPH - INVERSE KINEMATIC. Alexandre Meyer Master Informatique

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

Graphics for VEs. Ruth Aylett

CS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

LOD and Occlusion Christian Miller CS Fall 2011

Virtual Environments

Conemarching in VR. Johannes Saam Mariano Merchante FRAMESTORE. Developing a Fractal experience at 90 FPS. / Framestore

CSE 165: 3D User Interaction. Lecture #5: Selection

Transcription:

CS248 Game Mechanics

INTRODUCTION TOM WANG 2007 BS/MS CS

KEY GAME MECHANICS * * * * * WORLD BUILDING CONTROLS CAMERA AI PERFORMANCE

WORLD BUILDING

WORLD BUILDING Set the atmosphere and tone of the game.

WORLD BUILDING Fill the world with engaging characters and landmarks.

WORLD BUILDING Teach players the rules of the world: concepts and interactions.

WORLD BUILDING Guide the player by defining playable space and boundaries.

WORLD BUILDING Guide the player by defining playable space and boundaries.

WORLD BUILDING Look for content to accelerate your development and iteration speed.

WORLD BUILDING Look for content to accelerate your development and iteration speed.

WORLD BUILDING Within VR, consider human-accurate scale to preserve world immersion

WORLD BUILDING Within VR, use dimmer lighting & colors to ensure highest comfort

WORLD BUILDING Take advantage of level design techniques Sightlines Landmarks Composition [Rule of Thirds] Symmetry http://bobbyross.com/blog/2014/6/29/the-visual-guide-for-multiplayer-level-design

WORLD BUILDING For performance, utilize level of detail techniques

WORLD BUILDING Utilize plug-ins for specialized needs (sound engine, VR audio, physically based rendering, procedural trees, terrain generation)

CAMERA

CAMERA Focus the attention in the world and highlight key areas and objectives.

CAMERA Position [x, y, z] Rotation Pitch / Roll / Yaw Rotation Matrix Beware Gimbal Lock Quaternion Direction Vector

CAMERA [SIDE-SCROLLER] Appears to have depth with background or parallax, usually 2D playable space. Natural fit for mobile applications

CAMERA [TOP-DOWN] Represents information with limited perspective, useful for maps, game boards, user interface Natural fit for mobile applications

CAMERA [FIRST-PERSON] View that builds immersion and tactile feel for the player. Field of View (70 to 110 degrees) Enables more precise motion & controls Natural fit for PC or VR applications

CAMERA [THIRD-PERSON] Field of View: 90 to 130 degrees Best for action adventure games More objects on screen vs. first-person Highlights environment and character actions well: climbing, jumping, cover

CAMERA [VR] Use human field of view at eye height Keep camera motion smooth & steady - don t shake or bob the camera Avoid motion blur, depth of field, etc. Adjust for interpupillary distance and keep straps tight Stationary more accessible than room-scale

CAMERA Spherical interpolation for smooth motion Use transparency for objects in near and far clip planes Bump the camera to safe spots Try Unity Plugin itween for splines and motion paths

CAMERA For performance, enable occlusion culling to stop rendering occluded geometry

CONTROLS

CONTROLS Help the player interact with the game world and characters.

CONTROLS [PC] Shooter Platformer Role Playing Game

CONTROLS [PC / WEB] Simulation Turn-Based Strategy Massively Multiplayer Online [MMO]

CONTROLS [MOBILE] Swipe Tilt Touch

CONTROLS TIPS Design controls to feel intuitive and match expectations for the player. Design controls to allow customization. Design controls to be consistent and responsive. Design controls to allow the player to build mastery and feel empowered.

CONTROLS DESIGN Fitts s Law Time required to rapidly move to a target area is a function of the distance to the target and the size of the target. Paul M. Fitts (1954). The information capacity of the human motor system in controlling the amplitude of movement. Journal of Experimental Psychology, volume 47, number 6, June 1954, pp. 381 391. (Reprinted in Journal of Experimental Psychology: General, 121(3):262 269, 1992) Hick s Law Time required to make a decision when given a set of possible choices. More choices will increase decision time logarithmically. Hick, W. E. (1 March 1952). "On the rate of gain of information". Quarterly Journal of Experimental Psychology 4 (1): 11 26. doi:10.1080/17470215208416600.

AI

AI Bring the game world to life with interesting NPCs and behaviors.

AI Decision Trees Finite State Machines are commonly used Search all child nodes in tree to evaluate choices Consistent, deterministic behavior

AI Decision Trees Performance. Evaluating nodes can get costly with limited CPU Need to budget against scripts, sound, physics Can be improved with cached info, pruning State Management. Every new game feature requires new states Connecting states requires O(n^2) transitions

AI Behavior Trees Hierarchical State Machines are often used Fewer states to evaluate vs decision tree Can use information from self or group Squads can share data and roles Evaluates dynamic behaviors by priority Maslow s Hierarchy of Needs Can introduce probability for randomness

AI Behavior Trees Heuristic Tuning. Requires constant re-balancing of priorities Indecision. AIs rapidly change strategies with new data Can be mitigated with hysteresis

AI Neural Network Learned Data Set & Identify Nearest Behavior Radial Basis Function / Nearest Neighbor Can learn information over AI or human trials Can leverage cloud Big Data platforms

AI Neural Network Data Size. Requires lots of experimentation for fitness Selecting parameters can be tricky May require a large amount of data storage Data may invalidate as game changes Implementation Complexity. Hard to debug with large # of parameters Hard to reproduce poor behaviors [http://techblog.netflix.com/2014/02/distributed-neural-networks-with-gpus.html ]

NAVIGATION

NAVIGATION Straight Line with Local Avoidance Naïve and Simple - Plan a straight line from agent to goal If collision detected, select a random direction Paths are non-optimal and can get stuck in corners.

NAVIGATION A* Gridmap Separate the world into grids and assign a travel cost to each grid. Keep an open set of each path, recursively search by adding neighbor grids and keep a running travel cost. Once a path found, cull other paths that are more expensive. Doesn t handle dynamic obstacles well or obstacles that don t fit neatly within a grid. Grid gets expensive to store in 3D with voxels

NAVIGATION Navigation Mesh Process the world and separate into navigable nodes and polygons ( navmesh baking ) Watershed Partitioning Monotone Partitioning Strategy - find shortest path of nodes to goal Tactics Apply path smoothing for realistic turns Add off-mesh links for jumps, one-way drops Support a navmesh per navigation agent size Repeller fields to avoid obstacles or attractor fields to encourage flocking Clever partitioning to avoid sliver triangles

Q&A twang@riotgames.com