에픽 온라인 서비스와 Hathora를 활용한 Loftia MMO 아키텍처 구축

Qloud 이미지 제공
2025년 8월 21일
이 블로그 게시물은 Hathora의 수석 소프트웨어 엔지니어인 Justin Chu가 작성했으며, Qloud Games의 공동 설립자 겸 CTO인 Eric Mallon과의 인터뷰 내용이 포함되어 있습니다.

Hathora는 서버 오케스트레이션 플랫폼으로, 클라우드 게임즈(Qloud Games)는 자사가 개발한 아늑한 솔라펑크 MMO 게임 로프티아(Loftia)에 이 플랫폼을 활용했습니다. 로프티아는 킥스타터(Kickstarter)에서 큰 성공을 거두었으며, 지금까지 40만 명이 넘는 열정적인 팬 커뮤니티를 형성했습니다.
Qloud Games 제공
게임의 귀여운 그래픽만 보고 속단하기엔 이릅니다. 이 스튜디오는 데뷔작임에도 불구하고 로프티아의 멀티플레이어 기능에 대해 처음부터 매우 야심 찬 비전을 갖고 있었습니다. 그 목표에는 매끄러운 온라인 코옵 플레이와 솔로 플레이, 플레이어들이 집을 합칠 수 있는 역동적인 세션, 수백 명의 플레이어가 함께 공유하는 대규모 소셜 허브 등이 포함됩니다.
 
최근에 클라우드 게임즈(Qloud Games)의 공동 설립자 겸 CTO인 에릭 말론(Eric Mallon)을 만나 게임 아키텍처를 구축하는 과정에서 직면했던 중요한 선택과 도전 과제에 관한 이야기를 들어보았습니다. 이번 글을 통해 클라우드 게임즈가 에픽 온라인 서비스(EOS)와 Hathora를 활용하여 어떻게 소규모 팀으로 원대한 비전을 실현할 수 있었는지 확인해 보세요.
Qloud Games 제공

로프티아의 초기 아키텍처 들여다보기

소규모 인디 팀으로 야심 찬 목표를 달성하기 위해 클라우드는 자체 툴을 개발하기보다는 서드파티 툴을 활용했습니다. 에릭의 설명에 따르면 게임 엔진 선택은 매우 쉽게 이루어졌습니다.

"언리얼 엔진 5는 개발 과정의 매우 많은 부분이 엔진에 구현되어 있어 작업하기가 정말 쉬웠습니다. 다른 선택지가 있을 수 없었죠. [UE5]는 개발자를 구하기 쉽고, 수많은 플러그인을 갖추고 있으며, 크로스 플랫폼도 지원합니다."

게임 엔진 외에도, 에릭은 아늑한 MMO를 구현하는 데 필수적인 온라인 서비스를 신속하게 찾아 나섰습니다. 첫 알파 플레이 테스트가 시작되기 거의 1년 반 전부터 클라우드는 이미 에픽 온라인 서비스와 Hathora를 모두 활용해 팀의 원격 플레이 테스트를 진행하고 있었습니다.

에릭은 말합니다. "에픽 온라인 서비스와 Hathora는 모두 시작하기 쉬웠습니다. 더 좋은 점은 두 서비스 모두 유연하게 확장할 수 있다는 점입니다."
Qloud Games 제공

소규모 팀에 적합한 툴

에릭은 말합니다. "우리 팀의 엔지니어링 실력 및 자체 백엔드 시스템 구축 능력에 대해서는 항상 자신이 있었습니다. 하지만, 소규모 팀이었기 때문에 크로스 플랫폼 플레이어 인증이나 확장 가능한 서버 호스팅처럼 시간이 많이 소요되는 작업은 기존 툴을 활용하고 싶다는 것을 알고 있었죠."

에릭은 크로스 플랫폼 플레이어 인증은 개발자가 구현하는 데 시간이 많이 드는 기능임을 알고 있었고, 에픽 온라인 서비스는 쉽게 시작할 수 있는 잘 다듬어진 무료 솔루션을 제공했습니다. 시간이 지남에 따라 클라우드는 세션 관리 및 음성 채팅과 같은 에픽 온라인 서비스의 모듈형 기능을 점점 더 많이 활용하고 있습니다.

서버 호스팅의 경우, 에릭과 그의 팀은 이러한 시스템을 구축하고 유지하는 데 얼마나 많은 작업이 필요한지 잘 알고 있었습니다. 실시간으로 서버를 유지하고 모니터링하는 전담팀이 필요한 경우가 많은데, 클라우드 게임즈에는 로프티아 개발에서 그렇게 할 여력이 없었습니다.

"Hathora는 정말 빠르게 설정할 수 있고 게임용으로 특화되어 있었습니다. 집중해야 할 다른 일이 많았던 만큼 EC2 인스턴스를 직접 관리할 필요가 없다는 점이 정말 좋았습니다."라고 에릭은 말합니다.
Qloud Games 제공

지속 가능한 확장성은 필수

에픽 온라인 서비스의 무료 솔루션을 사용하는 것은 Qloud CTO와 그의 팀에게 너무나 당연한 선택이었습니다. 전 세계 거의 10억 명의 플레이어를 대상으로 수백 개의 게임이 EOS와 함께 출시되고 있는 만큼 에릭은 서비스가 지속 가능한 방식으로 확장될 수 있다는 확신을 갖게 되었습니다. "초기 확장 비용은 최종 확장 비용만큼이나 중요합니다. 특히 우리 같은 인디 팀에게는 더욱 그렇습니다."라고 에릭은 말합니다.

반면에 게임 서버는 멀티플레이어 게임을 운영하는 데 가장 큰 비용이 드는 것으로 악명이 높습니다. Hathora의 사용량 기반 요금제는 즉각적으로 에릭에게 매력적으로 다가왔습니다. 게다가 Hathora가 저비용 베어메탈 서버를 클라우드 버스트와 매끄럽게 결합해 제공할 수 있는 능력은 에릭에게 초기 개발, 테스트, 그리고 출시 단계에서 서버 비용을 지속 가능하게 관리할 수 있다는 확신을 주었습니다.

초기 내부 테스트부터 10,000명 이상의 초기 후원자가 참가한 최근의 알파 플레이 테스트까지, 로프티아 서버는 거의 2년 동안 Hathora에서 꾸준히 운영되어 왔습니다. 이 과정 내내, 에픽 온라인 서비스는 아키텍처의 중추적인 역할을 하며 사용자들이 여러 플랫폼에서 원활하게 접속하고, 매칭하고, 플레이할 수 있도록 지원했습니다.

에릭은 말합니다. "에픽 온라인 서비스와 Hathora 모두 로프티아의 비용을 출시 시점은 물론 그 이후까지도 안정적으로 관리할 수 있게 해줄 거라는 점에 안심이 됩니다."

로프티아의 매치메이킹 아키텍처: 에픽 온라인 서비스 x Hathora 통합 개요

로프티아의 백엔드 아키텍처는 크게 두 가지 핵심 그룹으로 구성되어 있습니다.
  1. 데이터 및 원격 측정 파이프라인: 지속성, 분석, 장기적인 플레이어 상태를 처리합니다. 이를 위해 Qloud는 Sentry, AWS Firehose, DynamoDB와 같은 툴을 사용합니다.
  2. 실시간 게임플레이 인프라: 플레이어가 실시간으로 상호작용하는 세션의 실행을 담당합니다.

로프티아가 특히 흥미로운 점은 클라우드 게임즈가 매치메이킹을 처리하는 방식 때문입니다. 전통적인 경쟁형 매치가 아니라, 플레이어가 적절한 세션으로 원활하게 이동하여 친구와 바로 플레이를 시작하도록 되어 있습니다. 이 접근 방식은 세련되면서도 놀라울 정도로 간단합니다.

월드 유형

로프티아는 매치메이킹 방식에 맞춘 두 가지 유형의 월드를 지원합니다.
  1. 소셜 허브(Social Hubs): 세션당 최대 100명의 플레이어를 지원하며, 플레이어가 NPC를 만나 퀘스트를 완료하고, 식량을 구하고, NPC와 상호작용할 수 있는 공용 공유 공간입니다.
  2. 플레이어 하우스(Player Houses): 최대 25명의 플레이어를 지원합니다. 세션 동안 플레이어에게 동적으로 하우스 '슬롯'이 할당되며, 최대 8명의 플레이어 및 친구와 함께 작은 동네에서 집을 공유하는 공용 구역입니다.
Qloud Games 제공

플레이어가 월드에 참가하는 방법

플레이어 연결 흐름은 속도와 안정성을 중심으로 설계되었습니다.

1. 플레이어가 월드 참가를 요청합니다.
2. 게임에서 에픽 온라인 서비스를 사용하여 기존 세션을 검색합니다. 3. 일치하는 세션이 없으면 Hathora를 통해 새 서버가 생성됩니다.
  • 온라인 상태가 되면 해당 서버가 에픽 온라인 서비스에 등록되어 다른 플레이어가 연결할 수 있게 됩니다. 통합 팁: 에픽 온라인 서비스 세션은 Hathora의 룸(Rooms)과 잘 매핑됩니다.

큰 틀에서 보면 이 흐름은 단순해 보이지만, 모든 MMO가 그렇듯 특별한 상황에서 문제가 나타납니다. 클라우드에서 겪었던 몇 가지 흥미로운 도전 과제를 자세히 살펴보겠습니다.
 

도전 과제 #1: 새로운 서버 레이스 현상

초기에 로프티아 팀은 까다로운 문제에 직면했습니다. 매칭되는 세션이 없을 때 서버를 과도하게 프로비저닝하지 않는 방법이 필요했습니다.

팀의 목표는 기술 효율성과 월드의 생동감을 유지하기 위해 플레이어를 가능한 한 적은 수의 소셜 허브 세션으로 통합하는 것이었습니다. 같은 원칙이 플레이어 하우스에도 적용되었습니다.

해결책은 무엇이었을까요? Hathora에서 새 인스턴스가 생성되는 동안 서버 요청을 대기열에 대기시키는 AWS 람다(AWS Lambda) 버퍼를 사용하는 것이었습니다. 이 버퍼를 통해 여러 개의 참가 요청이 동시에 발생할 때 서버가 중복 실행되는 것을 방지할 수 있습니다.

실제 테스트결과, 로프티아의 첫 번째 비공개 알파 테스트 당시, 이 버퍼 로직이 없어서 불필요한 서버가 한꺼번에 대량으로 생성되는 문제가 발생했습니다. 이는 알파 테스트가 중요한 이유를 다시 한번 일깨워주는 사례입니다.
 

도전 과제 #2: 서버 슬롯 예약

또 하나의 미묘하지만 중요한 세부 문제는 참가 프로세스 중에 빈 슬롯을 예약하는 것입니다. 빈 슬롯이 5개밖에 없는 서버에 5명의 플레이어가 참가하려고 하면 5명의 요청이 모두 겹쳐서 일부 플레이어가 거절될 위험이 있습니다.

로프티아언리얼 온라인 비컨을 사용하여 이용 가능 여부를 조회할 뿐만 아니라 연결을 시도하기 전에 세션의 자리를 예약함으로써 이 문제를 피해 갔습니다. 이는 사소한 세부사항이지만 순간순간의 플레이 경험을 크게 향상시켜 주는 요소입니다.

로프티아처럼 아늑하고 소셜 중심적인 게임에서는 잠깐의 불편함으로도 이러한 분위기를 깨트릴 수 있으며, 이러한 작은 구현상의 디테일을 해결하는 것이 플레이어 경험에 큰 영향을 줄 수 있습니다.

확장 가능한 출시를 대비한 안정적인 기반

인디 스튜디오로서 MMO를 개발하는 것은 여전히 야심 찬 도전이며, 특히 첫 번째 타이틀의 경우 더욱 그렇습니다. 하지만, 게임의 디자인과 아키텍처에 신중하게 접근하고, 그 아키텍처를 실현하는 데 에픽 온라인 서비스와 Hathora의 도움을 받는다면 로프티아와 같은 게임의 진입 장벽을 확실하게 낮출 수 있습니다.
 
에릭과 클라우드 팀은 소규모 팀이 적합한 툴을 활용하여 대규모 MMO 경험을 구축할 수 있는 길을 열어가고 있습니다. 솔라펑크라는 로프티아의 테마처럼, 높은 목표를 향해 비상하려는 이 작은 팀의 미래는 밝아 보입니다.
 

링크 및 추가 자료

    에픽 온라인 서비스 시작하기

    에픽 온라인 서비스(EOS)는 모든 주요 엔진과 스토어, 플랫폼에서 작동하는 서비스를 무료로 제공하여 개발자가 게임을 출시하고 확장할 수 있도록 지원합니다.