날짜 :
2018-10-18 23:47
댓글 :
16

[IGC2018] PC-콘솔-모바일을 넘나드는 '포트나이트' 최적화

이두현 기자 (Biit@inven.co.kr)

[인벤게임컨퍼런스(IGC) 발표자 소개] 신광섭 리드 개발자는 에픽게임즈 코리아에서 릴레이션 리드 및 프로그래머로 재직 중이다. 이전에는 언리얼 엔진 2, 3을 이용한 ‘마그나카르타’ PS2/PSP와 XBox 360 버전 개발에 참여했다. 그는 IGC에서 다양한 디바이스에 맞춘 '포트나이트' 최적화를 소개한다.

에픽게임즈는 두 가지 모습을 지닌 회사다. 현재는 '포트나이트'를 만든 게임 개발사로 유명하지만, 이전까지는 게임 엔진 '언리얼 엔진'의 개발사로 더 알려졌었다. 에픽게임즈는 자신들이 만든 엔진의 자부심을 보이기 위해 게임을 직접 만든다. '이만큼 멋진 게임'을 언리얼 엔진으로 만듦을 보여주고, 게임을 만드는 과정에서 발견한 문제를 고쳐 곧바로 자신들의 엔진에 적용한다.

IGC 2018의 강연자로 나선 에픽게임즈 코리아 신광섭 차장은 디벨로퍼 릴레이션스 리더로서 엔진의 다양한 기능을 소개한다. 그는 최적화의 끝을 보여주는 '포트나이트'의 멀티 플랫폼 적용과 크로스 플레이를 지원하는 과정의 노하우를 상세하게 설명했다.


■ 강연주제: 언리얼 엔진4, '포트나이트' 멀티 플랫폼 크로스 플레이


에픽게임즈가 '포트나이트'에 가진 목표는 뚜렷하다. PC(윈도우), Mac, PS4, Xbox One, iOS, 안드로이드, 닌텐도 스위치 등 모든 플랫폼의 유저가 같이 크로스 플레이를 하도록 지원하는 것이다. 에픽게임즈는 같은 콘텐츠를 모든 하드웨어가 지원하도록 하며, 업데이트 역시 동시에 지원되도록 하고자 했다.

말조차 쉽지 않아 보이는 목표다. 단순히 포팅으로 PC 게임을 모바일 버전에 맞추는 건 어떻게든 된다. 그러나 에픽게임즈는 맵과 콘텐츠를 바꾸지 않고서 모바일까지도 지원하도록 했다. 모바일은 안드로이드와 iOS로 나뉘며, 안드로이드는 수백여 종의 기기로 구분된다. 특히 코스튬까지도 신경 써야 하니 굉장히 높은 수준의 프로파일링이 요구됐다. 신광섭 차장은 "최적화와 최적화, 그리고 최적화가 가장 중요하다"며 프로파일링을 강조했다.

에픽게임즈는 '포트나이트' 최적화 부분을 시그니피캔스 매니저(Significance manager), 티킹(Ticking), 블루프린트, 스트리밍, 서버 퍼포먼스, 프로파일링, HLOD, 콘솔@60Hz, CPU, GPU, 모바일로 나눴다.

최적화의 기본 원리는 속임수다. 멀리 있는 적은 잘 안 보이는 것을 이용해 일부러 그래픽을 낮춰 표현한다. 시그니피캔스는 거리와 위치에 따라 중요한 오브젝트를 판단하는 기능이다. 가까운 적의 그래픽을 100% 표현해야 하지만, 1km 멀리 있는 적까지 100% 구현할 필요는 없다. 단순히 점 정도로만 표현해도 플레이어는 이상한 점을 느끼지 못한다.

▲ 플레이어 카메라 위치와 중요도에 따라 해상도를 결정한다

에픽게임즈는 '포트나이트'를 개발하다가 시그니피캔스 기능이 필요해 언리얼 엔진4에 추가했다. 개발자는 자신이 원하는 수준을 직접 설정해 적용할 수 있다. 이 기능은 주어진 하드웨어 제약 안에서 최대한의 프레임을 낼 수 있도록 돕는다.

티킹은 틱(tick)마다 일어나는 이벤트 그래프의 블루프린트를 C++로 변경하는 과정이다. '포트나이트'의 캐릭터는 코스튬 등을 위해 다섯 부분으로 나뉜다. 각 파츠를 매번 부르니 무거워지는 단점이 있다. 디자인했던 블루프린트를 네이티브 코드인 C++로 변경해 빠른 반응 속도를 기대할 수 있다.

문제가 되는 틱은 덤프틱(Dumpticks) 명령어로 쉽게 찾을 수 있다. 풍차나 '움직이는 토마토' 같은 경우 매번 로테이션 값을 요구해 불필요한 이벤트를 일으킨다. 언리얼 엔진4는 반복된 움직임을 설정하는 컴포넌트가 아예 있어 빠르게 작동한다. 이 기능을 통해 틱을 최적화할 수 있다.

빌딩 액션 게임인 '포트나이트'는 건설과 파괴 때마다 많은 부하가 생긴다. 특히 맵의 거의 대부분의 요소를 파괴할 수 있다 보니 보통의 게임보다 부하가 더 심하다. 언리얼 엔진4는 액터를 생성할 때마다 일어나는 일을 엔진 단에서 모두 분석해 최적화한다. 기능 중 하나는 파티클 풀링(pooling) 시스템으로, 관련 콤포넌트와 메소드 등으로 쉽게 제어할 수 있다.

'포트나이트'에는 맵에 시간마다 다양한 빛 효과가 나타난다. 맑은 아침이나 저녁노을, 밤 등이다. 빛에 따라 반응하는 오브젝트가 값은 통째로 변경될 수 있도록 '머터리얼 파라미터 컬렉션'을 추가했다. 이 에셋은 많은 라이팅 관련 변수를 변경할 수 있고, 프레임당 하나의 변경만 업데이트하도록 시스템 최적화를 돕는다.

레벨 스트리밍은 PC와 콘솔 플랫폼까지는 메모리가 충분히 필요하지 않던 기능이다. 이후 모바일까지 도모하게 되면서 필요성이 대두됐고, 2018년 1월에 업데이트됐다. 레벨 스트리밍은 메모리에 맵을 로드/언로드하거나 그 표시여부(visibility)를 토글 시키는 작업 모두 플레이 도중 할 수 있도록 해 주는 기능이다. 이를 통해 모바일에서 최적화를 이룰 수 있었고, 결과적으로 PC와 콘솔에서도 좋은 메모리 사용량을 낮출 수 있었다.

레벨 스트리밍의 쓰임새 예는 다이빙과 전투 시에 구분된다. 게임을 시작하고서 다이빙 때까지는 특별히 할 일이 없다. 이때 스트리밍 시간을 더 주고 게임에 필요한 정보를 로딩한다. 착지하고 나서는 다양한 액션이 요구되니 스트리밍 시간을 줄인다. 이 차이는 실시간으로 일어난다.

▲ 다이빙 때는 딱히 할 게 없으니 로딩에 할애한다

MMO에 필요한 데디케이티드 서버를 다시 정의했다. '포트나이트' 한 맵에는 많은 유저의 슈팅 정보가 발생한다. 이때 모든 유저가 서로의 모든 정보를 공유할 필요는 없다. 에픽게임즈는 정보를 최대한 필터링해서 필요한 정보만 주고받게 했다.

클라이언트 부분에서는 캐릭터 이동을 합쳐 처리하도록 노력했다. '포트나이트'에서 가장 많은 정보가 발생하는 게 캐릭터의 이동이다. 높은 FPS에서 많은 RPC 호출은 되도록 피하고, 공격적으로 최소 프레임으로 처리했다. 레이턴시를 줄이기 위해서 중요한 이동은 바로 보내도록 했다. 애니메이션은 서버가 아닌 클라이언트가 처리한다. 이외에 불필요한 모든 컴포넌트를 제거했다.

프로파일링의 중요성은 아무리 강조해도 지나치지 않다. 에픽게임즈의 '포트나이트' QA 팀은 매일 100인 플레이 테스트에서 데이터를 수집한다. 하나의 완벽한 게임에서 얻어진 프로파일 데이터로 게임에서 발생한 히치를 찾는다. 히치는 플레이 시 툭툭 끊기는 순간이다. 모든 데이터는 리플레이 기능으로 다시 재현해 모든 플랫폼에서 테스트할 수 있다.

▲ 위 그래프로 틱 구간을 확인해 아래처럼 안정화한다

모든 플랫폼에서 리플레이를 구현할 수 있으니 최적화도 편하다. PC에서 발생한 문제가 iOS에서 같이 발생하는지 확인해 빠른 최적화가 가능하다.

콘솔 최적화에서 30fps 게임을 60fps로 올리는 데는 업스케일링이 유용했다. 좋은 퍼포먼스를 내면서도 해상도를 낮추는 효과가 있다. 해상도를 낮춰 픽셀 수를 줄이니 효과가 바로 온다. 다만, 해상도를 바꾸면 다소 뭉개지는 단점이 있다. 모바일은 어쩔 수 없더라도, PS4까지 타협하기는 어려워 에픽게임즈는 새로운 기능을 추가했다.

템퍼럴 업샘플링(Temporal Upsampling)은 언리얼 엔진 4.19 버전에 추가된 옵션이다. 높은 퀄리티의 업샘플링이 가능하고, TemporalAA 패스에서 업샘플링 된다. 여기에 다이나믹 레졸루션(Dynamic Resolution)으로 GPU 부하에 따라 자동으로 해상도가 변경되게끔 했다. 해상도가 변해도 템퍼럴 업샘플링 덕으로 그 변화는 거의 느껴지지 않는다.

닌텐도 스위치는 기기 한계로 어쩔 수 없이 30Hz에 맞췄다. 도킹 모드에서는 GPU를 최대한 활용해 다이나믹 레졸루션과 TAAU, 디퍼드 렌더러를 사용한다. 핸드 모드에서는 배터리 사용량으로 인해 모든 퍼포먼스를 발휘하지 않는다. 최근에는 클러스터 포워드 렌더러(Clustered Forward Renderer)로 변경해 10% 더 빠른 퍼포먼스를 보일 수 있게 됐다.

캐릭터 최적화는 거리에 따라 4단계로 구분했다. 가장 가까이서는 이목구비가 선명하고, 멀어질수록 불분명해진다. 최대 3만 개의 LOD는 가장 멀 때 300개로 낮아진다. 개발자가 하나하나 만들지 않더라도 언리얼 엔진4에는 자동으로 LOD를 생성해주는 기능이 있다.

▲ 거리에 따라 캐릭터 LOD 세트를 활용한다

맵 전체에 깔린 나무들은 착시 효과를 적용했다. Hemi-octahedral를 이용해 기존 3D 오브젝트를 2D 텍스처 아틀라스로 묶는다. 이를 vector octahedron 변환을 이용해 프레임 인덱싱한다. UV 공간에서 +X, +Y, +XY 주변 좌표를 통해 간단히 프레임에 접근한다. 즉, 여러 장의 2D 이미지를 유저 카메라 각도에 따라 적합한 컷을 보여준다. 그러면 실제로 2D 이미지를 유저는 3D 나무라 여기게 된다. 이를 통해 기존 38만 개의 나무 트라이앵글을 6000개까지 줄일 수 있었다.

"모바일 최적화는 최고난도의 기술이 요구됐다"고 신광섭 차장은 전했다. 모바일 최적화는 CPU, 메모리, 드로우콜 줄이기, GPU 단계로 나뉜다.

CPU에서 문제는 최대치로 활용할 경우 열이 발생했고 디바이스는 열을 낮추기 위해 자동으로 다운클럭을 시행했다. 에픽게임즈는 해결하기 위해 CPU를 속이는 트릭을 썼다. CPU 코어들이 시간의 약 50%는 아이들(idle) 상태로 있게 만들었다. 그래서 최적화는 60fps를 목표로 했고, 출력은 30fps에 맞췄다. 필요한 것보다 더 계산하도록 만들어 여유 있게 만드는 트릭이다.

모바일 메모리 최적화는 제조사가 제시한 것보다 낮은 수준을 기준으로 잡아야 했다. 아이폰의 경우 2GB 디바이스는 실제 1.4GB를 쓸 수 있었고 안드로이드는 파편화가 심해 경우의 수가 더 복잡했다. 경우에 따라 2GB에서 500mb만 쓸 수 있는 경우도 있다.

▲ 제조사가 제시한 스펙보다 기준을 낮게 잡는 게 좋다

iOS는 제한된 디바이스만 있어 값을 각각 세팅했다. 메모리 허용량은 폴리지 사용 여부에 따라 결정했고, 스케일러빌리티 세팅을 했다. 해상도와 그림자 of/off 기능 등이다. 안드로이드는 그래픽 API가 iOS만큼 빠르지 않았다. 때문에 낮은 사양의 안드로이드는 20hz를 사용하기도 했다.

신광섭 차장은 "다양한 플랫폼에서 크로스 플레이가 되도록 최적화하는 과정은 엄청난 노력이 필요했다"며 "이 과정을 통해 얻은 다양한 피드백을 통해 언리얼 엔진을 더 발전시킬 수 있었다"고 전했다.

코멘트

새로고침
새로고침

전체 리포터 101개 등록됨 (2019-04-19 ~ 2018-10-18)

총상금 34억 원 ‘포트나이트 월드컵: 포크리’ 개최
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-04-19 11:59
내가 만든 게임으로 전 세계 포트나이트 크리에이티브 유저들과 뉴욕에서 창의력을 겨룰 기회가 왔다. 세계적인 게임 개발사이자 게임엔진 개발사인 에픽게임즈의 한국법인 에픽게임즈 코리아(대표 박성.....
젠지 e스포츠, 521억원 규모 투자 유치...스포츠·IT 업계 유명 인사 참여 [34]
게임뉴스 | 신연재 기자 (Arra@inven.co.kr) | 2019-04-17 23:28
글로벌 e스포츠 기업 Gen.G e스포츠는 17일 4,600만 달러(한화 약 521억원) 규모의 투자 유치를 마무리했다고 밝혔다. 이번 투자에는 할리우드 배우 윌 스미스와 일본의 축구 스타 혼다 케이스케가 설립.....
총 상금 340억 원! '포트나이트 월드컵' 4월 13일 온라인 오픈 개막
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-04-12 10:11
자료제공 - 로이커뮤니케이션즈 에픽게임즈의 한국법인 에픽게임즈 코리아(대표 박성철)는 4월 13일과 14일 양일간 첫 주차 토너먼트를 시작으로 ‘포트나이트 월드컵’ 온라인 오픈이 개막한다고 알렸다.....
1,000억 원 걸린 '포트나이트 월드컵' 세부 규정 발표 [14]
게임뉴스 | 이두현 기자 (Biit@inven.co.kr) | 2019-03-27 09:55
상금 1억 달러 규모의 '포트나이트 월드컵' 온라인 예선전의 세부사항 및 공식 규정이 발표됐다. ‘포트나이트 월드컵’은 전 세계 '포트나이트' 플레이어를 대상으로 가장 실력이 뛰어난 플레이어를 가.....
내가 만든 게임을 전 세계 유저가! 포트나이트, '포크리' 공모전
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-03-22 14:23
에픽게임즈 코리아(대표 박성철)는 자사가 개발하고 서비스 중인 '포트나이트'에서 ‘포트나이트 크리에이티브(이하 포크리)’로 만든 최고의 멀티플레이어 게임을 선정하는 ‘포크리 공모전’을 개최한...
포트나이트, 갤럭시S10 구매 고객에게 아이콘 찬우 스킨&댄스 이모트 제공 [2]
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-03-15 15:08
포트나이트'가 삼성전자의 스마트폰 신제품 ‘갤럭시S10’을 구매하는 플레이어들에게 인기 아이돌 ‘아이콘’의 찬우를 형상화 한 스킨과 댄스 이모트를 무료로 제공한다. 세계적인 게임개발사이자 게임.....
컴캐스트와 손잡은 T1, 배틀로얄 장르 '주안코리아&SONII' 영입 발표 [4]
게임뉴스 | 김홍제 기자 (koer@inven.co.kr) | 2019-03-14 09:25
최근 컴캐스트와 손을 잡으며 3조 원대 글로벌 ‘e스포츠’ 산업 진출 출사표를 던진 T1이 배틀로얄 장르 프로게이머 '주안코리아' 김봉상과 외국인 선수 'SONII'를 영입했다. '주안코리아' 김봉상은 배.....
누구나 참여 가능! '포트나이트' 10만 달러 상금의 듀오 토너먼트 실시
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-03-13 12:43
총 10만달러(한화 약 1억 1,300만원)의 상금이 걸린 포트나이트 듀오 토너먼트 ‘말썽꾼 듀오 컵'이 3월 16일 시작된다. 세계적인 게임 개발사이자 게임엔진 개발사인 에픽게임즈의 한국법인 에픽게임즈.....
[정보] 새로운 정글 생태계! 울창한 숲과 용암이 넘실거리는 오지 탐방
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-03-07 10:02
지진과 균열이 반복되던 포트나이트에 드디어 화산이 폭발! 시즌 8에서는 화산과 정글 생태계를 새롭게 선보였다. 섬의 북 동쪽 열대우림으로 구성된 이곳은 많은 나무가 빼곡히 자리 잡고 있으며, 화산.....
화산이 폭발한다! '포트나이트' 시즌8 개막
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-03-04 11:50
에픽게임즈 코리아(대표 박성철)는 자사가 개발하고 서비스 중인 '포트나이트'에 새로운 지역과 게임 플레이, 신규 아이템 그리고 새로운 혜택의 배틀패스를 즐길 수 있는 시즌 8이 개막했다고 4일 발표.....
'포트나이트', 28일 업데이트되는 시즌8 티저 이미지 공개
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-02-26 14:22
세계적인 게임 개발사이자 게임엔진 개발사인 에픽게임즈의 한국법인 에픽게임즈 코리아(대표 박성철)는 자사가 개발하고 서비스 중인 '포트나이트'의 시즌 8의 티저 이미지를 순차적으로 공개하고, 배틀.....
'총상금 1,120억원' 포트나이트, 2019년 e스포츠 계획 발표
게임뉴스 | 신연재 기자 (Arra@inven.co.kr) | 2019-02-25 11:36
포트나이트가 포트나이트 월드컵을 비롯한 총상금 1억 달러(약 1,120억 원) 규모의 2019년 e스포츠 여정을 시작한다. 에픽게임즈는 2019년을 달굴 포트나이트 월드컵 일정과 올해 e스포츠 계획을 공식 발.....
[기획] "멋이란 게 폭발하는 역대 최고의 의상은?" 시즌별 배틀패스 의상 총정리
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-02-19 18:02
격렬한 전투만큼 플레이어의 사랑을 받고 있는 게임 내 의상은 매번 재치 있는 모습을 선보이는 포트나이트 최대 관심사 중 하나로 뽑힌다. 그중 언젠가 로테이션으로 돌아오는 상점 의상과는 다르게 배.....
[패치] 본격적인 발렌타인 주간 시작 및 ‘보병소총’ 추가! v7.40 개선 사항
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-02-15 13:03
시즌 7의 끝자락에 선 포트나이트는 v7.40 패치를 통해 발렌타인 데이 이벤트의 본격적인 시작과 함께 많은 변화를 선보였다. 무엇보다 시즌 8이 시작하기 전 오버타임 도전을 통해 시즌 8의 배틀패스를.....
사랑을 전하세요, '포트나이트' 오버타임 도전 완료 시 배틀패스 제공
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-02-15 10:12
에픽게임즈의 한국법인 에픽게임즈 코리아(대표 박성철)는 자사가 개발하고 서비스 중인 '포트나이트'에 7.40 패치 업데이트를 실시했다고 15일 밝혔다. 플레이어들은 이번 업데이트와 함께 진행되는 ‘.....
[정보] '병 로켓'을 비롯해 건축 파괴에 비중을 둔 소모품! 효율보다는 즐거움이 우선?
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-02-12 17:41
최근 출시된 '병 로켓'은 대인보다는 건축물에 뛰어난 피해량을 보이는데, 포트나이트는 건축 파괴에 좀 더 특화된 소모성 아이템을 꾸준히 선보이고 있다. 이는 게임 내 건축이 굉장히 중요한 요소로 적.....
[정보] 2월은 핑크빛 보상이 쏟아진다! 발렌타인 데이 '사랑을 전하세요' 이벤트
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-02-08 11:32
따뜻한 마음으로 가슴이 차오르는 발렌타인 데이가 다가오면서 포트나이트는 '사랑을 전하세요' 이벤트를 진행한다. 미국 시간 기준으로 2월 8일부터 2월 27일까지 약 3주 동안 치러지는 해당 이벤트는 .....
[정보] 포트나이트를 여행하는 평화주의자를 위한 안내서 [1]
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-02-04 15:56
포트나이트는 빠른 진행과 건축을 활용한 다이내믹한 전투가 핵심이지만, 포린이에게는 이런 플레이가 어렵게만 느껴질 수 있다. 느린 파밍, 건축 속도로는 다른 플레이어의 빠른 흐름을 따라가기 힘들고.....
[기획] "아니.. 그냥 한 번 만들어 봤어요..." 엉망진창 '더 블록' 도전기
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-01-30 17:52
각자의 창의력을 십분 발휘하여 미니게임과 맵을 만들 수 있는 크리에이티브 모드가 포트나이트에 추가된 이후 여러 플레이어가 개성을 발휘해 맵 제작에 열중하고 있습니다. 특히 시즌 7의 중반 배틀로.....
다음 6개월   이전 1 | 2 | 3 | 4 | 5 | 6 다음   이전 6개월
명칭: 주식회사 인벤 | 등록번호: 경기 아51514 | 등록연월일: 2009. 12. 14 | 제호: 인벤(INVEN)
발행인: 서형준 | 편집인: 강민우 | 발행소: 경기 성남시 분당구 성남대로 331번길 8, 17층
발행연월일: 2004 11. 11 | 전화번호: 02 - 6393 - 7700 | E-mail: help@inven.co.kr

인벤의 콘텐츠 및 기사는 저작권법의 보호를 받으므로, 무단 전재, 복사, 배포 등을 금합니다.
Copyrightⓒ Inven. All rights reserved.