뒤늦게 올리는 GDC 2010 리포트

첫째 날 20100309
둘째 날 20100310
셋째 날 20100311
넷째 날 20100312
다섯 째날 20100313
기타
공개된 슬라이드들



Advanced Visual Effects with Direct3D
  • D3D11에서는 'Tessellation'과 'DirectCompute'가 큰 테마더군요.


  • 저에겐 헷갈리는 주제였던 'HullShader'와 'DomainShader'의 역할에 대해 명확히 설명해 주었습니다.

간단한 로컬 방식과 비싸지만 더 그럴듯한 Catmull-Clark 근사 중 하나를 택할 수 있습니다. 



각 방식의 비교 

Left4Dead 2에서 피격 부위 렌더링에 관하여


 DirectCompute를 사용한 Diffusion DOF

Metro에서는 간단한 Phong tessellation 방식을 사용

  • D3D11에서 지원하는 D3D 리소스들의 별도 스레드 로딩은 상당히 유용해 보입니다.


Intel Game Performance Workshop (Presented By Intel)
  • 인텔의 프로파일링 도구들의 체험 위주였습니다.
  • 하지만 인텔의 'Smoke' 데모에 사용된 스레딩 전략은 흥미로워 보였습니다.

병렬 패턴들


더블버퍼링Overlapping Subset 방식의 비교




Designing for Performance, Scalability & Reliability: StarCraft II's Approach
  • 스타크래프트2에 사용된 게임내 프로파일링 도구에 관해 주로 다룸


심지어는 메모리 단편화 검사 도구도 제공

부하 테스트. 모든 스타크래프트 유닛 총출동!

  • 프로파일링 데이터를 수집한 후 저장해 놓아, 나중에 fps 그래프에서 튀는 부분을 찾아내어 그 시점에 어느 함수에서 가장 많은 시간이 소모되었는지 조사하는 등의 작업이 가능
  • 특별히 규모가변성을 위한 공학적 선택을 하였다고 진술 (가령, 전통적인 포워드 렌더링 대신 지연 렌더링을 선택)


Data is a Four-Letter Word
  • 어셋 스트리밍 관련

'Refgraph' 개념이 꽤 유용해보입니다.





'treap'이라 부르는 자료구조를 쓰고 있다더군요.

  • 현재 툴팀에 있는지라 관심이 갔던 세션
  • WAF라는 빌드 시스템 사용
  • 대부분의 파이프라인 도구룰 파이썬으로 개발
  • 자체 데이터 포맷인 ADF의 경우, 시리얼라이제이션 프레임웤이 포맷 규격에서 자동으로 C++ 헤더와 파이썬 코드를 생성해내는 방식 사용



Concrete Practices to be a Better Leader
"Everthing is my teacher."


"Training is the opposite of hoping"

 
GPU 정글쥬스나 쿠다 리브레 한잔 하실 분? (엔비디아 파티에서)
 

넷째 날 20100312
Agile: No Silver Bullet
  • 특별한 내용은 없었음
  • 트위터를 사용해 청중들한테 질문 받음

The Psychology of Game Design (Everything You Know Is Wrong)
  • 유명한 시드 마이어의 강연

  • 게임 플레이어와 기획자 사이의 암묵적 약속을 의미하는 'Unholy Alliance'라는 용어를 만들어냄
  • Protect players from themselves!(플레이어를스스로 게임의 재미를 망치는 것을 막아라!)



Animation Warping for Responsiveness in FIFA Soccer
  • 애니메이션 프로그래머들에게 귀중한 세션
  • 자연스러운 애니메이션 기반 턴 동작 처리를 위해, 'warp segments'라는 영리한 개념을 사용했습니다.


  • IK에 더해 별도의 와핑 기법을 사용함으로써 자연스러운 발의 볼 터치를 구현



APB: Creating a Powerful Customisation System for a Persistent Online Action Game
  • Real Time Worlds가 커스터마이제이션 엄청난 투자를 했더군요. APB의 개발이 왜 오래 걸리는지 알 것 같았습니다...


  • 일종의 텍스처 아틀라스(격자로 나뉜)와 메시 세그먼테이션으로 이음새 없는 캐릭터 커스터마이제이션과 런타임 성능이라는 두 마리 토끼를 동시에 노림




  • 매우 깔끔해보이는 엔드유저 커스터마이제이션 도구도 제공하더군요.







다섯째 날 20100313
Three Big Lies: Typical Design Failures in Game Programming

Texture compression in real-time, using the GPU

  • 짧았지만 매우 실용적이었던 세션이었습니다.

  • PC, Xbox 360, PS3를 모두 지원하는 크로스플랫폼 솔루션

  • 텍스처 압축에 관심이 있는 분이라면 슬라이드를 꼭 찾아보시길 권합니다.

The Imlementation of Rewind in Braid
  • 조나단 블로Jonathan Blow는 리와인드 기능을 위해 매우 무식해 보이는 방법을 택했습니다. 매 프레임 전체 월드 상태를 저장하는 것이지요.

  • 물론, 다양한 압축 기법을 적용하였습니다.






Animation and Player Control in Uncharted: Drake's Fortune and Uncharted II: Among Thieves
  • 애니메이션 프로그래머들을 위한 또다른 세션
  • 크라이엔진에서 했던 유사한 고민을 똑같이 하고, 비슷한 해법을 적용했음을 알 수 있었습니다.
레이어링 지원

애니메이션 미러링


애니메이션 제어에서 플레이어 제어로의 전환 곡선
  • 가산(additive) 애니메이션의 몇가지 영리한 활용 예를 보여주었습니다.
한프레임짜리 포즈 + idle 숨쉬는 동작 = 다양한 포즈에서의 idle 애니메이션

크라이엔진의 LMG 개념과 유사해보입니다.



Shears - Squeeze the Juice Out of the CPUs: Post Mortem of a Data-Driven Scheduler
  • 'Shears'라는 명칭의 멀티플랫폼 병렬 프레임웤

  • 굉장히 흥미로워 보였지만, 아쉽게도 자세한 기술적 내용의 공개는 꺼리는 눈치였습니다.
  • 아래와 같은 스케줄링 에디터도 제공하더군요.
  • 크로스플랫폼(PS3 SPU에 대해서도 추상화된 인터페이스 제공)
  • 락프리 컨테이너 활용

  • 쉬운 디버깅을 프레임웤의 핵심 기능으로 보고 작업했다더군요.


 

  • RAD game tools에서 몇가지 새로운 도구들을 선보였습니다.
    • Telemetry: 크로스플랫폼 지원의 타임라인 프로파일링 시스템
    • Iggy: 플래시 기반 UI 미들웨어
  • Hero Engine http://www.heroengine.com/ 부스에서 제공하는 에디터를 살펴볼 수 있었습니다.
    • 서버 기반 협업 편집 지원
    • C# 윈폼 기반의 깔끔한 GUI
    • 크라이엔진의 샌드박스와 같이 효율적인 작업 공정을 위한 빠른 이터레이션을 지향
  • 트위터에서의 GDC 2010 http://www.jesperjuul.net/ludologist/?p=953

공개된 슬라이드들

크라이텍 디너


 * 이 포스트는 blogkorea [블코채널 : 웹, 컴퓨터, it에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다.


Trackback 1 Comment 12

top