optimizing the content pipeline
DESCRIPTION
Retrieved from: http://gamesfromwithin.com/optimizing-the-content-pipelineTRANSCRIPT
![Page 2: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/2.jpg)
Retrieved from
![Page 3: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/3.jpg)
INDEX• Introduction• Bird’s-Eye View of the Pipeline• Assets• Catalog Files• The Fast Paths
![Page 4: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/4.jpg)
Introduction
![Page 5: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/5.jpg)
Contents
Level Design
![Page 6: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/6.jpg)
Contents
Level DesignModels
![Page 7: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/7.jpg)
Contents
Level DesignModels
Sound
![Page 8: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/8.jpg)
Contents
Level DesignModels
Sound
Story
![Page 9: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/9.jpg)
Contents
Level DesignModels
SoundStory
Cinematic
![Page 10: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/10.jpg)
ContentsLevel Design
Models
Sound
Story
Cinematic
Time
ContentsSize & Complex
![Page 11: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/11.jpg)
The Best Way• The best way to provide content is
– optimize the content pipeline – so that artists and designers can
• create, preview, add and tweak new assets • as easily and rapidly as possible
![Page 12: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/12.jpg)
Game Assets• code 가 아닌 모든 것
– models, textures, materials, sounds, animations, cinematics, scripts, etc
• Pipeline 을 통해 Assets 은… – converted, optimized, chopped to bits
or combined
• 최종적으로 , asset is in a format– that will be shipped with 게임의 최종 버전
![Page 13: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/13.jpg)
Main point to consider • Efficiency
– 파이프라인에 작은 비효율 존재시• 많은 사람들이 시간 낭비
– Contents Creator 가 빈번히 preview 를 못하면• 게임의 전체적인 품질 저하
• Robustness – content pipeline 이 깨지면 ?
• 작업자들은 pipeline 이 수정되기 만을 기다리고• 시간을 낭비하게 됨
– Whatever happens, the pipeline must always work correctly
![Page 14: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/14.jpg)
Bird’s-Eye View of the Pipeline
![Page 15: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/15.jpg)
Asset pipeline look like • It depends on the Project
– Pipeline is • minimal and informal
– Assets are• exported from their tool• loaded directly in the
gameSmall Project
![Page 16: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/16.jpg)
Asset pipeline look like • It depends on the Project
– Pipeline is• deep and elaborate
– Asset Issues• 파일이 어디있나 ?• 멀티플랫폼에서 처리되나 ?• 리소스 포맷 변경 쉽나 ?• 추가 처리 적용 되나 ?
Large Project
![Page 17: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/17.jpg)
Partial View of the Content Pipeline
![Page 18: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/18.jpg)
Assets
![Page 19: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/19.jpg)
Source Assets
![Page 20: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/20.jpg)
Source Assets• Artists and Designers 에 의해 생성된 것
• 게임에 정확하게 추가될 수 있도록모든 필요한 정보를 포함– 매우 신중히 treat– being lost or accidentally overwritten
으로부터 보호
• Version control program 사용– Centralized location for all asset– Prevent overwriting– Keep history previous versions– Deal with binary files
![Page 21: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/21.jpg)
Intermediate Assets
![Page 22: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/22.jpg)
Intermediate Assets• Souce Assets 으로 부터 export 된 것
• 하위 호환성을 깨지 않고 쉽게 read, parse, and extend 가능– Loading 성능은 중요하지 않음
• Final Assets 의 몫임
– Plain Text • XML, YML, CSV, INI 등
![Page 23: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/23.jpg)
Intermediate Assets• Source Asset 과 Final Asset 사이에
버퍼를 제공
• Complex, Time-consuming 작업을 미룸– Mesh optimization– Lightmap generation
• for debugging and experimentation– Readable format
• Anybody can view• 테스트 , 디버깅을 위해 re-export 없이 작은 수정 가능
![Page 24: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/24.jpg)
Final Assets
![Page 25: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/25.jpg)
Final Assets• Highly Optimized
– 타겟 플랫폼에 효율적으로 Loaded and Used • Robust 할 필요 없음• 목표는 Speed!!• 어떤 parsing 없이 바로 로드
– 맹목적인 최적화는 하지 마라• 가장 이득이 있는 곳을 노려라
• Type of Operations– 간단한 포맷 변경– Mip-map 생성 , dithering, 압축– Lightmap 생성 , Mesh 최적화
![Page 26: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/26.jpg)
Catalog Files
![Page 27: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/27.jpg)
Catalog Files• Final step of The Pipeline
• Packing all the loose final asset filesinto larger catalog files– 다른 파일들을 포함하고 있는 큰 파일– 이름 , 계층 정보를 포함
• Advantage of using catalog files– Open/Close file operation 감소– 파일간 근접하도록 강요– Directory parsing 빨라짐 등
![Page 28: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/28.jpg)
Catalog Files• Using a standard catalog file format
– zip, cab, wab– 이미 잘 사용되고 있음
• Resource load strategies– 레벨 또는 사운드 별로 나눌 수도 있음– 게임에서 어떻게 로드할 지에 의존
• 게임과 툴에서 바로 읽을 수 있어야 함
![Page 29: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/29.jpg)
The Fast Paths
![Page 30: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/30.jpg)
It is not exactly speedy• 지금까지 설명한 데로는 너무 늦다
– 단계를 요약해 보자• Source asset 수정• Intermediate asset 으로 export• Check it in version control• Resource conversion 시작• Catalog file 이 준비될 때 까지 몇 시간 대기
– Fast turnaround time 의 요구에 맞지 않다 !!
![Page 31: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/31.jpg)
Provide Fast Path• Game/Tool could load
– Intermediate assets as well as the final assets
• priority – Give local files over catalog files
CatalogFile
CatalogFile
CatalogFile
![Page 32: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/32.jpg)
Putting It All Together
![Page 33: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/33.jpg)
Automation• Automating the process
– Run conversion process– Package them on the catalog files
• 견고하게 만들기 어렵다– Network going down– Versioncontrol server being down, etc
• 하루에 한 두번 또는 필요로 할 때 빌드
![Page 34: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/34.jpg)
References• 발표 주제
• http://gamesfromwithin.com/optimizing-the-content-pipeline
• 슬라이드– 색상조합
• http://kyruie.tistory.com
– 이미지• http://www.slideshare.net/trib
![Page 35: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/35.jpg)
Like the Cool Pictures?http://www.cooliris.com
And the Awesome Slide?http://www.slideshare.net
![Page 36: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/36.jpg)
![Page 37: Optimizing The Content Pipeline](https://reader033.vdocuments.mx/reader033/viewer/2022061223/54c45dfe4a7959d10d8b4573/html5/thumbnails/37.jpg)
Lisence