APB: Creating a Powerful Customisation System for a Persistent Online Action Game Maurizio Sciglio Simon Taylor.

Slides:



Advertisements
Similar presentations
A Real Time Radiosity Architecture for Video Games
Advertisements

MapReduce Online Tyson Condie UC Berkeley Slides by Kaixiang MO
 Welke overwegingen komen daar bij kijken?  Multiplatform?  Install base -> potential user base.
Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
Real-Time Dynamic Wrinkles Caroline Larboulette Marie-Paule Cani GRAVIR Lab, Grenoble, France.
Text Scaffolds for Effective Surface Labeling Gregory Cipriano and Michael Gleicher.
Game Art Jobs From Game Design Chapter 8 - The Development Team By Bob Bates.
Esma Yildirim Department of Computer Engineering Fatih University Istanbul, Turkey DATACLOUD 2013.
Dynamic Global Illumination from many Lights GDC 2012 by Wolfgang Engel, Igor Lobanchikov and Timothy Martin.
Creating World Class Graphics on the PSP. Shipped Titles PSP Art Topics Asset breakdowns Open Q & A.
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
Game Project Tuesday Sept 18,  Game Idea  Team  Understanding available engine options  Understanding the Pipeline  Start the process Cycle.
Macromedia Flash 5 Intermediate Level Course. Animation Basics Playhead In-Between Frames Keyframe Current Frame Number Framerate Current Time Frames.
Physical Database Monitoring and Tuning the Operational System.
Assets and Dynamics Computation for Virtual Worlds.
Project 3 Guidelines CS248 Computer Graphics Help session November 7, 2001.
IMGD 1001: The Game Art Pipeline. IMGD (Visual) Art Courses  AR Essentials of Art.  AR Digital Imaging and Computer Art.  IMGD/AR.
Quark QuarkXPress 4 Intermediate Level Course. Working with Master Pages The Document Layout Palette allows you to add, delete, and move document and.
3D Game Programming All in One By Kenneth C. Finney.
1 A Novel Page-Based Data Structure for Interactive Walkthroughs Behzad Sajadi Yan Huang Pablo Diaz-Gutierrez Sung-Eui Yoon M. Gopi.
MMORPG-SIM Massively Multiplayer Simulation Game Creation Main Feature: Uniqueness.
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Pre Production I.Concept II.Story Development III.Visual Development IV.Technical Direction V.Production Management.
COMM 3353: Communication Web Technologies I Chapter 3b: Internet Radio Chapter 3b: Internet Radio
CSE 381 – Advanced Game Programming 3D Game Architecture.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
1 Three dimensional mosaics with variable- sized tiles Visual Comput 2008 報告者 : 丁琨桓.
Virtual reality. Tasks 3D digital model from planes 3D digital model of existing objects Office work Field observations Solid modeling Photogrammetry.
CS426 Game Programming II Dan Fleck. Why games?  While the ideas in this course are demonstrated programming games, they are useful in all parts of computer.
Games Development 2 Resource Management CO3301 Week 3.
Lightmaps from HDR Probes Bernhard Spanlang VECG Group University College London
Facial animation retargeting framework using radial basis functions Tamás Umenhoffer, Balázs Tóth Introduction Realistic facial animation16 is a challenging.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS The asset pipeline.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
1 Additional Topics: Splash, Flash and Web Usability INFO 654 – Spring 2007.
10/9/20151 Unreal Basics CIS 488/588 Bruce R. Maxim UM-Dearborn.
Zavod za telekomunikacije Igor S. Pandžić Department of telecommunications Faculty of electrical engineering and computing University of Zagreb, Croatia.
Course Introduction and Terminology CGDD 4113 – 3D MODELING AND ANIMATION.
CSC 343/642 Interactive 3D Game Development George J. Grevera, Ph.D. George J. Grevera, Ph.D.
Fragmentation in Large Object Repositories Russell Sears Catharine van Ingen CIDR 2007 This work was performed at Microsoft Research San Francisco with.
CSE 381 – Advanced Game Programming Code Setup.
Maths & Technologies for Games Animation: Practicalities CO3303 Week 3.
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
1 Animation and/or Computer Animation Dr. Stephania Loizidou Himona Assistant Professor Frederick University.
Elements & Principles of Design by Sharon Crews
Painterly Rendering Framework from Composition Chi Chu Zen-Chung Shih Department of Computer Science National Chiao Tung University, Taiwan.
A Content Adaptation Approach for On-Line 3D Persistent Universes on Various Networks and Terminals presented by Marius PREDA ARTEMIS Department, Institut.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Introduction : Team Dean Leeks –Project Leader –2D Artist Roger Creyke –Lead Programmer –2D Artist Ryan Avent –Lead Artist –Ideas Man George Daters –Programmer.
PMR: Point to Mesh Rendering, A Feature-Based Approach Tamal K. Dey and James Hudson
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
Lecture VIII: Software Architecture
Lauren Bissett, Daniel Maguire, Nicholas Woodfield.
Design Visualization Software Introduction / Review.
Introduction Who are we? Paul Martin – Started out in the industry 1996 as PlayStation programmer – Currently a technical director and one of the principals.
Computer Graphics Imaging Lecture 13 and 14 UV Mapping.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
Representational State Transfer COMP6017 Topics on Web Services Dr Nicholas Gibbins –
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
IMAGE PROCESSING is the use of computer algorithms to perform image process on digital images   It is used for filtering the image and editing the digital.
Techniques for Improving Large World and Terrain Streaming Danie Conradie Trinigy Inc.
Perspective, Scene Design, and Basic Animation
Pathfinding Over Streaming Terrain
2018 Huawei H Real Questions Killtest
Computer Animation UV Mapping.
Lecture 3. Virtual Worlds : Representation,Creation and Simulation ( II ) 고려대학교 그래픽스 연구실.
Presentation transcript:

APB: Creating a Powerful Customisation System for a Persistent Online Action Game Maurizio Sciglio Simon Taylor

Outline  Goals  Initial Design  Refinements  Demo  Scalability  Conclusions

GOALS

What is APB?  “Persistent Online Action Game”  Shared player-space  Fast-paced 3 rd -person gameplay  RTW-run backend  Customisation a key selling point  PC initially  Unreal Engine 3

Decal Application – Forza

Decal Application  Not just vehicles; characters too  Characters are harder:  More complex shape/UV mapping  Heterogeneous surface (clothing, hair, etc.)  Complex masking for clothing  Therefore, simple UV-space composition not possible

Other Requirements  Face & body customisation  Hair styles  Clothing application with large variety of available styles  Decal application  Tattoos on skin  Print on clothes

MMO Concerns  Large player count  Limited bandwidth  No upfront “Lobby”  Players enter and leave at any time

INITIAL DESIGN

Parametric Description  Final assets (meshes & textures) are big  E.g. 1 MB for a 1024x1024 DXT5 texture  Bandwidth is expensive  Can’t send final assets over the network  Therefore, describe assets parametrically  Build final assets on clients  Fundamental principle of the system

Morphing  Fundamental mesh operation  Standard additive morphing  Used for Body & Facial modification  Sliders control individual target weights

Decals / Tattoos

Skin Tone

Skin Pigment

Skin – Additional Features

Clothing Customisation  Rendering / memory cost independent from the number of items  One mesh to rule them all!  Clothing mesh must be merged with the base mesh  Texture must be combined with the base texture

Clothing – Morph Item

Clothing – Extra Mesh Item

Mesh Culling

UV Layout

Character Materials  Main goals:  Single draw call per character  Support multiple materials  BRDF decompositions stored in a 3D texture  N dot L  R dot V  Per-pixel material selection Phong decomposition

REFINEMENTS

Decal Projection Issues  Slow to construct  Large data size  Layer count had to be restricted  Artists didn’t like this  In most cases, not actually required  Solution: Symbols

Symbols

Distance-Field Encoding Regular Texture Distance-field encoded [

Height Scaling  Customisable character height  Per-bone non-uniform scaling  Many issues  Artist time  Animation issues  Collision implications  Fairness  Bugs!

Height Scaling

Projection Seams

Hair-Clothing Interactions

Original

With Fitting Morphs

Demo

SCALABILITY

Bandwidth  …is expensive  Even parametric representation is big  Bandwidth is n 2 in player count  Must minimise data size  Quantise parameters  zlib compress all data  Average ~4 kB per character  Limit complexity user can create

Background build  Assets built during gameplay  Two options  Threads  Time-slicing  Problems with threads  No multithreaded D3D access  Less control  We chose time-slicing

The Correct Choice?  Time-slicing brings its own issues  Developer time  Frame-rate spikes  No true parallelism  In hindsight, threads were maybe the better option

Memory Management  Memory use for customised assets is huge  Too slow to build on-demand  Therefore, must write out assets to disk cache  Textures and meshes streamed from cache files  Total memory usage capped  Not persistent

RESULTS & CONCLUSIONS

Future Work  Blend-weight morphing  Physics simulation on hair and clothes  Improved hair rendering  DXT Compression  Better descriptor compression  Persistent disk cache

Conclusions  Customisation needs time and resources  Roughly 50% of graphics team workload  Significant proportion of memory and CPU/GPU resources dedicated to it  Get art pipeline sorted first  Flexibility is key  For artists and players  Distance fields are fantastic

Questions?