Nakama와 GS2의 차이:
게임 서버를 "직접 보유"할 것인가, "서비스로 이용"할 것인가
온라인 게임을 개발할 때, 게임 서버를 어디까지 직접 구축·운영할 것인가는 중요한 판단 포인트입니다. 인증, 인벤토리, 유료 재화, 상점, 가챠, 퀘스트, 보상, 인게임 메일, 출석 보상, 랭킹, 매치메이킹, 로비, 채팅, 실시간 통신 등 필요한 기능은 매우 다양합니다.
Nakama는 이러한 온라인 게임용 백엔드를 구축하기 위한 유력한 선택지입니다. Heroic Labs는 Nakama를 실시간 멀티플레이, 커스터마이즈 가능한 매치메이킹, 리더보드, 인게임 통화, 실시간 채팅 등을 갖춘 오픈소스 게임 백엔드로 소개하고 있습니다. Nakama는 Go, TypeScript, Lua로 서버 사이드 로직을 확장할 수 있다는 점도 특징입니다.
여기에 더해 Heroic Labs는 Nakama 위에서 동작하는 게임 프레임워크 Hiro를 제공하고 있습니다. Hiro에는 이코노미(스토어·IAP), 인벤토리, 업적, 진행 관리(Progression), 에너지(스태미나), 연속 로그인 보상(Streaks), 이벤트 리더보드 등 게임에서 자주 사용되는 게임플레이 시스템이 갖춰져 있습니다. Nakama만으로는 직접 구현해야 했던 많은 영역을 Hiro가 프레임워크로서 커버합니다.
반면 GS2는 게임에서 반복적으로 필요한 백엔드 기능을, 게임 사양에 더 가까운 단위로 서비스화한 BaaS입니다.
Nakama + Hiro는 "게임 서버와 게임 시스템을 직접 조립하고 운영하는" 선택지입니다. GS2는 "게임 서버를 만들 때마다 매번 구현해 온 기능을, 매니지드 서비스로 만들지 않고 사용하는" 선택지입니다.
이 차이는 초기 개발뿐 아니라 출시 후 운영, 사양 추가, 이벤트 업데이트, 장애 대응, 비용 산정에도 큰 영향을 미칩니다.
Nakama + Hiro는 OSS 게임 서버와 프레임워크,
GS2는 게임 기능 BaaS
Nakama의 큰 강점은 오픈소스이며, 게임 서버를 자신들의 요구사항에 맞춰 구축할 수 있다는 점입니다.
Nakama는 사용자 계정, 채팅, 소셜, 매치메이킹, 실시간 멀티플레이 등을 갖춘 게임용 서버로 제공됩니다. GitHub에서도 멀티플레이, 매치메이킹, 리더보드, 채팅, 소셜 기능을 갖춘 확장 가능한 오픈소스 게임 백엔드로 소개되고 있습니다. 서버 사이드 로직은 Go, TypeScript, Lua로 확장할 수 있습니다.
그리고 Hiro가 그 위에 게임플레이 시스템 계층을 더합니다. Hiro에는 통화·스토어·IAP 검증을 다루는 이코노미, 인벤토리, 업적(Achievements), 퀘스트 체인이나 스킬 트리를 표현할 수 있는 진행 관리(Progression), 스태미나에 해당하는 에너지, 연속 로그인 보상(Streaks), 시즌제 이벤트 리더보드 등이 포함됩니다. 즉 Nakama + Hiro는 게임 서버와 게임 시스템을 모두 직접 조립하고 운영하고 싶은 팀에게 매우 강력한 구성입니다.
반면 GS2는 게임 개발에서 자주 등장하는 백엔드 기능을, 게임의 개념에 맞춘 서비스로 제공합니다.
| 영역 | GS2가 제공하는 주요 기능 |
|---|---|
| 플레이어 관리 | 인증, 계정 연동, 세션 관리 |
| 소지품 관리 | 인벤토리, 스택형 아이템, 장비, 편성 |
| 게임 내 경제 | 유료 재화, 게임 내 통화, 교환, 상점 |
| 보상 | 출석 보상, 인게임 메일, 방치 보상, 보상 테이블 |
| 진행 관리 | 퀘스트, 미션, 스태미나, 상태 관리 |
| 가챠 | 추첨, 확률 테이블, 보상 지급 |
| 경쟁·랭킹 | 랭킹, 점수 관리, 시즌제 운영 |
| 멀티플레이 | 매치메이킹, 로비, 실시간 통신 |
| 커뮤니케이션 | 채팅, 메시징 |
| 운영 | 공지, 버전 체크, 점검, 데이터 분석 |
기능의 폭만 놓고 보면 Nakama + Hiro와 GS2가 다루는 영역은 상당히 겹칩니다. 차이는 제공 방식에 있습니다. Nakama + Hiro는 "자신들의 서버에서 동작시키는 프레임워크"이며, 구성·확장·운영의 주체는 타이틀 측입니다. GS2는 "매니지드 서비스 묶음"이며, 서버 구축이나 운영 없이, 게임 서버를 만들 때마다 매번 구현해 온 기능을 그대로 이용할 수 있습니다.
Nakama + Hiro를 사용해도 남기 쉬운 과제
Nakama는 강력한 게임 서버 프레임워크이며, Hiro는 그 위에 다양한 게임 시스템을 제공합니다. 그럼에도 실제 게임 개발에서는 다음과 같은 과제가 남는 경우가 있습니다.
1. OSS + 프레임워크로 자유롭게 만들 수 있지만, 운영 책임은 그대로 남는다
Nakama의 큰 매력은 오픈소스라는 점입니다. 셀프 호스팅하면 자신들의 인프라에서 자유롭게 운영할 수 있습니다. GitHub에서도 Nakama는 Apache 2.0 라이선스의 오픈소스 프로젝트로 공개되어 있습니다. Hiro를 사용하는 경우에도 Hiro의 모듈은 자신들의 Nakama 서버에서 동작시키게 됩니다. 즉 셀프 호스팅 구성에서는 게임 서버의 운영 책임이 그대로 자신들에게 남습니다. 예를 들어 다음과 같은 작업이 필요합니다.
- 서버 구축
- 데이터베이스 구축
- 스케일링 설계
- 백업
- 장애 대응
- 모니터링
- Nakama / Hiro 업그레이드
- 보안 대응
- 부하 테스트
- 리전 배포
- 비용 최적화
Nakama에는 Heroic Cloud라는 매니지드 옵션도 있습니다. Heroic Labs는 Heroic Cloud를 Nakama와 Satori를 호스팅하기 위한 매니지드 또는 프라이빗 클라우드로 안내하고 있습니다. 다만 매니지드로 이용하는 경우에도 게임 로직과 Hiro 각 시스템의 구성·설계 책임은 타이틀 측에 남습니다.
GS2는 인프라 운영뿐 아니라, 게임 서버를 만들 때마다 매번 구현하는 기능 자체를 매니지드 서비스로 제공합니다. 서버를 구축·확장·유지보수하는 부담 없이, 인벤토리, 가챠, 상점, 퀘스트, 보상, 인게임 메일 등을 바로 이용할 수 있습니다.
2. Hiro가 커버하는 영역과 커버하지 않는 영역이 있다
Hiro의 등장으로 Nakama만으로는 런타임 코드로 직접 구현해야 했던 많은 영역이 프레임워크 형태로 제공되게 되었습니다. 예를 들어 다음과 같은 영역입니다.
- 인벤토리(Hiro Inventory)
- 통화·스토어·IAP 검증(Hiro Economy)
- 업적(Hiro Achievements)
- 퀘스트 체인·스킬 트리(Hiro Progression)
- 스태미나에 해당하는 에너지(Hiro Energy)
- 연속 로그인 보상(Hiro Streaks)
- 시즌제 이벤트 리더보드(Hiro Event Leaderboards)
반면 라이브 서비스 운영에 필요한 기능이 모두 갖춰져 있는 것은 아닙니다. 예를 들어 수령 기한이 있는 인게임 메일, 소지 한도 초과분 자동 이관, 점검 보상이나 장애 시 개별 보전, 시리얼 코드(캠페인 코드)의 발급·실효 관리, 공지 배포, 버전 체크, 점검 제어, 버프 보정, 강화·합성, 장비 편성, 가챠의 천장이나 확률 표시와 같은 영역은 Hiro를 사용하더라도 직접 런타임 코드로 설계·구현해야 하는 경우가 많습니다.
구현할 수 있다는 것과, 구현하지 않아도 된다는 것은 다릅니다. 프레임워크가 토대를 제공하더라도, 그 위에 쌓는 타이틀 고유 사양의 설계, 테스트, 운영, 장애 대응, 사양 변경 대응 부담은 그대로 남습니다.
GS2는 이러한 게임 백엔드에서 자주 등장하는 처리를, 운영 기능까지 포함해 기능 단위의 서비스로 제공합니다. 게임 개발자는 "Hiro와 런타임으로 어떻게 구현할 것인가"가 아니라, "GS2의 어떤 서비스를 조합해 게임 사양을 표현할 것인가"를 고민할 수 있습니다.
3. 게임 내 경제의 정합성은 구성·구현 측의 책임이 되기 쉽다
게임 내 경제에서는 아이템과 재화의 증감이 매우 중요합니다. 예를 들어 다음과 같은 문제가 발생하면 게임 운영에 큰 영향을 줍니다.
- 유료 재화가 이중으로 소비된다
- 보상이 중복으로 수령된다
- 가챠 결과와 아이템 지급에 불일치가 발생한다
- 구매 횟수 제한이 우회된다
- 소지 상한을 초과한 아이템이 사라진다
- 랭킹 보상이 잘못 지급된다
- 이벤트 종료 후 원래 받을 수 없는 보상을 수령한다
Hiro의 이코노미와 인벤토리는 이 영역의 토대를 제공합니다. Nakama의 스토리지 엔진에는 여러 업데이트를 한 번에 실행하는 구조도 있습니다. 그럼에도 중복 아이템 변환, 소지 한도 초과 시 동작, 보전 지급, 이벤트 기간 제어와 같은 타이틀 고유 사양은 Hiro의 설정과 런타임 코드를 조합해 직접 설계해야 합니다. 자유도가 높은 구성일수록 멱등성, 배타 제어, 이중 실행 방지, 부정 요청 대책, 롤백 설계를 고려해야 하는 상황이 그만큼 늘어납니다.
GS2는 게임 내 경제를 다루기 위한 기능을 개별 매니지드 서비스로 제공합니다. 인벤토리는 인벤토리로, 유료 재화는 유료 재화로, 상점은 상점으로, 가챠는 가챠로, 인게임 메일은 인게임 메일로 다룰 수 있습니다. 게임 내 경제를 안전하게 운영하기 위한 단위로 기능을 그대로 이용할 수 있습니다.
4. 매치메이킹과 실시간 통신은 강력하지만, 전후의 게임 진행은 별도 설계가 필요하다
Nakama는 매치메이킹과 실시간 멀티플레이에 강점이 있습니다. authoritative multiplayer에서는 매치 진행 중 필요한 게임 상태를 유지하기 위한 인메모리 영역도 제공됩니다. 실시간 멀티플레이를 직접 구축하고 싶은 팀에게는 큰 장점입니다.
다만 실제 게임에서는 매치메이킹과 실시간 통신만 독립적으로 존재하는 것은 아닙니다. 매칭 전후로 다음과 같은 처리가 필요합니다.
- 플레이어의 레이팅이나 랭크를 참조한다
- 보유 캐릭터나 편성 정보를 참조한다
- 매치 성사 후 로비로 이동한다
- 로비 안에서 채팅과 준비 상태를 관리한다
- 게임 중 실시간 통신을 수행한다
- 대전 결과를 저장한다
- 랭킹이나 시즌 성적에 반영한다
- 퀘스트나 미션 진행을 갱신한다
- 승패에 따라 보상을 지급한다
Hiro의 이벤트 리더보드와 업적·진행 관리는 이러한 연계의 일부를 뒷받침합니다. 그럼에도 대전 결과를 어떤 보상·퀘스트·레이팅에 어떻게 반영할지와 같은 게임 고유의 연계는 런타임 코드로 직접 설계해야 합니다.
GS2는 매치메이킹, 로비, 채팅, 실시간 통신뿐 아니라 랭킹, 보상, 인벤토리, 퀘스트, 상점, 가챠 등도 함께 제공합니다. 그렇기 때문에 멀티플레이 부분만 별도의 구조로 다루는 것이 아니라, 게임 전체의 백엔드로서 일관되게 설계할 수 있습니다.
5. "직접 보유"는 강점이지만, 맞는 팀 체제가 있다
Nakama + Hiro는 직접 게임 서버와 게임 시스템을 통제하고 싶은 팀에 적합합니다. 예를 들어 다음과 같은 팀과 궁합이 좋을 것입니다.
- 서버 엔지니어가 충분하다
- Go / TypeScript / Lua로 서버 로직을 작성할 수 있다
- 인프라 운영에 익숙하다
- Kubernetes나 클라우드 운영에 지식이 있다
- 실시간 멀티플레이의 authoritative server를 직접 만들고 싶다
- OSS와 프레임워크를 기반으로 유연하게 확장하고 싶다
반면 서버 개발 팀을 크게 두지 않는 게임 개발에서는 프레임워크의 자유도가 그대로 부담이 되는 경우가 있습니다. 게임 서버를 구축할 수 있다는 것은 중요합니다. 그러나 많은 게임에서 반복적으로 필요한 기능을, 직접 자신들의 서버 위에서 조립하고 계속 운영해야 하는가는 별개의 문제입니다.
GS2는 서버 개발 팀을 크게 두지 않아도 게임 내 경제, 진행, 보상, 랭킹, 매치메이킹, 로비, 채팅, 실시간 통신 등을 이용할 수 있도록 설계되어 있습니다.
6. 비용은 "라이선스 비용"뿐 아니라 "운영·개발 비용"까지 살펴봐야 한다
Nakama는 오픈소스로 이용할 수 있습니다. 셀프 호스팅하면 라이선스 비용을 절감하면서 게임 서버를 구축할 수 있습니다. 하지만 실제 비용은 라이선스 비용만이 아닙니다. 셀프 호스팅하는 경우 다음과 같은 비용이 발생합니다.
- 서버 비용
- 데이터베이스 비용
- 네트워크 비용
- 모니터링·로그 인프라
- 백업
- 장애 대응
- 부하 테스트
- 보안 대응
- Nakama / Hiro 버전 업그레이드 대응
- 서버 엔지니어의 공수
Heroic Cloud를 이용하면 매니지드 형태로 Nakama를 운영할 수 있습니다. 또한 Hiro는 상용 게임 프레임워크로 제공되며, 이용 형태에 맞는 계약이 필요합니다. 다만 매니지드화나 프레임워크 도입만으로 타이틀 고유의 게임 기능에 대한 설계·구현·운영이 불필요해지는 것은 아닙니다.
GS2는 API 요청 단위의 종량 과금을 기본으로 합니다. 인벤토리, 가챠, 상점, 퀘스트, 보상, 랭킹, 매치메이킹, 로비, 실시간 통신 등을 포함해 게임 백엔드 전체를 "몇 건의 요청을 사용하는가"라는 관점에서 산정하기 쉽다는 것이 장점입니다. 비용을 검토할 때는 서버 비용이나 라이선스 비용뿐 아니라, 게임 기능을 만드는 인건비, 테스트 공수, 운영 공수, 장애 대응 비용까지 포함해서 비교하는 것이 중요합니다.
GS2에 적합한 게임
GS2는 특히 다음과 같은 게임에 적합합니다.
- 스마트폰 게임
- F2P 타이틀
- 라이브 서비스형 게임
- 가챠나 상점을 갖춘 게임
- 인벤토리, 장비, 육성 요소를 갖춘 게임
- 출석 보상이나 기간 한정 이벤트를 운영하는 게임
- 보전 지급이나 인게임 메일이 필요한 게임
- 랭킹이나 시즌제 이벤트를 갖춘 게임
- 매치메이킹이나 로비가 필요한 게임
- 채팅이나 실시간 통신이 필요한 게임
- 서버 개발 팀을 크게 두지 않고 온라인 기능을 구현하고 싶은 게임
- OSS 게임 서버와 프레임워크를 직접 운영하기보다, 매니지드 게임 기능을 서비스로 이용하고 싶은 게임
이러한 게임에서는 단순히 게임 서버를 세울 수 있는 것만으로는 부족합니다. 플레이어의 소지품, 유료 재화, 상점, 가챠, 퀘스트, 보상, 랭킹, 매치메이킹, 로비, 채팅, 실시간 통신, 운영 기능까지 하나로 통합해서 다뤄야 합니다. GS2는 이 영역을 폭넓게 아우르고 있습니다.
Nakama가 적합한 경우, GS2가 적합한 경우
Nakama(+ Hiro)와 GS2는 모두 게임 백엔드를 지탱하는 서비스입니다. 다만 강점이 드러나는 방식은 다릅니다.
Nakama는 OSS를 기반으로 직접 게임 서버를 구축·확장·운영하고 싶은 경우에 적합합니다. 실시간 멀티플레이, 매치메이킹, 리더보드, 채팅, 소셜 기능을 갖추고 있으며, Go, TypeScript, Lua로 서버 사이드 로직을 구현할 수 있습니다. Hiro를 더하면 이코노미, 인벤토리, 업적, 진행 관리, 에너지, 연속 로그인 보상 등의 게임 시스템도 프레임워크로 이용할 수 있습니다. GS2는 게임 내 경제, 진행, 보상, 가챠, 상점, 랭킹, 매치메이킹, 로비, 채팅, 실시간 통신 등 게임에 필요한 백엔드 기능을 매니지드 서비스로 다루고 싶은 경우에 적합합니다.
| 선정 기준 | Nakama + Hiro | GS2 |
|---|---|---|
| 제공 형태 | OSS + 상용 프레임워크 / 셀프 호스팅 / Heroic Cloud | 매니지드 BaaS |
| 서버 운영 | 자체 또는 Heroic Cloud에서 운영 | 서비스로 이용 |
| 커스텀 서버 로직 | Go / TypeScript / Lua + Hiro 각 시스템 | 표준화된 게임 기능 이용 |
| 실시간 멀티플레이 | 강력함 | 제공 |
| 매치메이킹 | 제공 | 제공 |
| 로비 / 채팅 | 제공 | 제공 |
| 리더보드 | 제공(Hiro로 시즌제 이벤트도 대응) | 랭킹 기능 제공 |
| 스토리지 | 범용적으로 이용 가능 | 게임 기능 단위의 데이터 관리 |
| 인벤토리 | Hiro Inventory로 제공 | 전용 서비스로 제공 |
| 유료 재화 | Hiro Economy / IAP 검증으로 제공 | 전용 서비스로 제공(유료/무료 구분 관리까지 대응) |
| 가챠 | Hiro 리워드 테이블로 구축(천장 등은 직접 구현) | 전용 서비스로 제공 |
| 상점 | Hiro Economy Store로 제공 | 전용 서비스로 제공 |
| 퀘스트 / 미션 | Hiro Progression / Achievements로 제공 | 전용 서비스로 제공 |
| 출석 보상 | Hiro Streaks로 제공 | 전용 서비스로 제공 |
| 스태미나 | Hiro Energy로 제공 | 전용 서비스로 제공 |
| 인게임 메일 / 보전 | 커스텀 구현이 되기 쉬움 | 전용 서비스로 제공 |
| 랭킹 보상 | Hiro Event Leaderboards의 보상 티어로 일부 대응 | 랭킹·보상과 조합해 구축 |
| 요금 산정 | 셀프 호스팅 비용, Heroic Cloud, Hiro 계약, 운영 공수를 고려 | API 요청 단위로 산정하기 쉬움 |
| 서버 개발 절감 | 프레임워크로 만들기 쉽게 하는 방향에 강함 | 만들지 않고 사용하는 방향에 강함 |
기능 단위의 더 포괄적인 비교는 메인 페이지의 기능 커버리지 비교표를 참고해 주세요.
Nakama와 GS2는 함께 사용할 수도 있다
이미 Nakama를 사용하고 있는 경우에도 GS2를 함께 사용하는 선택지가 있습니다.
예를 들어 Nakama를 authoritative realtime multiplayer, 커스텀 매치 로직, 독자적인 서버 확장에 사용하면서, 게임 내 경제, 가챠, 상점, 인벤토리, 퀘스트, 보상, 랭킹, 출석 보상, 인게임 메일 등은 GS2로 구축하는 구성입니다. 이 경우 Nakama의 강점인 실시간 서버와 커스텀 로직의 유연성을 살리면서, 직접 운영하기 쉬운 게임 기능 영역은 GS2의 매니지드 서비스로 보완할 수 있습니다.
특히 이미 Nakama(+ Hiro)를 도입한 프로젝트라 하더라도, 다음과 같은 과제가 있다면 GS2 도입을 검토할 가치가 있습니다.
- 런타임 코드의 게임 로직이 계속 늘어나고 있다
- 가챠나 상점의 사양 추가가 점점 무거워지고 있다
- 인벤토리나 유료 재화의 정합성 관리에 자신이 없다
- 보상 지급이나 보전 대응의 운영 부담이 크다
- 인게임 메일이나 시리얼 코드 등 프레임워크 밖의 기능 구현이 계속 쌓이고 있다
- 랭킹 보상이나 시즌제 이벤트 구현이 복잡해지고 있다
- 매치메이킹 이후 로비, 대전 결과, 보상 반영까지의 연계가 복잡해지고 있다
- 서버 운영과 게임 기능 개발 모두가 부담이 되고 있다
- "직접 만들 수 있다"보다 "만들지 않고 운영할 수 있다"는 영역을 늘리고 싶다
GS2는 Nakama를 대체하는 용도뿐 아니라, Nakama + Hiro를 사용해도 직접 구현·직접 운영하기 쉬운 게임 기능 영역을 보완하는 서비스로도 활용할 수 있습니다.
정리: Nakama + Hiro는 직접 만들고 운영하는 기반,
GS2는 게임 서버 기능을 사용하기 위한 BaaS
Nakama는 게임용 서버로서 강력한 선택지입니다. 오픈소스이며, 실시간 멀티플레이, 매치메이킹, 리더보드, 채팅, 소셜 기능을 갖추고 있고, Go, TypeScript, Lua로 서버 사이드 로직을 확장할 수 있습니다. 여기에 Hiro를 더하면 이코노미, 인벤토리, 업적, 진행 관리, 에너지, 연속 로그인 보상과 같은 게임 시스템도 프레임워크로 얻을 수 있습니다. 직접 게임 서버를 보유하고 유연하게 만들어가고 싶은 팀에게는 매력적인 구성입니다.
한편 게임 개발에서 정말로 손이 많이 가는 부분은 게임 서버나 프레임워크를 동작시킬 수 있다는 것 자체가 아닙니다. 타이틀 고유의 사양을 어떻게 안전하게 구축하고, 출시 후에도 계속 운영할 것인가가 큰 과제입니다. Nakama + Hiro를 사용하더라도 인게임 메일, 보전, 시리얼 코드, 공지, 버전 체크, 가챠 천장과 같은 영역은 직접 조립해야 하며, 그 모든 것을 자신들의 서버로 계속 운영해야 합니다.
GS2는 이러한 과제를 해결하기 위해, 게임에서 반복적으로 필요한 백엔드 기능을 운영까지 포함한 매니지드 서비스로 제공하고 있습니다.
게임 개발자가 정말로 시간을 써야 할 곳은 아이템 지급 처리의 배타 제어나, 보상 수령의 이중 실행 대책이나, 가챠 결과의 저장 처리나, 랭킹 보상의 지급 처리가 아닙니다. 정말로 시간을 써야 할 곳은 게임의 재미, 리텐션, 이벤트 설계, 플레이어 경험입니다.
Nakama + Hiro로 자유롭게 만들고 운영한다. 혹은 GS2로 만들지 않는 영역을 늘린다. 어느 쪽의 사고방식이 자신들의 개발 체제에 맞는지 가려내는 것이 게임 백엔드 선정에서 중요합니다. 게임 기능을 최대한 매니지드 서비스로 이용하고, 서버 개발과 운영 부담을 줄이고 싶다면 GS2는 실용적인 선택지입니다.
※ Nakama, Hiro 및 Heroic Cloud는 Heroic Labs의 상표 또는 등록 상표입니다. 본 페이지는 Heroic Labs의 승인이나 제휴를 나타내는 것이 아닙니다.
※ 본 페이지에서 Nakama / Hiro에 관해 기술한 내용은 작성 시점의 공개 정보를 바탕으로 한 당사의 견해입니다. 최신 기능·요금·제공 현황은 각 서비스의 공식 사이트를 확인해 주세요.