Epic Online Services만으로는 부족한
게임 백엔드 영역을, GS2는 어떻게 보완하는가
크로스 플랫폼 온라인 게임을 개발한다면, Epic Online Services(약칭 EOS)는 유력한 선택지입니다.
EOS는 Epic Games가 제공하는 무료 크로스 플랫폼 온라인 서비스입니다. Epic 공식 사이트에서는 멀티플레이, 계정, 데이터, 플레이어 안전 기능을 아우르는 무료 모듈형 서비스 모음으로 소개하고 있습니다. 라이선스 페이지에서도 EOS는 로열티나 호스팅 비용 없이 이용할 수 있으며 무료로 시작할 수 있다고 안내합니다.
EOS는 인증, 프렌드, 프레즌스, 로비, 매치메이킹, P2P, 보이스 채팅, 리더보드, 업적, 플레이어 데이터 스토리지, 안티치트, 신고, 제재 등 온라인 게임에 필요한 다양한 기능을 갖추고 있습니다.
하지만 EOS를 도입한다고 해서 게임 서버 구현이 모두 사라지는 것은 아닙니다. 실제 게임 개발에서는 인벤토리, 유료 재화, 상점, 가챠, 퀘스트, 보상, 우편함, 로그인 보너스, 랭킹 보상, 이벤트 운영, 보전 배포 등 타이틀 고유의 게임 로직에 가까운 백엔드 기능이 필요합니다.
GS2는 이 영역을 게임 개발자에게 더 가까운 형태로 해결하기 위한 BaaS입니다. 이 글에서는 EOS와 GS2의 차이와 활용 구분, 그리고 함께 사용하는 방법을 소개합니다.
EOS는 크로스 플랫폼 기반,
GS2는 게임 서버 기능을 폭넓게 아우르는 BaaS
EOS의 가장 큰 강점은 크로스 플랫폼 지원입니다.
PC, 콘솔, 모바일 등 여러 플랫폼을 넘나드는 계정, 프렌드, 로비, 매치메이킹, 보이스 채팅, 리더보드, 업적, 안티치트를 무료로 이용할 수 있다는 점은 큰 매력입니다. 특히 Epic Games Store나 Epic 계정, 크로스플레이, Easy Anti-Cheat와의 친화성을 중시하는 타이틀이라면 유력한 선택지가 됩니다. Epic은 EOS Voice와 Easy Anti-Cheat를 무료로 제공한다고도 발표했습니다.
반면 GS2는 게임 개발에서 반복적으로 필요해지는 백엔드 기능을, 게임 개념에 맞춘 서비스로 제공합니다. 예를 들어 GS2는 다음과 같은 영역을 아우릅니다.
| 영역 | GS2가 제공하는 주요 기능 |
|---|---|
| 플레이어 관리 | 인증, 계정 연동, 세션 관리 |
| 아이템 관리 | 인벤토리, 스택 아이템, 장비, 편성 |
| 게임 내 경제 | 유료 재화, 게임 내 재화, 교환, 상점 |
| 보상 | 로그인 보너스, 우편함, 방치 보상, 보상 테이블 |
| 진행 관리 | 퀘스트, 미션, 스태미나, 상태 관리 |
| 가챠 | 추첨, 확률 테이블, 보상 지급 |
| 경쟁·랭킹 | 랭킹, 점수 관리, 시즌제 운영 |
| 멀티플레이 | 매치메이킹, 로비, 실시간 통신 |
| 커뮤니케이션 | 채팅, 메시징 |
| 라이브 운영 | 뉴스, 버전 체크, 점검, 데이터 분석 |
EOS도 온라인 게임의 기반이 되는 기능을 다수 제공합니다. 다만 EOS는 주로 계정, 소셜, 크로스플레이, 멀티플레이 연결, 플레이어 안전 영역에 강점을 가진 서비스입니다.
GS2는 여기에 더해 게임 내 경제, 진행, 보상, 가챠, 상점, 로그인 보너스, 우편함, 랭킹 보상 등 게임 서버를 만들 때마다 매번 다시 구현해 온 기능을 서비스로 제공합니다.
EOS만으로는 남기 쉬운 과제
EOS는 강력한 온라인 서비스이지만, 실제 게임 개발에서는 다음과 같은 과제가 남는 경우가 있습니다.
1. 플레이어를 연결하는 것과 게임 내 경제 관리는 다른 문제
EOS는 로비, 매치메이킹, P2P, 보이스 채팅, 프렌드, 프레즌스 등 플레이어끼리 연결하는 기능에 강점이 있습니다. 하지만 플레이어를 연결하는 것과 게임 내 경제를 안전하게 관리하는 것은 서로 다른 문제입니다.
예를 들어 F2P 게임이나 라이브 서비스형 게임에서는 다음과 같은 처리가 필요합니다.
- 일일/주간 리셋에 맞춰 상점 라인업을 교체한다
- 인당 구매 제한이 있는 주간 번들을 판매한다
- 가챠 결과를 하나도 빠짐없이 원자적으로 지급하고, 천장(보장) 시스템을 운영한다
- 중복 아이템을 다른 재료로 변환한다
- 배틀 패스 등급 보상과 챌린지 보상을 정확히 한 번만 지급한다
- 보상이 점점 커지는 연속 로그인 이벤트를 운영한다
- 장애 발생 후 영향을 받은 플레이어에게 보전을 배포한다
- 우편함을 통해 기간 한정 선물을 전달한다
EOS는 이러한 높은 수준의 게임 내 경제 업무 기능을 중심으로 설계된 서비스가 아닙니다. 그 때문에 타이틀 측에서 별도의 게임 서버, 데이터베이스, 클라우드 함수를 준비해 구현하게 되기 쉽습니다.
GS2에서는 인벤토리, 유료 재화, 상점, 가챠, 퀘스트, 보상, 우편함 등을 게임을 위한 기능으로 다룰 수 있습니다. 게임 개발자는 낮은 수준의 데이터 저장이나 서버 구현이 아니라 게임 디자인에 가까운 개념으로 백엔드를 구축할 수 있습니다.
2. 가챠, 상점, 로그인 보너스, 보전 배포는 타이틀 측 구현이 되기 쉽다
라이브 서비스형 게임에서는 출시 이후 운영 단계에서 필요한 기능이 다수 있습니다. 예를 들면 다음과 같습니다.
- 배틀 패스와 시즌 보상 트랙
- 일일/주간으로 갱신되는 상점
- 기간 한정 이벤트와 한정 모드
- 경험치 2배 이벤트 등 부스트 이벤트
- 연속 로그인 이벤트
- 랭킹 시즌 보상 지급
- 장애 발생 후 보전
- 우편함을 통한 아이템 전달
- 사용 가능한 프로모션 코드
- 뉴스/공지 사항
- 버전 체크 및 강제 업데이트
- 점검
EOS는 크로스 플랫폼 계정, 소셜 기능, 멀티플레이, 안전 기능을 제공합니다. 하지만 이러한 라이브 서비스 운영 기능은 EOS의 핵심 제공 영역이 아닙니다. 그 결과 EOS를 도입했더라도 게임 운영에 필요한 기능은 타이틀별로 구현하게 됩니다.
GS2는 라이브 서비스 운영에서 자주 필요해지는 기능을 미리 게임 지향 서비스로 제공합니다. 출시 이후의 운영까지 내다보고 짧은 기간에 백엔드를 구축할 수 있습니다.
3. 플레이어 데이터 스토리지만으로는 게임 기능이 되지 않는다
EOS에는 데이터를 저장·취득하기 위한 Player Data Storage, Title Storage와 같은 기능이 있습니다. 하지만 게임 백엔드에 필요한 것은 단순히 데이터를 저장하는 것만이 아닙니다. 예를 들어 인벤토리 하나만 보더라도 실제로는 다음과 같은 사양이 필요합니다.
- 아이템 종류별 소지 수량 관리
- 스택 가능한 아이템과 불가능한 아이템의 구분
- 소지 상한
- 장비 중인 아이템에 대한 제약
- 아이템 지급 시 중복 처리
- 소지 상한을 초과한 아이템을 우편함으로 전송
- 소비, 교환, 판매, 강화, 합성과의 연동
- 부정한 클라이언트 요청 방지
- 중복 실행 및 재시도 시 정합성 확보
데이터 스토리지를 사용하면 이를 구현하기 위한 저장 공간은 마련할 수 있습니다. 하지만 인벤토리 기능 자체는 타이틀 측에서 설계해야 합니다.
GS2에서는 인벤토리는 인벤토리로, 유료 재화는 유료 재화로, 상점은 상점으로, 가챠는 가챠로 다룰 수 있습니다. 게임 개발자는 저장 형식이나 배타 제어 구현이 아니라 게임 사양 설계에 집중할 수 있습니다.
4. 매치메이킹과 로비 전후에는 게임 고유의 처리가 대량으로 존재한다
EOS에는 로비와 매치메이킹이 있으며, 이는 EOS의 큰 강점입니다. 하지만 실제 게임에서는 매치메이킹과 로비만 독립적으로 존재하는 것이 아닙니다. 매칭 전후로 다음과 같은 처리가 필요합니다.
- 플레이어의 레이팅이나 랭크를 참조한다
- 소지 캐릭터와 편성 정보를 참조한다
- 매치가 성립되면 로비로 이동시킨다
- 로비 안에서 채팅과 준비 상태를 관리한다
- 게임 중 실시간 통신을 수행한다
- 대전 결과를 저장한다
- 랭킹과 시즌 성적에 반영한다
- 퀘스트와 미션 진행 상황을 갱신한다
- 승패에 따라 보상을 지급한다
이러한 처리는 매치메이킹, 로비, 실시간 통신이 랭킹, 보상, 인벤토리, 퀘스트 등의 기능과 밀접하게 연관됩니다.
EOS는 플레이어를 연결하는 기반으로서 강력합니다. 다만 대전 결과를 보상에 어떻게 반영할지, 시즌 종료 시 보상을 어떻게 배포할지, 대전 결과를 퀘스트나 미션에 어떻게 반영할지와 같은 게임 고유의 처리는 타이틀 측에 남기 쉽습니다.
GS2는 매치메이킹, 로비, 채팅, 실시간 통신뿐 아니라 랭킹, 보상, 인벤토리, 퀘스트, 상점, 가챠도 제공합니다. 그 때문에 멀티플레이 부분만 별도 서비스로 다루는 것이 아니라 게임 전체의 백엔드로서 일관되게 설계할 수 있습니다.
5. 무료라는 것과 구현 비용이 낮다는 것은 다르다
EOS의 큰 매력은 무료로 이용할 수 있다는 점입니다. Epic의 라이선스 페이지에는 로열티나 호스팅 비용 없이 EOS를 이용할 수 있다고 나와 있습니다. 이는 매우 강력한 장점입니다.
다만 무료로 이용할 수 있다는 것과 게임 서버 구현 비용이 낮다는 것은 다른 이야기입니다. EOS를 사용하더라도 다음과 같은 기능을 자체적으로 구현한다면 그 개발·테스트·운영 비용은 그대로 남습니다.
- 인벤토리
- 유료 재화
- 가챠
- 상점
- 퀘스트
- 미션
- 로그인 보너스
- 우편함
- 보전 배포
- 랭킹 보상
- 이벤트 보상
- 부정 이용 방지
- 중복 실행 방지
- 장애 발생 시 복구 처리
이러한 기능은 한 번 만들고 끝나는 것이 아닙니다. 이벤트 갱신, 사양 변경, 과금 시책, 밸런스 조정, 장애 대응, 보전 대응 등 출시 이후에도 계속 운영해야 합니다.
GS2는 게임 서버를 만들 때마다 반복해서 구현해 온 이러한 기능을 서비스로 제공함으로써 개발·운영 비용을 직접 절감합니다. 단순히 '무료 기반을 사용하는 것'이 아니라 '게임 기능 자체를 만들지 않는 것'이 GS2의 가치입니다.
GS2가 적합한 게임
GS2는 특히 다음과 같은 게임에 적합합니다.
- 라이브 서비스형 게임과 게임 애즈 어 서비스(GaaS) 타이틀
- 배틀 패스, 상점, 가챠를 갖춘 F2P 게임
- 인벤토리, 편성, 합성, 캐릭터 육성 요소가 있는 게임
- 시즌제 이벤트, 랭킹 시즌, 기간 한정 모드를 운영하는 게임
- 연속 로그인, 챌린지, 보상 트랙이 있는 게임
- 라이브 서비스 지원을 위해 플레이어 보전과 우편함이 필요한 게임
- 매치메이킹, 로비, 채팅이 필요한 협력형·대전형 게임
- PC, 콘솔, 모바일을 아우르는 크로스 플랫폼 타이틀
- 백엔드 전담 팀 없이 온라인 기능을 구현하고 싶은 팀
- EOS의 크로스플레이 기반과 더 높은 수준의 게임 기능 BaaS를 함께 사용하고 싶은 게임
이러한 게임에서는 단순히 플레이어를 연결하는 것만으로는 충분하지 않습니다. 플레이어의 소지품, 유료 재화, 상점, 가챠, 퀘스트, 보상, 랭킹, 매치메이킹, 로비, 채팅, 실시간 통신, 운영 기능까지 하나로 통합해 다루어야 합니다. GS2는 이 영역을 폭넓게 아우릅니다.
EOS가 적합한 경우, GS2가 적합한 경우
EOS와 GS2는 모두 온라인 게임을 지원하는 서비스이지만, 강점이 발휘되는 지점은 다릅니다.
EOS는 크로스 플랫폼 계정, 프렌드, 프레즌스, 로비, 매치메이킹, P2P, 보이스 채팅, 리더보드, 업적, 안티치트를 무료로 이용하고 싶은 경우에 적합합니다. 특히 Epic 계정, Epic Games Store, Easy Anti-Cheat, 크로스플레이를 중시하는 타이틀이라면 유력한 선택지입니다. GS2는 게임 내 경제, 진행, 보상, 가챠, 상점, 랭킹, 매치메이킹, 로비, 채팅, 실시간 통신 등 게임에 필요한 백엔드 기능을 게임 개발자가 다루기 쉬운 단위로 구축하고 싶은 경우에 적합합니다.
| 선정 기준 | Epic Online Services | GS2 |
|---|---|---|
| 요금 | 무료로 이용 가능 | API 요청 단위의 종량 과금 |
| Epic 계정 연동 | 강함 | 주된 목적이 아님 |
| Epic Games Store 연동 | 강함 | 주된 목적이 아님 |
| 프렌드 / 프레즌스 | 강함 | 요구 사항에 맞게 구성 |
| 보이스 채팅 | 제공됨 | 요구 사항에 맞게 구성 |
| 텍스트 채팅 | 로비 / RTC의 텍스트 채팅으로 제공 | 제공됨 |
| Easy Anti-Cheat | 제공됨 | 주된 목적이 아님 |
| 매치메이킹 | 제공됨 | 제공됨 |
| 로비 | 제공됨 | 제공됨 |
| 실시간 통신 | P2P 등을 제공 | 제공됨 |
| 플레이어 데이터 저장 | 제공됨 | 게임 기능 단위의 데이터 관리를 제공 |
| 인벤토리 | 개별 구현이 되기 쉬움 | 전용 서비스로 제공 |
| 유료 재화 | 개별 구현이 되기 쉬움 | 전용 서비스로 제공 |
| 가챠 | 개별 구현이 되기 쉬움 | 전용 서비스로 제공 |
| 상점 | 개별 구현이 되기 쉬움 | 전용 서비스로 제공 |
| 퀘스트 / 미션 | 업적(Achievements)은 제공. 퀘스트 진행은 개별 구현이 되기 쉬움 | 전용 서비스로 제공 |
| 로그인 보너스 | 개별 구현이 되기 쉬움 | 전용 서비스로 제공 |
| 우편함 / 보전 | 개별 구현이 되기 쉬움 | 전용 서비스로 제공 |
| 랭킹 | 제공됨(Leaderboards) | 제공됨 |
| 랭킹 보상 | 개별 구현이 되기 쉬움 | 랭킹·보상과 조합해 구축 |
| 서버 개발 절감 | 크로스플레이·소셜 기반에서 효과적 | 게임 기능 전반의 절감에 강함 |
기능 단위의 더 포괄적인 비교는 톱 페이지의 기능 커버리지 비교표를 확인해 주세요.
EOS와 GS2는 함께 사용할 수도 있다
이미 EOS를 이용하고 있는 경우에도 GS2를 함께 사용하는 선택지가 있습니다.
예를 들어 EOS를 Epic 계정 연동, 프렌드, 프레즌스, 보이스 채팅, Easy Anti-Cheat, 크로스플레이 기반으로 계속 사용하면서, 게임 내 경제, 가챠, 상점, 인벤토리, 퀘스트, 보상, 랭킹, 매치메이킹, 로비, 채팅, 실시간 통신은 GS2로 구축하는 구성이 가능합니다. 이렇게 하면 EOS의 강점인 크로스 플랫폼 기반을 살리면서, EOS만으로는 구현 부담이 남기 쉬운 게임 기능 영역을 GS2로 보완할 수 있습니다.
특히 이미 EOS를 도입한 프로젝트라도 다음과 같은 과제가 있다면 GS2 도입을 검토할 가치가 있습니다.
- 자체 게임 서버 구현이 계속 늘어나고 있다
- 인벤토리와 유료 재화의 정합성 관리에 불안이 있다
- 가챠와 상점 구현이 타이틀마다 중복되고 있다
- 보상 지급과 보전 대응의 운영 부담이 크다
- 퀘스트와 미션이 개별 구현으로 이루어지고 있다
- 랭킹 보상과 시즌제 이벤트 구현이 복잡해지고 있다
- 매치메이킹 이후 로비, 대전 결과, 보상 반영까지의 연계가 복잡해지고 있다
- 기능을 추가할 때마다 백엔드 개발이 병목이 되고 있다
GS2는 EOS를 대체하는 것뿐만 아니라 EOS만으로는 구현 부담이 남기 쉬운 게임 기능 영역을 보완하는 서비스로도 활용할 수 있습니다.
정리: EOS는 플레이어를 연결하는 기반,
GS2는 게임을 움직이는 백엔드
EOS는 무료로 이용할 수 있는 강력한 크로스 플랫폼 온라인 서비스입니다. 계정, 프렌드, 프레즌스, 로비, 매치메이킹, P2P, 보이스 채팅, 리더보드, 업적, 안티치트 등 플레이어끼리 연결하는 기능에 강점이 있습니다.
하지만 게임 개발에서 정말로 손이 많이 가는 부분은 플레이어를 연결하는 것만이 아닙니다. 배틀 패스, 상점 갱신, 가챠 지급, 랭킹 시즌, 플레이어 보전과 같이 게임 고유의 사양에 가까운 백엔드 기능을 어떻게 안전하게 구축하고 출시 이후에도 계속 운영할 것인가가 큰 과제가 됩니다. EOS를 사용하더라도 이러한 기능을 타이틀 측에서 조립해야 한다면, 게임 서버 구현량이 생각만큼 줄지 않을 수 있습니다.
GS2는 이 과제를 해결하기 위해 게임에서 반복적으로 필요해지는 백엔드 기능을 서비스로 제공합니다.
게임 개발자가 정말로 시간을 써야 할 곳은 아이템 지급 처리의 배타 제어나 보상 수령의 중복 실행 방지, 가챠 결과 저장 처리, 랭킹 보상 배포 처리가 아닙니다. 정말로 시간을 써야 할 곳은 게임의 재미, 유지율, 이벤트 설계, 플레이어 경험입니다.
EOS로 플레이어를 연결하고, GS2로 게임을 움직인다. 크로스 플랫폼 기반과 게임 기능 BaaS를 조합함으로써 온라인 게임 개발의 부담을 크게 줄일 수 있습니다. EOS만으로는 구현 부담이 남기 쉬운 게임 기능 영역을 보완하고 서버 개발 부담을 줄이고 싶다면, GS2는 실용적인 선택지입니다.
※ Epic, Epic Games, Epic Online Services 및 Easy Anti-Cheat는 Epic Games, Inc.의 상표 또는 등록 상표입니다. 이 페이지는 Epic Games의 승인이나 제휴를 나타내는 것이 아닙니다.
※ 이 페이지에서 EOS에 관해 서술한 내용은 작성 시점에 공개된 정보를 바탕으로 한 당사의 견해입니다. 최신 기능, 요금, 제공 현황은 각 서비스의 공식 사이트를 확인해 주세요.