Log Stash

as an Industrial Personnel

잡글

GDC 2018 참관기 및 짧은 미국 여행기 - 2

SavvyTuna 2022. 11. 25. 01:35

이전 참관기에서 이어지는 글.

 

1. Day 2 (2018-03-21)

남녀노소 불문하고 개발 잘 할것 같이 생긴 사람 떼거지가 한 곳을 향해 집결한다. 그냥 따라가면 된다.

아침 첫 세션이 대충 10시쯤 시작이다. 이 때부터 듣고 싶은 세션이 있기도 했고, 특히나 첫 날에는 입장권 목줄을 받아와야 하는 시간까지 고려해서 조금 일찍 일어났다. 다행히 호텔의 위치와 GDC행사를 주최하는 Moscone Center간의 거리가 매우 가까워서 새벽같이 일어날 필요는 없었다.

 

도착하자마자 입장권 목줄 교환을 먼저 진행했다. GDC 티켓을 구매하면 이메일로 영수증과 QR코드가 날아오는데, 이 QR 코드와 신분증 (여권) 을 제시하면 소정의 굿즈와 함께 아래와 같은 목줄을 받을 수 있다. 당연히 이게 없으면 컨퍼런스 룸에 들어갈 수 없다. 세션 들어갈 때 매번 태그 해야함.

 

입장권 목줄. 세션 들어갈 때 이걸 찍고 들어가야 한다.
사실 에스컬레이터 탈 때도 입장권 목줄을 눈에 띄이게 보여주면서 타야한다. 지스타 같은데서 팔목 보여주면서 들어가는거랑 비슷.
길 건너에 있는 건물에는 각종 부스가 있다. 컨퍼런스만 하는게 아니라 이런 부스들도 구경할맛 난다. GDC 굿즈도 판매함. (나는 안 삼)

 

목줄을 받고 나니 첫 세션이 시작하기 살짝 이른 시간이라 다른 건물에는 뭐가 있나 돌아다녀봤다. GDC 굿즈 파는곳도 있었고, 그냥 사람들 모여서 네트워킹 하는곳도 있었고, 제작중인 인디게임 가져와서 홍보하는 코너도 있었다.

 

그 중에는 BTC/BTB 부스들이 넓게 쫙 깔려 있는 곳도 있었는데, 그 중에  web front-end 기반 UI 프레임워크 미들웨어를 자랑하는 곳이 기억이 난다. 이 때는 몰랐는데 나중에 PUBG의 UI가 그 미들웨어를 사용했었다고 들었다. 아직까지 사용하는진 모르겠다.

 

별로 중요한 기억은 아니지만, 위 사진에서 계단을 타고 내려가 오른쪽으로 조금 가면 화장실이 있다. 근데 이게 일반적인 남/여 화장실은 아니고, gender-neutral 화장실이었다. 들어가보니 남자와 여자가 같이 화장실 stall을 기다리고 있는 모습이 살짝 문화충격이면서 신기했다. 게다가 화장실 stall 문 위/아래로 공간이 매우 광활(...)해서 또 놀람.

 

출처: https://travel.stackexchange.com/questions/26620/why-do-public-toilets-in-the-us-have-large-gaps-no-privacy

 

대체 왜 미국 공중 화장실은 위 아래 공간이 그렇게 넓을까 

시간이 되어서 첫 세션에 들어갔다. 대규모 팀에서 collaboration 하기 위한 적절한 도구 선택 에 대한 세션이었는데... 진짜 정보성 세션이라기보단 자기 제품 홍보에 가까운 낚시성 세션이어서 실망했다. (그러면서 끝까지 들음) 그러던 차, 직장 동료분들이 아침식사 하자고 불러서 Mo'z Cafe 라는 곳에 가보게 되었다.

 

커피만 마시면서 랩탑 두들기는 사람들도 있고, 우리처럼 식사하러 온 사람들도 섞여서 굉장히 상상속 '미국 카페' 느낌이었다. 이 때 Seinfeld를 봤다면 주인공들이 자주 가던 카페를 연상시킬 수 있었을 것 같은데, 이 때 당시엔 '다음에 뭐 듣지' 같은 생각하며 먹는데만 급급했다.

 

까만 부분이 짜장(...)으로 보이는데, 콩 페이스트임
breakfast food에 야채가 하나도 없다. 이 다음해에 미국 갔을때도 야채는 찾기 힘들었다.
세션이 진행되는 컨퍼런스홀은 이런 분위기다.

2. 인상 싶었던 세션

2.1. Rollback Networking in Mortal Kombat and Injustice 2

초간단 요약

  • 1 vs. 1 60hz pvp 환경에서 네트워크 동기화 방식을 ​Lockstep에서 Prediction & Rollback 전환할 때 겪은 시행착오​ 이야기.
  • 16ms 안에 게임 로직 8 프레임을 돌리기 위해 시도한 최적화 방법들을 소개
    • 필요한 시점에만 serialization
    • 쓰레드의 우선순위와 affinities 조절
    • frame lengthening (RTT가 허용하는 한도내로 프레임 처리 시간 제한을 쬐끔 늘여줌)
    • etc.
  • Rollback 도중 Object life time 관리법 (특히 파티클)
    • Deferred deletion & delete and recreate

 

세션이 끝나고 질문 타임 마지막에 어떤 영국 악센트를 쓰시는 누님께서 desync를 방지하기 위한 방법이 어떤게 있을 지 물어봤다. desync 특성상 게임 specific한 케이스가 많기 때문에 적절한 대답에 애를 쓰시는 발표자를 보면서 퇴장함.

 

사실 desync에 대한 발표보단, 제한된 시간 안에 프레임 tick을 꾸겨넣는 퍼포먼스 향상법에 대한 세션이긴 했다.

이 때 당시에 작업하던 게임 프로젝트를 어느정도 deterministic 하게 바꾸는 작업을 진행하고 있었기 때문에 그 부분에 대한 조언을 얻을 수 있길 바랬지만, 발표의 방향은 살짝 달랐다. 그래도 takeaway는 꽤 좋았음.

 

2.2. Shading of Spellsouls: Achieving AAA Quality on Mobile

https://www.gdcvault.com/play/1025238/Shading-of-Spellsouls-Achieving-AAA

 

Shading of 'Spellsouls': Achieving AAA Quality on Mobile

As mobile hardware advances, creating AAA console quality visuals is no longer out of reach. Join Srdja Stetic-Kozic of Nordeus as he retells the Nordeus team's challenging journey to reach that level of graphical quality on their new mobile game,...

www.gdcvault.com

초간단 요약

  • 모바일 환경에서 ‘이쁜’ 퀄리티를 뽑아내기 위한 최적화 기법에 대한 세션​
  • VFX를 구성할 때 particle system대신 스프라이트 시트 + 모션 벡터 텍스쳐 + 보간​을 사용
  • GPU Skinning: TRS 행렬을 텍스쳐로 뽑아내서(팔레트) 셰이더에서 보간, 계산
  • 같은 일을 하는 셰이더 코드도 No-ops에 따라 cost가 다름
  • Adreno profiler 애용하세요
  • Thermal throttling을 염두하고 최적화 해라

 

똑같은 수식이지만 어떻게 작성하느냐에 따라 instruction 크기가 다를 수 있음.

3. 이후

적당히 월그린에서 먹을거 사서 돌아와서 대충 때우고 잤다. 아침에 먹은게 너무 많아서 별로 배고프지 않았던 기억임.