2021.11.05 News

엔씨소프트 퍼블리싱코디네이션실, 게임 성능 최적화 스킬을 인정받아 2021 Arm Mali Graphics Championship 1위 수상

엔씨는 게임이 다양한 기기에서 오류 없이 안정적으로 플레이될 수 있도록 성능을 최적화하기 위해 노력합니다. 구체적으로는 모바일 성능 최적화, 메모리 최적화, 게임 안정화라는 세 가지 축을 중심으로 게임 성능 최적화를 지원하고 있습니다. 최근 엔씨의 퍼블리싱코디네이션실 GameDev팀 소속 박수완 팀장이 2021 암 말리 그래픽스 챔피언십(Arm Mali Graphics Championship 2021)에서 1위를 차지하며 성과를 인정받았습니다. 이번 기사에서는 2021 암 말리 그래픽스 챔피언십 수상을 이뤄낸 엔씨의 게임 성능 최적화 담당 박수완 팀장의 이야기를 들어보겠습니다.

AMG_211029_KV


암 말리 그래픽스 챔피언십(Arm Mali Graphics Championship)은 Arm Mali GPU(모바일)의 성능을 최적화하는 스킬에 대한 평가를 겨루는 글로벌 개발 대회다. 이 대회의 참가자들은 모바일 게임 APK(Sample Game)를 공유하고 해당 APK를 분석한 후 성능 최적화 포인트와 문제점 수정을 가능한 한 많이 이뤄내야 한다. 그중 최고의 성적을 올린 참가자가 우승자로 선정된다. 2021년 10월 19~21일에 진행된 Arm DevSummit에서 올해 챔피언십의 우승자가 발표되었는데, 바로 엔씨소프트 퍼블리싱코디네이션실의 박수완 팀장이 그 주인공이 되었다.

AMG_211029_01


대회에서 현업에서의 방향성을 검증하고 싶었다


2021
말리 그래픽스 챔피언십 1 수상을 축하한다. 현업만으로도 무척 바빴을 텐데 어떻게 대회에 참여하게 되었는지 계기가 궁금하다.
이번 암 말리 그래픽스 챔피언십이 개최된다는 소식을 소셜미디어 등을 통해 알게 되었다. 전 세계의 주요 게임 스튜디오들이 참가하는 대회이기도 하고, 현재 진행하고 있는 성능 최적화 업무와 대회의 성격이 매우 비슷해서 현업에서 쌓은 스킬을 실제로 테스트할 수 있는 흥미로운 기회라고 생각했다. 또한 현재 하는 일의 방향성을 검증, 테스트해보고 싶어서 출전을 결심했다. 성능 최적화 프로세스와 Arm Mobile Studio의 활용 방법을 제대로 알 수 있는 기회였고, 더불어 좋은 결과까지 얻어서 매우 기쁘다.

AMG_211029_02

암 말리 그래픽스 챔피언십에 제출된 27가지의 이슈 세부 분석 항목(Detailed Analysis)



어떤
성과를 인정받아 1위를 수상했다고 생각하는가.
엔씨의 퍼블리싱코디네이션실 GameDev팀의 주 역할은 출시를 앞둔 다양한 자사 프로젝트에 대해 개발실과 협업을 거쳐 성능 최적화 작업을 수행하는 것이다. 아무래도 이번 암 말리 그래픽스 챔피언십에서 지향하는 목표점과 현재의 업무가 유사하기 때문에 좋은 시너지가 날 수 있었다고 생각한다. 엔씨에서 여러 실력 있는 개발실과 긴밀히 협업하는 과정에서 매일 새로운 지식과 경험을 채우고 있었는데, 이렇게 쌓인 노력들이 이번 대회 수상에도 도움이 되었다.

이번 챔피언십을 준비할 수 있는 기간이 길지는 않았다. 그래도 이슈 해결에 필요한 툴과 그래픽들을 이해하고 파악하기엔 시간이 충분했다. 암 말리에서 제공한 자료들과 올해 초 진행한 성능 최적화에 대한 웨비나에서 얻은 팁들을 적용해보기도 했다.

AMG_211029_03

초기 프로파일링 단계(Initial Profiling using Arm Performance Advisor)



AMG_211029_04

대회에 제출된 3번 Analysis. Removing discard Syntax in Enemy Fragment Shader



AMG_211029_05

대회에 제출된 14번 Analysis. Reduce 32bit Precision (highp) ratio



성능 최적화는 게임의 발판과 디테일을 쌓는다


엔씨의
게임 성능 최적화를 담당하는 퍼블리싱코디네이션실은 어떤 일을 하는가.
퍼블리싱코디네이션실은 기술과 마켓, 개발 세 가지 파트로 나뉜다. 기술 부분은 엔씨의 모바일 게임 출시에 필요한 기술 전체 프로젝트 관리를 담당하는 기술 PM들이 속해 있다. 마켓 부문은 구글/애플/3rd Party 마켓 출시 준비와 마켓 피쳐드/정책 관리한다. 마지막으로 개발 부문은 게임의 성능 최적화, Game Performance Analytics(GPA), Global Trend Analytics(GTA) 개발, 그리고 게임 운영 툴 개발로 다시 나뉜다.

퍼블리싱코디네이션실 개발 부문의 주 역할은 게임 기술을 관리하는 일뿐만 아니라 기술적으로 자사 게임에 도움이 되는 개발의 중요성에 주목하는 것이다. 그중에서도 내가 속한 성능 최적화 부문은 엔씨 게임이 출시되기 전에 개발팀 등 유관부서와 협업하여 게임의 안정성을 확보하고 성능을 최적화하는 작업을 진행한다. 게임은 모바일 성능 최적화, 메모리 최적화, 게임 안정화 지원이라는 세 가지 축을 중심으로 게임 개발실 엔진팀을 통해 지원하고 있다. 내가 엔씨에서 진행했거나 진행하고 있는 대표적 프로젝트는 ‘트릭스터M’, ‘블레이드 & 소울 2’, ‘리니지W’ 등을 꼽을 수 있다.

엔씨의 게임 개발 과정에서 게임 성능 최적화의 역할과 중요성은 무엇인가.
성능 최적화는 게임이 더 크게 성공하는 데 발판 역할을 한다고 생각한다.

그리고 무엇보다도 게임의 안정성을 지원하고 게임에 디테일을 더한다는 점에서 중요하다. 게임이 아무리 탄탄한 스토리와 게임성을 갖추었더라도, 크래시 등이 잦아서 플레이어들에게 게임의 묘미를 제대로 전달하지 못하면 만족스러운 게임이 되기 어렵다. 적절한 튜닝으로 가능한 한 다양하고 많은 디바이스들을 커버할 수 있도록 게임 성능을 최적화해야만 사용자층도 두꺼워질 수 있다고 믿는다.


퀄러티와 타협하지 않는 최적화를 향해서


안정적인
게임 성능을 지원하기 위한 방향성과 목표가 있다면.
엔씨에 몸 담기 전에 모바일 제조사와 PC GPU 제조사에서 성능 최적화를 지원하는 업무를 맡으며 처음 커리어를 시작했다. 이때 GPU Driver를 개발하며 GPU 동작 원리/HW 특성 등을 배웠다. 모바일/PC 타깃 서비스 성능을 최적화하고 버그를 수정하는 업무도 진행했다. 이러한 경험들이 쌓여 엔씨에서 게임 성능 최적화 지원을 담당하게 되었다.

앞으로도 엔씨 게임의 성능과 안정성을 최대한 지원하고 싶다. 흔히 ‘최적화’라고 하면 퀄리티를 적당히 낮추면서 상황과 타협하는 것을 떠올리고, 실제로 그런 방법도 있다. 그리나 우리의 최종 목표는 가능한 한 높은 그래픽 퀄리티를 유지하면서 좋은 성능을 더하는 것이다.

TOP