Albion Online의 아키텍처 설계: Sandbox Interactive가 플랫폼 간 확장이 가능한 PvP MMO를 구축한 방법
요약
Albion Online은 Unity를 기반으로 PC, 모바일, 콘솔을 아우르는 단일 프로젝트 구조를 통해 원활한 크로스 플레이 환경을 구축했습니다. Sandbox Interactive는 데스크톱 우선 설계와 Android 성능 기준점을 결합하고, 핵심 게임 로직과 시각적 렌더링을 분리하여 플랫폼 간 공정한 게임플레이를 보장합니다.
핵심 포인트
- 단일 Unity 프로젝트 운영을 통해 플랫폼별 UI 프로필을 관리하고 개발 반복 속도를 극대화함
- 데스크톱 우선 설계 방식을 취하되, Android를 성능의 절대적 기준점(Baseline)으로 설정
- 핵심 게임 시뮬레이션 레이어와 시각적 렌더링 레이어를 엄격히 분리하여 플랫폼 간 공정성 확보
- Jenkins 기반의 CI/CD 파이프라인과 자동화된 검증 도구를 통해 다중 플랫폼 빌드의 안정성 유지
2017년에 공식 출시된 Albion Online은 Unity로 구축된 가장 오래 지속된 MMO 중 하나입니다. Sandbox Interactive는 하드코어하고 PvP에 집중된 온라인 게임을 만들겠다는 야심 찬 목표와 함께 2012년부터 게임 개발을 시작했습니다. 소규모 독립 팀으로서 그들은 대규모 동시 접속자 수를 지원하고, Albion Online이 추가 플랫폼으로 확장됨에 따라 성능이 뛰어난 게임플레이를 제공할 수 있는 강력한 기술적 기반이 필요했습니다. 오늘날 Albion Online은 PC, Mac, Linux, iOS, Android, 그리고 가장 최근에는 Xbox Game Pass를 통한 Xbox Series X|S에서 원활하게 작동합니다. 우리는 스튜디오의 엔지니어링 리드들을 인터뷰하여 게임의 기술적 기반을 심층적으로 조사하고, 이 크로스 플랫폼 (Cross-platform) MMO를 10년 동안 유지해 온 플레이어 우선 개발 방식에 대해 들어보았습니다.
모든 것을 지배하는 하나의 빌드
Albion Online의 장수 비결 중 하나는 원활한 크로스 플레이 (Cross play)입니다. 플레이어는 하나의 로그인 정보를 사용하여 모바일, 데스크톱, 콘솔 사이를 쉽게 전환할 수 있으며, 플랫폼을 넘나드는 대규모 PvP 전투에 참여하고, 모든 지원 기기에 동시에 적용되는 정기적인 콘텐츠 업데이트를 즐길 수 있습니다. 이러한 일관된 경험을 가능하게 하기 위해 Sandbox Interactive는 단일 Unity 프로젝트에서 게임을 운영합니다.
"우리는 플랫폼별 UI 프로필을 갖춘 하나의 Unity 프로젝트에서 결과물을 출시합니다."라고 수석 게임 엔지니어 Johannes Kosanetzky는 설명합니다. "에디터 (Editor) 내에서 모바일 UI로 전환할 수 있기 때문에, 데스크톱을 떠나지 않고도 레이아웃, 내비게이션 및 성능을 테스트할 수 있습니다. 입력 (Input)은 추상화되어 있으며 Unity Remote를 통해 터치를 빠르게 검증하므로, 반복 작업 (Iteration) 속도가 빠르게 유지됩니다."
새로운 기능을 설계할 때 팀은 아이디어 구상 단계에서 "데스크톱 우선 (Desktop-first)" 접근 방식을 취하지만, Android를 절대적인 성능 기준점 (Baseline)으로 삼습니다. 통합된 경험을 유지하기 위해 Albion Online의 게임플레이 로직은 모든 플랫폼에서 동일하게 유지되며, 시각적 충실도 (Visual fidelity)만 조절됩니다. 현재 모바일 빌드는 포스트 프로세싱 (Post-processing)을 끄고 포워드 렌더링 (Forward rendering)을 사용하는 반면, 데스크톱 버전은 디퍼드 렌더링 (Deferred rendering)에 의존합니다.
앞으로 Sandbox Interactive는 기기별로 그래픽을 더 잘 조정하기 위해 Unity의 빌트인 렌더 파이프라인 (Built-In Render Pipeline)에서 스크립터블 렌더 파이프라인 (Scriptable Render Pipeline, SRP)으로 전환할 계획입니다. 플랫폼 빌드 전반의 안정성을 유지하기 위해 팀은 광범위한 CI/CD 파이프라인에 의존합니다. Jenkins는 모든 플랫폼에 대해 매일 빌드를 제공하며, 내장된 검증 도구는 누락된 참조, 메시 크기 제한, 게임 데이터 오류가 문제가 되기 전에 잡아냅니다. 모든 개발자는 전체 서버-클라이언트 스택을 로컬에서 실행할 수 있어, 기능 작업과 디버깅 속도를 획기적으로 높일 수 있습니다.
시뮬레이션과 시각화의 분리
단일 인스턴스 내에서 수백 명의 플레이어가 전투를 벌일 수 있는 전투 중심의 스킬 기반 MMO에서는 성능이 무엇보다 중요합니다. 플레이어들이 특정 플랫폼에서 다른 플랫폼보다 불이익을 받는다고 느껴서는 안 되기 때문입니다. 원활하고 공정한 게임플레이를 보장하기 위해, Sandbox Interactive는 핵심 게임 로직을 플레이어가 화면에서 보는 것과 엄격하게 분리하기로 하는 중요한 초기 결정을 내렸습니다.
“우리의 핵심 시뮬레이션 레이어 (Simulation layer)는 Unity와 완전히 독립되어 있습니다.”라고 수석 게임 엔지니어인 David Eibensteiner는 말합니다. “우리는 테스트를 위해 대규모 전투를 시뮬레이션하려고 로컬에서 자체 봇을 실행하기도 합니다. Unity는 입력 처리 (Input handling)와 렌더링 (Rendering)에 집중적으로 사용됩니다.”
실제로 게임 클라이언트는 본질적으로 세 가지 별개의 레이어로 나뉩니다:
- 입력 레이어 (Input layer)는 특정 플랫폼을 기반으로 어떤 동작이 트리거될지 결정합니다.
- 시뮬레이션 레이어 (Simulation layer)는 권한을 가진 서버 (Authoritative server)로 업데이트를 보내는 동시에 클라이언트에서 해당 동작을 예측합니다.
- 시각화 레이어 (Visualization layer)는 클라이언트 측에서 해당 동작과 상태 변화를 표시합니다.
이러한 분리된 모델-뷰-컨트롤러 (Model-View-Controller, MVC) 아키텍처는 클라이언트 측 렌더링이 기반이 되는 게임 로직의 병목 현상이 되지 않도록 보장합니다.
콘솔로의 전투 확장
이미 Albion Online을 모바일 기기에 최적화하는 어려운 작업을 마쳤기에, Sandbox Interactive는 콘솔 개발에 즉시 착수할 준비가 되어 있었습니다.
하지만 콘솔 아키텍처(Architecture)에서도 몇 가지 놀라운 점들이 있었습니다. "콘솔에서는 안정성 규칙(Stability rules)이 큰 차이점 중 하나입니다. 다른 플랫폼에서는 치명적이지 않을 오류가 콘솔에서는 플랫폼 자체를 충돌(Crash)시킬 수 있습니다."라고 Kosanetzky는 언급합니다. "하드웨어 측면에서 콘솔은 더 강력한 GPU를 제공하지만, 하이엔드 PC에 비해 싱글 스레드 성능(Single-thread performance)은 더 낮습니다. 이를 최대한 활용하기 위해, 우리는 더 많은 작업을 메인 스레드(Main thread)에서 워커 스레드(Worker threads)로 옮기거나 GPU로 직접 처리하도록 전환하고 있습니다. 메모리의 경우 모바일보다는 제약이 적어, 더 큰 캐시(Cache)와 고품질 에셋(Assets)을 사용할 수 있는 여유가 있습니다."
단순한 성능을 넘어, 크로스 플랫폼(Cross-platform) PvP의 균형을 맞추는 것은 게임의 건전성이 항상 걸려 있는 엄청난 과업입니다. 특정 상황(예를 들어 FPS 게임)에서는 마우스와 키보드 설정을 사용하는 플레이어가 게임패드를 사용하는 플레이어보다 유리하다고 할 수 있으며, 터치패드 컨트롤은 밸런싱의 복잡성을 한 층 더 더합니다. "입력 방식마다 단순히 더 잘 수행하는 영역이 다릅니다."라고 Eibensteiner는 설명합니다. "모바일과 컨트롤러에서는 캐릭터의 이동과 위치 선정이 더 자연스럽게 느껴질 수 있는 반면, 정밀한 타겟팅이나 스킬 샷(Skill-shot) 능력은 마우스와 키보드로 작동하는 것이 더 나은 경향이 있습니다." 이를 해결하기 위해 Sandbox Interactive는 단순히 UI 레이아웃을 포팅(Porting)하는 대신, 각 새로운 플랫폼에 맞춰 컨트롤을 처음부터 설계하여 각 입력 방식이 자연스럽게 느껴지도록 보장합니다.
전용 플레이어 커뮤니티 구축
Albion Online의 탄탄한 기술적 기반은 게임을 구동하게 만들지만, 게임을 번창하게 유지하는 것은 열정적인 커뮤니티입니다. Sandbox Interactive는 게임의 장기적인 성공 비결로 개발 결정 과정에 플레이어와 콘텐츠 크리에이터를 적극적으로 참여시킨 점을 꼽습니다. 가장 헌신적인 플레이어 중 일부로부터 새로운 기능에 대한 의견을 조기에 수렴함으로써, 더 넓은 플레이어 층에 공개하기 전에 기능을 다듬고 개선할 수 있습니다. 하지만 게임에 최종적으로 무엇이 포함될지에 대한 결정은 여전히 Sandbox가 내립니다. "플레이어들은 문제, 혹은 근본적인 문제의 증상을 짚어내는 데 매우 뛰어나지만, 올바른 해결책은 대개 그들의 제안과는 다른 것입니다.
“우리의 역할은 그들을 실제로 괴롭히는 것이 무엇인지 파악하는 것입니다,”라고 Eibensteiner는 말합니다. 한 사례로, Eibensteiner는 커뮤니티의 성장과 피드백이 어떻게 스튜디오로 하여금 더 글로벌한 플레이어 층을 위해 Albion Online의 서버 인프라를 조정하게 만들었는지 공유했습니다. 그 시점까지 Albion Online은 미국에 위치한 단일 글로벌 서버에서 운영되었으나, 게임의 인기가 높아짐에 따라 Sandbox는 글로벌 관객들로부터 경험의 품질에 대한 피드백을 받기 시작했습니다. “더 많은 플레이어에게 더 나은 경험을 제공하고 전투를 더욱 즉각적 (reactionary)으로 만들기 위해, 우리는 서버를 분할하기로 결정했으며, 처음에는 아시아에 하나를 추가한 뒤 유럽에 하나를 추가했습니다,”라고 그는 설명합니다. “이로 인해 기존 커뮤니티가 약간 파편화되기도 했지만, 결과적으로 플레이어 수가 대폭 증가했고 전 세계 Albion Online 플레이어들의 지연 시간 (latency)을 획기적으로 개선했습니다.”
Albion Online의 오랜 성공으로부터 얻는 교훈
Albion Online의 성공은 기술적 비전과 플레이어 커뮤니티에 대한 깊은 헌신이 어떻게 결합하여 장수(longevity)를 만들어내는지를 보여줍니다. 단일 프로젝트에서 분리된 시뮬레이션 레이어 (decoupled simulation layer)에 이르기까지, Unity 기반의 통합되고 확장 가능한 아키텍처 (architecture)를 구축함으로써 Sandbox Interactive는 모바일, 데스크톱, 콘솔 전반에 걸쳐 대규모의 공정하고 고성능인 PvP를 가능하게 합니다. 이 견고한 기술적 토대는 헌신적인 플레이어 층과의 지속적인 소통을 통해 유지됩니다. “오랫동안 성공하는 게임을 유지하기 위해 할 수 있는 가장 중요한 일은 커뮤니티의 목소리에 귀를 기울임으로써 게임을 능동적이고 지속적으로 개선하는 동시에, 게임에 적합한 최대한 많은 플랫폼으로 그 범위를 확장하는 것이라고 생각합니다,”라고 Eibensteiner는 말합니다.
Albion Online은 PC, MacOS, Linux, Android, iOS, 그리고 Xbox Game Pass를 통해 Xbox에서 이용할 수 있습니다. Steam 큐레이터 페이지에서 Made with Unity 게임을 더 탐색해 보시고, Unity 블로그와 리소스 허브(Resource Hub)에서 Unity 개발자들의 더 많은 이야기를 확인해 보세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Unity Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기