날짜 :
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를 사용하기도 했다.

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

코멘트

새로고침
새로고침

전체 리포터 123개 등록됨 (2019-01-18 ~ 2018-07-17)

[기획] "6개 시즌을 겪으면서 진화를 거듭했다!" 포트나이트 1년, 변화의 기록
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-01-18 18:07
2017년 9월 해외에서 처음 배틀로얄을 선보인 후 포트나이트는 전 세계적으로 큰 인기를 누리게 됐다. 한국에서는 약 4개월 뒤인 2018년 1월 23일 출시하여 어느새 1년 동안 서비스를 이어오고 있다. 포.....
프로게이머 및 유명 스트리머 총 출동! '포나 스트리머 난투' 20일 진행
게임뉴스 | 이시훈 기자 (Maloo@inven.co.kr) | 2019-01-18 15:47
인터넷 게임 전문 방송국 나이스게임TV에서 ‘포트나이트 스트리머 난투’ 11회차 경기를 1월 20일(일) 오후 7시부터 생중계한다. 격주로 진행되는 ‘포트나이트 스트리머 난투’는 포트나이트 프로게이.....
원샷원킬! '포트나이트' 저격 전용 모드 추가
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-01-16 11:47
에픽게임즈 코리아(대표 박성철)는 자사가 개발하고 서비스 중인 포트나이트에 7.20 패치 업데이트를 진행했다고 16일 밝혔다. 이번 업데이트의 메인 테마는 ‘저격’이다. 에픽게임즈는 ‘저격의 재미...
[정보] 빌드 싸움을 위한 인기 무기 조합! 산탄총 최고의 짝꿍을 찾아라!
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-01-11 17:12
오랜 시간 포린이부터 고인물까지 포트나이트 최고의 무기 자리를 꿰차고 인기가 식지 않는 게 바로 산탄총이다. 건축을 통해 적에게 접근하기 쉽고, 근접 전투가 활발한 게임 내에서는 뛰어난 위력으로.....
스틸에잇, 모든 게임단 '팀 그리핀'으로 통합 [10]
게임뉴스 | 김홍제 기자 (koer@inven.co.kr) | 2019-01-11 11:22
글로벌 e스포테인먼트 스틸에잇이 리그 오브 레전드 팀 그리핀 인수에 이어, 전체 게임단 브랜드 통합 및 리빌딩을 진행한다. 스틸에잇은 보유하고 있는 리그 오브 레전드, 오버워치, 배틀그라운드, 포트.....
[정보] 어려움 난이도의 전투 과제가 상당수! 시즌 7 도전 과제 중간 점검
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-01-09 17:24
2018년부터 2019년까지 겨울을 보내고 있는 포트나이트 시즌 7도 어느새 중반에 접어들면서 5주 차를 맞이하고 있다. 이번 시즌에는 겨울에 걸맞은 빙산 생태계와 새로운 개념의 탈것인 비행기가 등장하.....
소음기 저격총 등장! 포트나이트, 기해년 첫 번째 업데이트 실시
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-01-09 12:47
에픽게임즈의 한국법인 에픽게임즈 코리아(대표 박성철)는 자사가 개발하고 서비스 중인 '포트나이트'의 시즌7 3차 콘텐츠 업데이트를 실시했다고 9일 밝혔다. 2019년 처음으로 추가된 신규 아이템은 소.....
[기획] 성적은 책임질 수 없지만 즐거움은 UP! 포나만의 기막힌 아이템들
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2019-01-04 18:14
꾸준한 업데이트로 빠르게 변화하는 포트나이트에는 유독 특별한 효과나 외형을 지녀서 플레이어의 눈길을 끄는 아이템이 많다. 이렇게 재밌는 발상의 아이템은 어쩔 땐 예능 아이템으로, 가끔은 기상천.....
포트나이트 프로-스트리머 대결! 나이스게임TV, '스트리머 난투' 진행
게임뉴스 | 장민영 기자 (Irro@inven.co.kr) | 2019-01-04 15:55
인터넷 게임 전문 방송국 나이스게임TV에서 1월 6일(일) 오후 7시부터 에픽게임즈의 포트나이트로 진행되는 포트나이트 스트리머 난투 10회차 – 포트나이트 팀 배틀을 진행한다. '포트나이트 스트리머 .....
볼륨을 높여 건물을 파괴 '포트나이트' 시즌7 2차 업데이트 진행 [1]
게임뉴스 | 정필권 기자 (Pekke@inven.co.kr) | 2018-12-31 10:09
에픽게임즈의 한국법인 에픽게임즈 코리아는 자사가 개발하고 서비스 중인 '포트나이트' 시즌7 2차 콘텐츠 업데이트를 진행했다고 31일 밝혔다. 올해 마지막인 이번 업데이트에는 새로운 아이템 붐박스가.....
'악어'의 포트나이트 맞춤 교육, SBS e스포츠 매거진 GG 통해 방송
게임뉴스 | 장민영 기자 (Irro@inven.co.kr) | 2018-12-28 15:01
자료 제공 : SBS e스포츠 매거진 GG 매주 일요일 SBS에서 방송 되는 ‘e스포츠 매거진 GG’에 특별한 손님이 찾아왔다. 포트나이트 100만 구독자 크리에이터 악어와 걸그룹 나인뮤지스 혜미가 'Let's 포.....
포트나이트, 연말까지 모든 한정 모드 오픈!
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2018-12-24 12:11
에픽게임즈 코리아(대표 박성철)는 자사가 개발하고 서비스 중인 '포트나이트' 시즌7에 1차 콘텐츠 업데이트를 통해 크리스마스 시즌 맞이 선물상자를 추가했다고 24일 발표했다. 이번 이벤트로...
[정보] 눈 속에 잠들어있던 성의 등장과 비행장, 겨울 마을 등 '빙산' 생태계 탐방
게임뉴스 | 송철기 기자 (Mone@inven.co.kr) | 2018-12-20 18:15
한겨울 추위와 함께 몰려온 포트나이트의 빙산 지역은 하얀 눈과 높은 산으로 가득 채워져서 다른 생태계에서는 볼 수 없던 완전히 새로운 생태계를 형성하고 있다. 눈으로 덮인 덕분에 건축 흔적 및 플.....
포린이들의 히어로가 온다! 'TOP_Aimhero_o', 포나스쿨 라이브 출연
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2018-12-19 16:09
인터넷 게임 전문 방송국 나이스게임TV가 진행하는 포트나이트 교육 예능 프로그램 ‘포나스쿨 라이브(포나’s COOL! Live)’에 포트나이트 프로게이머 ‘TOP_Aimhero_o’가 일일 선생님으로 출연한다. .....
그리운 모드를 만날 기회, '14일간의 포트나이트' 이벤트 시작
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2018-12-19 12:43
에픽게임즈의 한국법인 에픽게임즈 코리아(대표 박성철)는 자사가 개발하고 서비스 중인 '포트나이트'에 다양한 기간 한정 모드를 만나볼 수 있는 ‘14일간의 포트나이트’ 이벤트를 시작한다고 19일 밝.....
[돌발포토] 국내에서 화려한 막을 올리다! '포트나이트 코리아 오픈 2018' 풍경기
포토뉴스 | 유희은 기자 (Youii@inven.co.kr) | 2018-12-15 19:07
매서운 바람이 몰아친 금일(15일), 고려대학교 화정체육관에서 '포트나이트 코리아 오픈 2018' 행사가 진행되었습니다. 영하로 떨어진 날씨에도 경기 및 오늘 행사에 참여한 인플루언서들을 보기 위해 많.....
[포트나이트 코리아 오픈] 경쟁보다 즐거움! 10억원 규모의 e스포츠 자선 행사 성료
게임뉴스 | 신연재, 유희은 기자 (Arra@inven.co.kr) | 2018-12-15 18:41
국내 최초 포트나이트 대규모 e스포츠 행사인 '포트나이트 코리아 오픈 2018'이 15일 고려대학교 화정체육관에서 열렸다. 총 상금 10억 원 규모로 펼쳐지는 이번 행사는 모든 상금이 수상자의 이름으로 .....
[인터뷰] 포트나이트 코리아 오픈 선수단, "하는 재미, 보는 재미 둘 다 잡은 게임" [1]
인터뷰 | 신연재, 유희은 기자 (Arra@inven.co.kr) | 2018-12-15 12:32
15일 고려대학교 화정체육관에서 '포트나이트 코리아 오픈 2018'가 진행됐다. 이번 행사는 총 상금 10억 원 규모로 펼쳐지며, 모든 상금은 수상자의 이름으로 원하는 단체에 기부되는 자선 대회다. 대회.....
창의력 발휘 시간, ‘포트나이트 크리에이티브’ 전체 유저에게 공개
게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2018-12-14 12:52
에픽게임즈의 한국법인 에픽게임즈 코리아(대표 박성철)는 자사가 개발하고 서비스 중인 '포트나이트'에 새롭게 추가된 ‘포트나이트 크리에이티브’를 모든 플레이어가 이용할 수 있게 됐다고 14일 발표.....
다음 6개월   이전 1 | 2 | 3 | 4 | 5 | 6 | 7 다음   이전 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.