본문

뉴스 기사

[기사 제목]

언리얼 엔진 4에서 언리얼 엔진 5로 전환, '퍼스트 디센던트' 개발기

조회수 13463 | 루리웹 | 입력 2022.09.28 (19:20:00)
[기사 본문] 언리얼 엔진을 이용해서 제작되는 다양한 사례들을 살펴볼 수 있는 행사 '언리얼 서밋 2022'의 2일차. 게임 부분에서는 현재 넥슨 게임즈가 제작 중인 '퍼스트 디센던트'를 소재로 ‘언리얼 엔진을 활용한 퍼스트 디센던트 제작기’ 강연이 진행됐다. 


img/22/09/28/183834582d65104c1.jpg


해당 강연은 넥슨게임즈의 김준환 리드 엔진 프로그래머가 자리했으며, 퍼스트 디센던트 개발 과정에서 제작했던 빌드들. 그리고 해당 빌드에서 사용했던 엔진 단에서의 주요 기술 등을 설명하고자 했다. 


먼저, 강연자는 퍼스트 디센던트에 대한 소개와 엔진 개발 정책. 그리고 개발 히스토리를 이야기하며 본격적인 강연을 시작했다. 강연의 소재인 ‘퍼스트 디센던트’는 넥슨 게임즈가 현재 개발 중인 F2P 루트 슈터 장르 타이틀이다. 언리얼 엔진 4에서 개발이 시작되어 현재 언리얼 엔진 5에서 개발되고 있으며, PC와 콘솔 등 다양한 플랫폼에서의 출시를 목표로 개발 중이다.

img/22/09/28/1838346d70b5104c1.jpg


강연자가 재직 중인 ‘퍼스트 디센던트’의 엔진팀은 현재 4명으로 구성되어 있으며, 이들이 엔진단에서 필요한 기능들과 추가적인 머지(병합)과정을 진행하고 있다. 엔진팀이 고민한 결과물들은 각 빌드 과정에서 기능들로 추가되었으며, 이번 강연은 바로 이들이 고민했던 지점들과 각 기능을 구현하는 과정을 설명하는 데에 초점이 맞춰져 있다.

엔진팀이 엔진 개발 정책에서 가장 먼저 고민을 했던 것은 언리얼 엔진과 인하우스 엔진의 차이였다. 고민 과정에서는기능 개발이 우선인지. 엔진 버전 상향이 우선인지. 무엇이 더 중요한지를 체크하고자 했으며, 반복 작업을 빠르게 진행하기 위한 방법 등이 기준이 됐다.

고민에서 나온 결론은 버전 상향 이외에는 언리얼 엔진과 인하우스 엔진이 큰 차이가 없다는 것이었다. 단지 고려한 것이 있다면, 해당 시점에 필요한 모든 기능은 개발을 한다는 기조였다.

이는 곧 엔진 버전 상향은 개의치 않고 개발을 진행을 한다는 방향성이었다. 엔진 버전 상향으로 인해서 개발 내용과 추가된 기능이 중첩될 경우에는 복잡도와 사용 적극성 등을 고려해서 어디에 병합할 것인지를 기조로 두었다는 설명도 덧붙였다.

img/22/09/28/18383472fd15104c1.jpg


퍼스트 디센던트 개발 팀은 개발 시작부터 현재까지 해마다 시연 빌드를 상시 제작하여 성능 프로파일링을 계획하는 형태로 움직였다. 기능 개발에서는 콘솔을 가운데에 두고 진행했고. 여기에 성능 상위 / 하위를 제공하는 형태로 단계를 밟아 나갔다.

이 과정에서 엔진 버전 컨트롤은 퍼포스(Perforce)를 사용하는 결정을 내렸다. 브랜치는 엔진 개발 전용으로 두는 결정을 내렸는데, 이는 게임 개발 브랜치에 엔진 개발을 하면서 셰이더나 리소스 변경으로 개발이 멈추는 것을 방지하고자 위함이었다. 이후 엔진 개발이 안정화가 되었을 때 게임 개발에 적용하는 것으로 개발 프로세스를 구축했다는 설명이다.

기능의 병합은 언리얼 퍼포스에 상위 버전이 올라오면 병합을 진행했다. 이 경우, 공식 발표가 없더라도 버전업을 진행했으며, 병합에는 3~10일 정도의 근무일이 소요됐다. 다만, 언리얼 엔진 4에서 언리얼 엔진 5로 전환이 이루어질 때에는 별도 기준으로 작업이 이루어졌다.

img/22/09/28/18383479bf85104c1.jpg


이러한 프로세스에서 엔진 팀은 특정 빌드를 선보일 때마다 굵직한 변화와 고민의 과정을 거쳤다. 지금까지 퍼스트 디센던트는 MVP / FGT / CBT 및 IBT(사내 테스트)를 진행하며 몇 개의 빌드를 선보였다. MVP 빌드는 퍼스트 디센던트의 게임 기능을 소개하는 데 중점을 두었으며, 조만간 테스트를 진행할 CBT 빌드는 현재에도 개발을 진행하고 있는 중이다.

가장 처음 선보인 MVP 빌드는 UE4.23을 기준으로 제작됐다. 성능 프로파일링 같은 경우는 언리얼 엔진 4.23에는 프로파일러가 베타로 들어와 있었음에도 불구하고. 반복 작업을 위해서 펑션 트레이스를 제작해서 이를 빠르게 결과를 확인하도록 제작했다. 강연자는 해당 기능을 통해서 프로그램의 흐름이나 CPU 부하 등을 파악하는 데 이점을 가질 수 있었다는 설명을 남기기도 했다.

img/22/09/28/18383481ca25104c1.jpg


개발 초기인 만큼, 텍스처 디버깅을 위한 시각화 도구도 제작했다. 해당 코드에 해당 텍스처를 바인딩하면, 텍스처를 시각화 하는 툴이다. 이를 만든 이유는 기능 개발이나 디버깅을 위해서 텍스쳐를 빠르게 보고. 확인하기 위해서 만든 것이다.

한편 개발 팀은 이 시점에서 PS4 개발을 위해 데브킷을 수령하게 됐다. 데브킷 수령 이후 엔진팀은 빌드 패키징을 진행했고 프레임 향상을 위한 성능 분석을 시작했다. 그리고 개발 측면에서 만들어낸 기능들을 보다 적극적으로 적극적으로 사용할 수 있게 별도의 작업을 진행했다. 그 결과, 최대 4ms 의 GPU 타임이 감소되는 등 유의미한 결과를 도출해냈다.

img/22/09/28/1838348bc615104c1.jpg


물리 효과 등도 같은 기준에서 비교하는 과정을 거쳤고 PhysX를 최종적으로 결정하기에 이르렀다. 파괴 효과에 들어가는 최적화를 위해서는 시뮬레이션 가능한 파편 수를 제한하고. 이 중 특정 %를 무작위로 선택하여 시뮬레이션을 돌리는 형태로 확장을 진행했다.

이는 스태틱 메시(Static Mesh, 그래픽 카드에서 렌더링할 수 있는 폴리곤 세트로 구성되는 지오메트리 조각)로 배치했다. 오브젝트가 파괴 이벤트를 받으면, 그 시점에 파괴 오브젝트를 지연 로딩하고. 이를 시뮬레이션 하는 형태로 설계되어 있다. 다만, 머티리얼은 항상 동일하게 사용하도록 강제됐다. 이는 머티리얼이 달라지게 되면, 지연 로딩 시 텍스처를 재로딩하는 시간이 필요하기 때문이다. 엔진팀을 이를 막고 무조건 메쉬를 빠르게 올리는 형태로 최적화를 진행했다는 설명이다.

img/22/09/28/183834902285104c1.jpg



두 번째 결과물인 FGT 빌드는 언리얼 엔진 4.25를 기준으로 제공되었고 G-buffer(광원 등에 관련된 데이터를 저장하기 위해서 사용하는 모든 텍스처를 의미)최적화를 우선 순위로 삼았다.

이는 PS4와 Xbox One에 한정된 최적화. 메모리 누수를 최소화하는 데에 초점을 맞추기 위함이었다. 최적화 진행 결과 기존 레이아웃은 G-Buffer A/B/C가 있는 것에서 G-buffer A/B만을 사용하는 형태로 최적화가 이루어졌다.

실제 성능 비교를 보면, Xbox One에서 1ms~1.5ms 사이의 최적화를 확인됐다. 컴프레션과 비 컴프레션의 상태를 비교해보았을 때에는, 정밀도 측면에서는 최종 결과물의 차이가 나왔다. 물론 이는 동적인 영상에서는 인지하기가 힘든 부분이기는 하지만. 그럼에도 퀄리티의 차이를 만들어 낸다는 설명이다.

img/22/09/28/1838349ceca5104c1.jpg


img/22/09/28/1838349d0c45104c1.jpg


FGT 빌드는 중간 빌드이기에, 메모리 최적화 등을 고민하기 시작했다. 퍼스트 디센던트의 경우, 오픈 월드가 아닌 단일 레벨 단위로 구성되어 있어, 레벨 구성 형태에 따라서 월드 컴포지션(언리얼 엔진에서 제공하는 대규모 월드 관리를 위한 시스템)을 사용할 것인지. 


아니면 레벨 스트리밍 볼륨(레벨 스트리밍 -로딩화면 없는 월드를 만들기 위해서 플레이 도중 레벨을 비도기 로드/언로드 하는 기법-을 보조하는 시스템)을 사용할 것인지를 결정했다. 필드 영역은 256M X 256M로 제한해서 사용했다. 이는 메모리를 넉넉하게 사용할 수 없었기 때문이었다.

img/22/09/28/183834ab0ec5104c1.jpg


이외에도 오클루젼 컬링(Occlusion culling, 가려진 객체의 렌더링을 비활성화 하는 프로세스) 등을 적용했으며, PSO 캐시 등에서는 자동화할 수 없는 부분을 제외하고. 가능한 부분들은 자동화를 구축하고자 했다.

이러한 개발 과정을 거쳐, FGT 빌드에서는 PS4와 PS5. 그리고 PC 버전까지의 시연이 나왔다. 현재 UE 5로 전환을 마친 상황에서는 일부 시퀀스가 바뀌기는 했지만, 큰 무리 없이 컷신과 플레이를 보여줄 수 있도록 기능들을 추가했다.

img/22/09/28/183834c4e275104c1.jpg


img/22/09/28/183834c50175104c1.jpg


현재 작업 중이 CBT 빌드는 UE 4.26에서 시작해서 UE 5.0.3까지 이어지며, 엔진 업데이트와 언리얼 엔진 5로의 전환도 성공적으로 마무리했다. 엔진 개발 팀은 이전부터 언리얼 엔진 5 로드맵을 주시하고 있었고 그 과정에서 CBT 일정이 확정되어 UE 5로의 전환을 시작했다고 설명했다.

‘일단 업데이트를 시도해 보자’는 것에서 출발해, 엔진팀 내에서 1인이 코드 병합을 시작했으며, 이후에는 팀원들이 투입되면서 병렬로 개발이 시작됐다. 이후에는 실제 게임 패키징과 서버에서의 동작을 확인하고 병합이 완료되는 과정을 거쳤다. 이 모든 과정에는 약 4개월 정도의 시간이 걸렸다. 전환을 우선 순위로 두고 버그 대응을 이후에 진행하는 것으로 기조를 잡았다.

img/22/09/28/183834cc01d5104c1.jpg



UE 5로 전환이 되고 나서, 월드 파티션(대규모 월드를 관리하기 위한 자동 데이터 관리 및 거리 기반 레벨 스트리밍 시스템)으로의 전환도 이루어졌다. 월드 파티션 기능이 추가되면서 학습 시간이 필요했고. 엔진 전환이 되면서 추가된 파일의 수가 많이 늘어난 관계로 성능 부하가 발생하기도 했다. 그 결과, 하드웨어 부분에서 최적화를 진행하는 것으로 이어졌다.

UE 5에서 제공하는 ‘나나이트’의 사용도 CBT 빌드에서 진행됐다. 다만, UE 5.0.3 에서는 나나이트 사용에 제한이 있어, 일부 기능이 지원되지 않는 상황이었다. 개발팀은 이를 해결하고자 메인 브랜치를 확인하고. 현재는 해당 기능의 코드를 부분 병합해서 사용하고 있다. 나나이트는 현재 퍼스트 디센던트의 비주얼 측면에서 많은 부분을 차지하고 있는 상태다.

img/22/09/28/183834d0d745104c1.jpg


‘루멘’의 경우 매우 훌륭한 이미지 퀄리티를 내고 있으며, 아티스트 들이 좋아하는 기능으로 자리를 잡았다. 글로벌 일루미네이션을 제공하는 한편, 엔진팀은 추가로 라이트 프로퍼게이션 볼륨 (Light Propagation Volume, GI의 동적인 생성을 위한 시스템)을 UE5 버전으로 구현했다. 해당 기능의 추가는 구세대 콘솔이나 로우앤드 PC에 대응하도록 하기 위함이었으며, UE4 대비 성능 및 이미지 퀄리티 개선도 확보할 수 이었다.

이러한 결과에서 도출된 비주얼은 두 기능이 차이를 보이고 있다. 광원 측면에서 루멘을 적용한 것이 더 나은 비주얼을 보여주고 있음을 알 수 있다.

img/22/09/28/183834d80e65104c1.jpg


퍼스트 디센던트는 엔진 퀄리티 (Scalability, 다양한 플랫폼과 하드웨어에서 게임에 최적의 퍼포먼스를 유지하기 위한 여러가지 퀄리티 세팅을 조절함을 의미) 측면에서는 매우 낮음 / 낮음 / 보통 / 높음 / 매우 높음으로 옵션을 제공한다. 보통 옵션 이상에서는 나나이트를 사용. 물리 효과 등도 옵션에 따라 차이를 보이고 있다.

img/22/09/28/183834e33845104c1.jpg


img/22/09/28/183834e357c5104c1.jpg


img/22/09/28/183834ec2f95104c1.jpg


강연에서 각 빌드의 발전상을 소개한 강연자는, 강연의 말미에 내부에서 개발 중인 일부 효과들도 설명하고자 했다. 여기에는 족적에 따라서 물이나 풀 등과 상호작용이 이루어지는 ‘풋 트레일 맵’ / 사전 통합 피부(Pre-integrated Skin, 정확도를 희생하면서 퍼포먼스 비용을 낮추는 데 우선순위를 두는 셰이딩 모델) 등을 적용하기도 했다.

이외에도 VRS(Variable-Rate Shading, 셰이딩 되는 픽셀 수 를 조건에 따라서 다르게 표현하는 것) 기능도 적용했다. 시각적 측면에서 최적화에 관련된 기술이며, 개발팀은 불필요한 부분의 셰이딩을 낮추는 해당 기능을 통해 4K 환경에서의 최적화 성능 조정과 부스트를 확보하고자 했다.

img/22/09/28/183834f42da5104c1.jpg


이렇게 퍼스트 디센던트의 엔진 측면에서 발전상을 소개한 강연자는 마지막 Q&A를 통해 퍼스트 디센던트 제작 과정에서 ‘매 과정이 어려웠다’는 말을 남겼다. 플랫폼 지원이나 성능 최적화. 그리고 언리얼 엔진의 버전업과 기능 구현 등 모든 과정이 쉬운 일이 아니었다는 설명이다. 그리고 이러한 어려움은 CBT 빌드를 제작 중인 현재도 마찬가지라는 말로 강연을 마쳤다.

퍼스트 디센던트는 현재 개발 중이며, 오는 10월 20일부터 10월 27일까지 일 주일 간 스팀을 통해서 베타 테스트를 진행할 예정이다. 아직 발매일은 공개되지 않았으며, 지원 플랫폼은 PC와 PS4 및 PS5. Xbox One 및 Xbox Series X|S로 확정된 상태다.

img/22/09/28/183834fd3855104c1.jpg


img/22/09/28/183834fd5605104c1.jpg



정필권 기자   mustang@ruliweb.com




관련게임정보 목록

퍼스트 디센던트

기     종

온라인/PS4/XBOX ONE/PS5/XSX

발 매 일

미정

장     르

루트 슈터

가     격

제 작 사

넥슨게임즈

기     타



댓글

목록보기

댓글 | 29
1
 댓글


(IP보기클릭)220.124.***.***

BEST
잘 나와줬으면 좋겠음 어느새부턴가 pc방가서 할만한 게임이 없는 게 좀 씁쓸할때가 많음 예전 pc방 전성기때는 pc방에서 신작게임들 쏟아져나오고 이것저것 할때가 참 재밌었는데
22.09.28 19:20

(IP보기클릭)222.251.***.***

BEST
나 진짜 폐지줍는 망령이라 제발 잘나왔으면하는데 다른 루트슈터 장르들 장점 베껴와서라도 잘만들었으면좋겠음 제~발 3인칭 룩딸은 못참아
22.09.28 20:13

(IP보기클릭)222.96.***.***

BEST
k워프라임 k데스티니가디언즈 제발 뭐라도 할게있었으면
22.09.28 19:43

(IP보기클릭)112.165.***.***

BEST
언5 으로 교체한다는건 좋은 소식이네
22.09.28 20:00

(IP보기클릭)220.124.***.***

BEST
잘 나와줬으면 좋겠음 어느새부턴가 pc방가서 할만한 게임이 없는 게 좀 씁쓸할때가 많음 예전 pc방 전성기때는 pc방에서 신작게임들 쏟아져나오고 이것저것 할때가 참 재밌었는데
22.09.28 19:20

(IP보기클릭)222.96.***.***

BEST
k워프라임 k데스티니가디언즈 제발 뭐라도 할게있었으면
22.09.28 19:43

(IP보기클릭)59.7.***.***

캬루 
워프레임이겠죠... | 22.09.28 23:29 | | |

(IP보기클릭)121.129.***.***

캬루 
최악의 경우는 k디비전. 총알스펀지 발전 없는 빌드 있으나 마나인 NPC들 등등등 | 22.09.29 12:18 | | |

(IP보기클릭)59.7.***.***

49호
K게임답게 빌드고정이 심하겠죠 ㅋㅋ | 22.09.29 23:37 | | |

(IP보기클릭)112.165.***.***

BEST
언5 으로 교체한다는건 좋은 소식이네
22.09.28 20:00

(IP보기클릭)222.251.***.***

BEST
나 진짜 폐지줍는 망령이라 제발 잘나왔으면하는데 다른 루트슈터 장르들 장점 베껴와서라도 잘만들었으면좋겠음 제~발 3인칭 룩딸은 못참아
22.09.28 20:13

(IP보기클릭)117.110.***.***

잘 나와서 데가 좀 조져봐!!!
22.09.28 20:26

(IP보기클릭)61.253.***.***


너무 멋있어. 광대도 튀어나오고 턱도 각진 여자 캐릭터 (어찌 보면 이런 캐릭터는 한국게임 최초) 외국에서도 매력적이다고 난리......
22.09.28 20:46

(IP보기클릭)106.250.***.***

itzyoona
이런 캐릭터들 검은 사막에 많은디 | 22.09.29 08:29 | | |

(IP보기클릭)61.74.***.***

itzyoona
조회수가 저정도면 의미없는거 같은데 | 22.09.29 14:42 | | |

(IP보기클릭)221.144.***.***

겜은 별로 눈에띄는 구석이없더라 여캐는 눈에띔
22.09.28 22:26

(IP보기클릭)211.114.***.***

쪽팔린 K-과금 방식만 아니면 좋겠음. 게임 자체는 재밌어 보여서...
22.09.29 00:47

(IP보기클릭)211.202.***.***

우왕 굿 ... 하다가 맵크기가 256 x256 ..... 우와 무지 크네.. 했는데 km 가 아니라 m .... 장난하세요?
22.09.29 01:28

(IP보기클릭)223.38.***.***

재미있어 보이네요 잘나와주길
22.09.29 04:19

(IP보기클릭)118.235.***.***

언5면.. 대충 24 25년쯤에 나오려나
22.09.29 08:53

(IP보기클릭)121.129.***.***

저 얼굴들 역시 낯이 익은데……. 그렇게 흔한 얼굴이었나?
22.09.29 12:18

(IP보기클릭)221.150.***.***

언리얼 퍼포스 좋은 정보네요
22.09.29 12:29

(IP보기클릭)61.33.***.***

루트슈터 잘되게 해주세요...
22.09.29 13:33

(IP보기클릭)222.108.***.***

LPV는 크라이시스2 때 등장한 기술이라 GI 향만 나는데 요즘이면 VXGI라도 구현해야 되는거 아닌가
22.09.29 13:53

(IP보기클릭)1.221.***.***

틀은 잘만든거같은데 여기에 돈슨이 원래 하던데로 하면 얼마나 재미없어질지
22.09.29 14:04

(IP보기클릭)221.152.***.***

넥슨 요새 괜찮나요? 정액제 아닌 온라인겜은 안한지 좀 되서 지금은 어떤가 싶네요
22.09.29 18:29

(IP보기클릭)121.141.***.***

엔진 들먹거리면서 기술 광고하는 것부터가 망겜의 전조인데 괜찮으려나
22.09.29 21:51

(IP보기클릭)118.235.***.***

Infidelain
애초에 게임광고하는 자리가 아니라 다른 개발자들 참고하라고 기술발표하는 자리임 | 22.10.04 08:00 | | |

(IP보기클릭)223.38.***.***

돈쳐바른 느낌은 나지만 그냥 흔한 온라인겜이네.. 뭐 원래기대도 없었지만 ㅋㅋㅋ
22.09.29 22:07

(IP보기클릭)175.210.***.***

꼬락서니 보니까 엎어져서 안 나올 수도 있겠네
22.10.01 04:51

(IP보기클릭)112.163.***.***

로아처럼 라데온 최적화는 안해주겠지... 베타 그런거 해보고 라데온 최적화 안해주면 안해야지
22.10.02 09:37

(IP보기클릭)112.163.***.***

희한하게 국산겜들은 라라랜드 최적화 너무 안해준다 진짜
22.10.02 09:38

(IP보기클릭)211.234.***.***

그냥 데가 배껴라... 반 이상은 갈거같다...
22.10.03 09:25


1
 댓글




목록보기
BEST 뉴스

PC/온라인
비디오/콘솔
모바일
PC/온라인
비디오/콘솔
모바일
PC/온라인
비디오/콘솔
모바일

BEST 유저정보
콘솔
PC
모바일
취미
BEST 게시글
게임
애니/책
갤러리
커뮤니티
게임
애니/책
갤러리
커뮤니티
게임
애니/책
갤러리
커뮤니티
게임
애니/책
갤러리
커뮤니티


X