SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
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 3rd-person gameplay
 RTW-run backend
 Customisation a key selling point
 PC initially
 Unreal Engine 3
Decal Application – Forza
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
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
                                          Distance-field
Regular Texture                           encoded




        [http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf]
Height Scaling
 Customisable character height
 Per-bone non-uniform scaling
 Many issues
     Artist time
     Animation issues
     Collision implications
     Fairness
     Bugs!
Height Scaling
Projection Seams
Projection Seams
Hair-Clothing Interactions
Original
With Fitting Morphs
Demo
SCALABILITY
Bandwidth
 …is expensive
 Even parametric representation is
  big
       Bandwidth is n2 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?
 maurizio.sciglio@realtimeworlds.com
 simon.taylor@realtimeworlds.com
 www.realtimeworlds.com
 www.apb.com

Mais conteúdo relacionado

Destaque

Guerra Arevalo, Jorge
Guerra Arevalo, JorgeGuerra Arevalo, Jorge
Guerra Arevalo, Jorgewarlord_tj
 
The Road Ahead Conference June 21 2011
The Road Ahead Conference June 21 2011The Road Ahead Conference June 21 2011
The Road Ahead Conference June 21 2011dublinderry
 
Walden posters
Walden postersWalden posters
Walden postersjadeblue
 
KadıN GirişImciler RöPortajı
KadıN GirişImciler RöPortajıKadıN GirişImciler RöPortajı
KadıN GirişImciler RöPortajıIsilyondem
 
KadıN GirişImciler RöPortajı
KadıN GirişImciler RöPortajıKadıN GirişImciler RöPortajı
KadıN GirişImciler RöPortajıIsilyondem
 
Melting glaciers
Melting glaciersMelting glaciers
Melting glaciersshreeshan09
 

Destaque (9)

Reading and writing
Reading and writingReading and writing
Reading and writing
 
Guerra Arevalo, Jorge
Guerra Arevalo, JorgeGuerra Arevalo, Jorge
Guerra Arevalo, Jorge
 
Mollybang
MollybangMollybang
Mollybang
 
The Road Ahead Conference June 21 2011
The Road Ahead Conference June 21 2011The Road Ahead Conference June 21 2011
The Road Ahead Conference June 21 2011
 
Walden posters
Walden postersWalden posters
Walden posters
 
KadıN GirişImciler RöPortajı
KadıN GirişImciler RöPortajıKadıN GirişImciler RöPortajı
KadıN GirişImciler RöPortajı
 
Carteles 3er. seminario
Carteles 3er. seminarioCarteles 3er. seminario
Carteles 3er. seminario
 
KadıN GirişImciler RöPortajı
KadıN GirişImciler RöPortajıKadıN GirişImciler RöPortajı
KadıN GirişImciler RöPortajı
 
Melting glaciers
Melting glaciersMelting glaciers
Melting glaciers
 

Semelhante a APB Customisation System

Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Johan Andersson
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsJohan Andersson
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...Johan Andersson
 
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters AdventureHow we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters AdventureFelipe Lira
 
Rapid prototyping
Rapid prototypingRapid prototyping
Rapid prototypingWael_helal
 
Deep-learning-for-computer-vision-applications-using-matlab.pdf
Deep-learning-for-computer-vision-applications-using-matlab.pdfDeep-learning-for-computer-vision-applications-using-matlab.pdf
Deep-learning-for-computer-vision-applications-using-matlab.pdfAubainYro1
 
Capitalizing on the Potential of Meshing by David Zip
Capitalizing on the Potential of Meshing by David ZipCapitalizing on the Potential of Meshing by David Zip
Capitalizing on the Potential of Meshing by David ZipMelissa Tiffany
 
JP Keynote Nikkei Embedded Processor Symposium 2002
JP Keynote Nikkei Embedded Processor Symposium 2002JP Keynote Nikkei Embedded Processor Symposium 2002
JP Keynote Nikkei Embedded Processor Symposium 2002Lee Flanagin
 
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The BasicsHA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basicshamza_123456
 
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The BasicsHA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basicshamza_123456
 
Trouble with distribution
Trouble with distributionTrouble with distribution
Trouble with distributionJ On The Beach
 
D3 D10 Unleashed New Features And Effects
D3 D10 Unleashed   New Features And EffectsD3 D10 Unleashed   New Features And Effects
D3 D10 Unleashed New Features And EffectsThomas Goddard
 
Fabricating Raised Relief Terrains from Global Mapper GIS
Fabricating Raised Relief Terrains from Global Mapper GISFabricating Raised Relief Terrains from Global Mapper GIS
Fabricating Raised Relief Terrains from Global Mapper GISJohn T. Lee
 
2014 12-22 - open 3 d printing and fabrication technology (cd)
2014 12-22 - open 3 d printing and fabrication technology (cd)2014 12-22 - open 3 d printing and fabrication technology (cd)
2014 12-22 - open 3 d printing and fabrication technology (cd)FabLab Pisa
 

Semelhante a APB Customisation System (20)

Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
 
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters AdventureHow we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
 
Windblade
WindbladeWindblade
Windblade
 
RPT- ppt.pdf
RPT- ppt.pdfRPT- ppt.pdf
RPT- ppt.pdf
 
Rapid prototyping
Rapid prototypingRapid prototyping
Rapid prototyping
 
Deep-learning-for-computer-vision-applications-using-matlab.pdf
Deep-learning-for-computer-vision-applications-using-matlab.pdfDeep-learning-for-computer-vision-applications-using-matlab.pdf
Deep-learning-for-computer-vision-applications-using-matlab.pdf
 
Capitalizing on the Potential of Meshing by David Zip
Capitalizing on the Potential of Meshing by David ZipCapitalizing on the Potential of Meshing by David Zip
Capitalizing on the Potential of Meshing by David Zip
 
3D Printing Technology.pptx
3D Printing Technology.pptx3D Printing Technology.pptx
3D Printing Technology.pptx
 
MAE1659.ppt
MAE1659.pptMAE1659.ppt
MAE1659.ppt
 
JP Keynote Nikkei Embedded Processor Symposium 2002
JP Keynote Nikkei Embedded Processor Symposium 2002JP Keynote Nikkei Embedded Processor Symposium 2002
JP Keynote Nikkei Embedded Processor Symposium 2002
 
3D - The Basics
3D - The Basics 3D - The Basics
3D - The Basics
 
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The BasicsHA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
 
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The BasicsHA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
HA5 – COMPUTER ARTS BLOG ARTICLE – 3D: The Basics
 
Trouble with distribution
Trouble with distributionTrouble with distribution
Trouble with distribution
 
D3 D10 Unleashed New Features And Effects
D3 D10 Unleashed   New Features And EffectsD3 D10 Unleashed   New Features And Effects
D3 D10 Unleashed New Features And Effects
 
Fabricating Raised Relief Terrains from Global Mapper GIS
Fabricating Raised Relief Terrains from Global Mapper GISFabricating Raised Relief Terrains from Global Mapper GIS
Fabricating Raised Relief Terrains from Global Mapper GIS
 
SolidWorks Assignment Help
SolidWorks Assignment HelpSolidWorks Assignment Help
SolidWorks Assignment Help
 
2014 12-22 - open 3 d printing and fabrication technology (cd)
2014 12-22 - open 3 d printing and fabrication technology (cd)2014 12-22 - open 3 d printing and fabrication technology (cd)
2014 12-22 - open 3 d printing and fabrication technology (cd)
 

APB Customisation System