포켓몬스터 레츠고! 피카츄·이브이부터 소드·실드, 그리고 포켓몬 레전드 아르세우스(이하 아르세우스)에 이르기까지, 최근의 게임프리크는 기존에 보여주지 않았던 혁신에 도전하며 변화하는 모습을 보이고 있다. 매번 똑같은 인상의 게임을 반복하며 변화와는 거리가 먼 모습을 일관했던 게임프리크가 어떻게 단기간에 혁신을 추구하게 되었는지 엿볼 수 있는 기술 강연이 금일(23일), CEDEC 2022(이하 세덱) 행사를 통해 소개됐다.

'클라우드 보안을 담보로 한 포켓몬 개발환경'이라는 주제로 진행된 이날 강연에는 3인의 게임프리크 개발자가 참여했다. 게임프리크 연구개발부의 운영총괄리더 직을 역임 중인 타치하라 하루키 개발자는 게임 규모의 확대와 게임 품질의 고도화에 대응하기 위해 아르세우스에 적용한 빌드 파이프라인의 클라우드화에 대해 이야기하겠다며, 게임 개발 환경의 인프라 담당자와 닌텐도 스위치 타이틀의 클라우드화 도입을 검토하고 있는 이들에게 도움이 되는 내용일 것이라고 전했다.

한편, 포켓몬 시리즈의 개발사 '게임프리크'는 2022년 3월 기준으로 총 169명의 임직원이 속해 있는 비디오 게임 개발사로, 현재까지 2억 9,700만 장에 달하는 포켓몬 게임 타이틀을 판매한 기록을 가지고 있다.

▲ 게임프리크 타치하라 하루키 R&D부 리더, 다카야마 프로그래머 , 이와자와 유키 프로그래머

▲ 게임프리크는 크게 연구개발부, 타이틀 개발 팀, 그리고 사내 인프라를 관리하는 정보 시스템 부문으로 구분된다

첫 번째 순서로 클라우드를 도입하기 이전의, '소드·실드' 개발 당시의 빌드 파이프라인이 소개됐다. 기존에는 에셋의 빌드와 프로그램의 빌드가 각각 헬릭스 코어 어셋과 깃랩 소스 코드로 오피스 내 온프레미스 머신에서 관리되고 있었고, 최종 패키징 단계에서 다시 헬릭스 코어 파일로 전환되는 구조를 취하고 있었다. 해당 구조에서는 온프레미스 머신의 보수가 매우 힘들다는 점, 그리고 성수기에 빌드 머신 부족 현상이 발생한다는 점이 꾸준히 문제점으로 지적됐다.

포켓몬 시리즈의 개발 규모는 '레츠고! 피카츄·이브이' 이후로 꾸준히 확대되고 있다. 프로젝트 규모 자체가 커지면서 앞에서 지적한 문제들과 더불어 사무실 내 공간 부족 문제나 전력 문제가 발생하기 시작했고, 이를 해결하기 위한 대안이 필요하게 됐다. 그때 게임프리크에서 떠올린 대안이 바로 클라우드를 도입하는 것이었다.

▲ 소드실드를 넘어 아르세우스까지…프로젝트의 규모는 점점 커져만 갔다

기업에서 새로운 시스템을 도입하려면, 이에 따라 얻게 되는 메리트와 디메리트를 사전에 확실히 계산해야만 한다. 게임프리크는 클라우드 도입으로 사내에 물리적인 PC를 두지 않아도 되고 전력 부족의 영향을 받지 않으며, 불필요한 유지 보수 비용을 절감할 수 있고, 더 효율적인 이미지 갱신이 가능해질 것으로 판단했다.

반대로 디메리트로는 도입 자체에서 발생하는 빌드 파이프라인 대응 비용, 인터넷 게이트웨이의 대역 압박, 그리고 보안 담보의 필요까지 세 가지를 꼽았다. 타치하라 리더는 각각의 디메리트에 '1)한번만 비용을 지출하면 장래 운용 비용의 감소가 예상되므로 선행투자가 될 것', '2)전용선의 도입으로 해결 가능', '3) 보안 대책의 실시로 담보된다'라며 클라우드 도입을 진행하게 된 배경을 설명했다.

클라우드 도입을 고려하는 이들을 위해 사전에 해야 하는 절차에 대한 소개도 이어졌다. 첫 번째로 적절한 클라우드 플랫폼을 선정해야 한다. 게임프리크에서는 이행하는 업무 범위를 정하고, 필요한 기능을 좁혀가며 비교하는 과정을 거쳤다. 이외에도 대부분의 클라우드가 종량 과금제를 채택하고 있으므로, 미리 이용 규모를 상정하는 것이 좋다. 세 번째로 이용 소프트웨어의 라이센스 계약을 확인해야 한다. 플랫폼 대다수는 플랫폼 내 마켓 플레이스를 통해 이에 대응하고 있다. 타치하라 리더는 전문 지식이 없거나 시간이 없어 조사가 어렵다면 플랫폼 내 고객 서비스를 통해 상담을 받으면 좋다고 조언했다.

이외에도 경영진과의 합의 과정에서 보안과 예산에 관한 질문을 많이 받게 되는데, 처음엔 다양한 문제가 발생할 수 있으므로, 초반엔 가능한 범위에서만 부분적으로 클라우드화를 진행하는 것이 좋다고 덧붙였다.

▲ 도입 전에 사내에서 미리 확인하고 조율해야하는 부분이 존재한다

▲ 클라우드화를 진행한 뒤, '아르세우스' 개발 당시의 파이프라인

인터넷 게이트웨이의 대역 압박과 보안 문제에 대한 해결법으로 제시된 '전용선을 통한 클라우드 접속'에 대해서도 추가 소개가 이어졌다. 전용선을 활용하면 사무실과 클라우드 사이를 폐쇄 회로로 연결하여 데이터 송수신이 모두 가능한 환경을 구축할 수 있게 된다. 인터넷으로부터 완전히 분리되므로 대중에 노출될 걱정이 없고, 안전한 클라우드 환경을 조성할 수 있는 것이 특징이다. 물론 사무실에서 인터넷으로 통신하는 회선 대역에도 영향을 주지 않으므로, 클라우드 상에서 서버 데이터를 주고받는 것과 사무실내 인터넷이 각각 동등한 속도를 유지할 수 있다. 타치하라 리더는 AWS라면 AWS 다이렉트 커넥트, 마이크로소프트 Azure라면 익스프레스 루트, GCP라면 데디케이티드 인터커넥트가 전용선 서비스로 제공된다고 소개했다.

이외에도 클라우드 운용의 감시와 보안을 위해 사용자 조작 이력 기록을 남기면 좋다며, 클라우드 서비스 중에 자동으로 기록되는 서비스를 함께 주시할 필요가 있다고 덧붙여 소개하기도 했다. 해당 서비스로 AWS라면 클라우드 트레일, Azure라면 액티비티 로그, GCP라면 클라우드 어딧트 로그가 있다.


다음 순서로 기업 내 클라우드 서비스 활용 시 비용을 절감할 수 있는 노하우에 대한 소개가 이어졌다. 게임프리크에서 강조하는 방식은 '사용하지 않을 시에는 확실히 정지'시키는 것이다. 코스트 절감에 대한 소개를 맡은 이와자와 유키 프로그래머는 게임프리크에선 평일 오전 9시부터 24시까지만, 주말엔 기본 정지, 기본적인 부팅과 정지 처리는 클라우드 상에서 시간 설정을 하여 자동화하는 방식을 적용했고, 이를 통해 50%의 비용 절감이 가능했다고 설명했다.

오토스케일 기능을 활용하는 것도 중요하다. 게임프리크에서는 클라우드의 오토스케일 기능을 깃랩 런너와 연계하여 필요한 대수의 머신이 생성된 후, 사용하지 않으면 자동으로 파기되도록 했다. 이와자와 프로그래머는 이를 통해 20%의 가동 시간 감축이 이뤄졌고, 파이프라인 대기시간은 33분에서 3분으로, 90% 가까이 줄일 수 있었다고 말했다. 이외에도 이날 강연에서는 코스트 절감을 위한 방법으로 '스팟 인스턴스', 예약 할인, 레코멘드 기능 등이 함께 소개됐다.

▲ 클라우드 활용 시 비용 절감을 위해 고려해볼 수 있는 다양한 방법들이 존재한다

끝으로 클라우드화를 적용한 뒤의 게임프리크의 포켓몬 게임 개발 환경 개선 사항이 소개됐다. 가장 큰 특징은 빌드 시간과 대기 시간이 큰 폭으로 줄어든 것이다. 타치하라 리더는 아르세우스 파이프라인의 경우 빌드시간과 대기 시간이 기존의 3분의 1 수준으로 크게 줄었고, 개발 환경은 이보다 더 크게 개선됐다고 말했다. 소드·실드에서의 검증을 거쳐 아르세우스 개발에서는 클라우드 도입을 본격화하게 됐고, 결국 당초에 안고 있던 여러 과제를 해결하며 업무 효율을 크게 향상할 수 있게 된 셈이다.

타치하라 리더는 이렇게 게임프리크 내의 개발환경이 재정비된 덕에 아르세우스를 개발하면서 차기작인 '포켓몬스터 스칼렛·바이올렛'의 개발도 병렬로 운용할 수 있었다고 전하며, 클라우드 도입 관련 성과 발표를 마무리했다.