[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
NDC14에서 발표한 "[야생의 땅: 듀랑고] 서버 아키텍처" 세션의 슬라이드입니다.
슬라이드에 설명이 많지 않은데, 디스이즈게임에서 발표 내용을 잘 정리해주었습니다. 기사도 함께 보시면 좋을 것 같습니다.
http://www.thisisgame.com/webzine/news/nboard/4/?n=54955
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
NDC14에서 발표한 "[야생의 땅: 듀랑고] 서버 아키텍처" 세션의 슬라이드입니다.
슬라이드에 설명이 많지 않은데, 디스이즈게임에서 발표 내용을 잘 정리해주었습니다. 기사도 함께 보시면 좋을 것 같습니다.
http://www.thisisgame.com/webzine/news/nboard/4/?n=54955
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
서비스 런칭을 위해 라이온하트와 카카오게임즈가 어떻게 최적 성능의 인스턴스를 선택하고, Windows 운영 체제를 최적화하며, 왜 Amazon Aurora를 기본 데이터베이스로 채택하였는지를 설명합니다. 또한, 출시부터 운영까지의 과정에서 MMORPG가 어떻게 AWS 상에서 설계되고, 게임 서버 성능을 극대할 수 있었는지에 대해 전달해드립니다.
많은 게임사들은 AWS 의 글로벌 인프라를 이용해서 글로벌 런칭을 준비하고, 이를 통해 새로운 기회를 맞이합니다. 본 강연에서는 AWS Global Accelerator, Amazon CloudFront 및 다양한 AWS 의 글로벌 기반 데이터베이스 기능들을 기반으로 워크로드에 걸맞는 솔루션을 알아봅니다. 또한 많은 고객사에서 사용하는 아키텍처 패턴을 알아보고 이와 함께 고려할 점들을 알아봅니다.
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
서비스 런칭을 위해 라이온하트와 카카오게임즈가 어떻게 최적 성능의 인스턴스를 선택하고, Windows 운영 체제를 최적화하며, 왜 Amazon Aurora를 기본 데이터베이스로 채택하였는지를 설명합니다. 또한, 출시부터 운영까지의 과정에서 MMORPG가 어떻게 AWS 상에서 설계되고, 게임 서버 성능을 극대할 수 있었는지에 대해 전달해드립니다.
많은 게임사들은 AWS 의 글로벌 인프라를 이용해서 글로벌 런칭을 준비하고, 이를 통해 새로운 기회를 맞이합니다. 본 강연에서는 AWS Global Accelerator, Amazon CloudFront 및 다양한 AWS 의 글로벌 기반 데이터베이스 기능들을 기반으로 워크로드에 걸맞는 솔루션을 알아봅니다. 또한 많은 고객사에서 사용하는 아키텍처 패턴을 알아보고 이와 함께 고려할 점들을 알아봅니다.
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...Amazon Web Services Korea
클라우드 기반의 게임 스트리밍은 플랫폼과 디바이스에 제한받지 않고 플레이할 수 있는 등 여러 가지 뛰어난 장점을 가진 게임 체인저로 관심받는 기술입니다. 그러나 네트워크 이슈와 높은 서버 비용 등으로 인해 구현하는 데 어려움을 겪는 경우가 많습니다. 본 세션에서는 게임스트리밍 서비스를 AWS에서 어떻게 구현할 수 있을지에 대해 간단한 아키텍처와 데모를 통해 소개해드립니다.
멀티플레이어 게임을 서비스하는 데 필요한 게임 장르별 백엔드 아키텍처에 대한 설명해 드립니다. 기본적인 게임의 상태 동기화 개념과 서버 구성에 관한 이야기, 게임 클라이언트 엔진(Unity, Lumberyard, Unreal Engine 등)에서 제공하는 복제 프레임워크를 통하여 손쉽게 게임 서버를 만드는 방법에 대한 내용을 다룹니다. 또한, 이렇게 만들어진 게임 서버를 Amazon GameLift라는 클라우드 서비스를 통해 DevOps형태의 비용 효율적으로 서비스하는 방법에 대해 소개합니다.
모든 게임 서비스에는 공통으로 구현해야 할 기능들이 있습니다. 대표적으로 채팅과 로그인, 접속 대기열 등이 있습니다. 시리즈 #2에서는 이런 기능들을 AWS의 서버리스 서비스로 구현하는 방법을 알아보겠습니다. 새 게임을 개발할 때마다 중복으로 구현하지 않고, 마이크로 서비스 아키텍처를 활용하는 방법들도 이론과 실습을 통해 알아봅니다.
1부: [Amazon ElasticCache, AWS Lambda, AWS IoT-Core] 게임채팅을 AWS에서 구현해보자!
2부: [Amazon SQS, Amazon Cognito, AWS Dynamo DB] AWS에서 대규모 로그인과 접속 대기열을 구현해보자!
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...Amazon Web Services Korea
AWS Gamekit은 인증, 상태저장과 같은 API 서비스를 손쉽게 구축할 수 있는 서비스입니다. AWS GameSparks는 클라이언트에 손쉽게 서버 로직을 추가하고 게임에 필수적인 컴포넌트들을 바로 사용할 수 있게 제공하는 서비스입니다. AWS Gamelift는 세션형 게임에 필요한 데디케이티드 서버를 관리해주는 강력한 서비스입니다. 본 서비스들의 소개 및 최신 업데이트를 전달해드립니다.
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 - 박성훈 NEOWIZ 팀장,...Amazon Web Services Korea
자체적으로 운영하던 인프라를 클라우드로 옮기면 속도와 운영 편의성에서 큰 진보를 할 수 있습니다. 하지만 여기서 끝내지 않고 전체 인프라 관리를 코드로 자동화할 수 있게 되면 한번 더 도약할 수 있습니다.네오위즈에서는 2017년부터 Infrastructure as Code 를 활용하기 시작하여 상당한 성과를 얻었습니다. 코드 기반 자동화로 어떤 것을 얻을 수 있는지와 성공적인 정착을 위해서 필요한 것들에 대해 실제 경험에서 얻은 정보를 공유해드릴 예정입니다.
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기iFunFactory Inc.
2018 아이펀팩토리 데브데이 서버위더스
(iFunFactory DevDay Server,Withus)
제목 : Scalable 한 게임 서버 만들기
발표자 : 문대경 CEO
일정 : 2018년 03월 28일
개요 : 게임 서버의 고확장성을 확보하기 위한 기법들을 설명하고, 각 기법들의 서버 장애에 대한 대응 전략을 공개합니다.
더 많은 정보를 원하신다면 아래를 참고해주세요
*아이펀팩토리 홈페이지 : https://ifunfactory.com/
*아이펀팩토리 기술 블로그 : https://blog.ifunfactory.com/
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기iFunFactory Inc.
2018 아이펀팩토리 데브데이 서버위더스
(iFunFactory DevDay Server,Withus)
제목 : HTML5 / WebSocket으로 Pong 게임 만들기
발표자 : 민영기 테크니컬 디렉터
일정 : 2018년 03월 28일
개요 : HTML5 / Websocket을 이용하여 브라우저 상에서 동작하는 실시간 대전 게임 'Pong'을 구현해 보며 마주치는 문제점들과 해결책을 알아봅니다
아래링크를 통해 아이펀팩토리의 더 많은 정보를 얻으실 수 있습니다.
*아이펀팩토리 홈페이지 : https://ifunfactory.com/
*아이펀팩토리 기술 블로그 : https://blog.ifunfactory.com/
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유iFunFactory Inc.
2018 아이펀팩토리 데브데이 서버위더스
(iFunFactory DevDay Server,Withus)
제목 : 분산 환경을 위한 ORM 개발 경험 공유
발표자 : 남승현 시니어 프로그래머
일정 : 2018년 03월 28일
개요 : ORM의 모든 것! ORM이 분산 환경에서 작동하기 위한 조건들과 ORM을 위한 캐시, 분산 락 구현에 대해 소개합니다.
아래링크를 통해 아이펀팩토리의 더 많은 정보를 얻으실 수 있습니다.
*아이펀팩토리 홈페이지 : https://ifunfactory.com/
*아이펀팩토리 기술 블로그 : https://blog.ifunfactory.com/
2018 아이펀팩토리 데브데이 서버위더스
(iFunFactory DevDay Server,Withus)
제목 : 코드 수정 없이 리눅스 게임 서버 성능 평가
발표자 : 김진욱 CTO
일정 : 2018년 03월 28일
개요 : 서버에 코드 추가 없이도 고수준에서 서버 성능 분석이 가능하다!
실행 중인 서버를 외부에서 관찰하여 최대한 성능을 분석하고 디버깅 하는 법을 공개 합니다.
아래링크를 통해 아이펀팩토리의 더 많은 정보를 얻으실 수 있습니다.
*아이펀팩토리 홈페이지 : https://ifunfactory.com/
*아이펀팩토리 기술 블로그 : https://blog.ifunfactory.com/
Unite'17 Seoul 아이펀팩토리 발표자료
1. 강연주제: 클라이언트 개발자, 서버 개발 시작하기
2. 강연자: 박근환 TD
3. 강연소개: 이 세션은 주로 게임 클라이언트 개발자로 경력을 쌓아오던 개발자가 게임 서버 솔루션 회사에서 일하면서 알게된 사실들을 바탕으로, 클라이언트 개발자가 서버 개발을 시작하려면 필요한 것들이 무엇인지, 어떻게 시작해야 하는지에 대하여 이야기합니다.
2016 아이펀팩토리 Dev Day 발표 자료
강연 제목 : Docker 로 Linux 없이 Linux 환경에서 개발하기
발표자 : 김진욱 CTO
<2016>
- 일시 : 2016년 9월 28 수요일 12:00~14:20
- 장소 : 넥슨 판교 사옥 지하 1층 교육실
1. 게임 서버 구축 방법 비교: GBaaS vs. Self-hosting
G re a t Te c h n o l o g y F o r G re a t G a m e s
D K M o o n
dkmoon@ifunfactory.com
2. 다루는 내용:
Photon 과 GameSparks 에서 보는 GBaaS 의 공통 요소들, 구현/설계상 차이점
다루지 않는 내용:
개개의 GBaaS 구현의 안정성 여부
About This Talk
01.
Great Technology For Great Games
3. 다루는 내용:
Photon 과 GameSparks 에서 보는 GBaaS 의 공통 요소들, 구현/설계상 차이점
다루지 않는 내용:
개개의 GBaaS 구현의 안정성 여부
About This Talk
02.
Great Technology For Great Games
4. 게임 서비스를 위한 Backend-as-a-Service (BaaS)
다시 말해…
“게임 서비스를 위한 제반 인프라를 클라우드 서비스 형태로 제공하는 것”
여기에는…
1) 서버, DB, 네트워크 등 물리적 인프라 (physical components)
2) 게임 시스템 구현을 위한 논리적 프로그래밍 요소 (logical components)
3) 게임 시스템/유저 관리 등 운영 기능이 포함됨 (operational components)
Game Backend-as-a-Service (GBaaS)
03.
Great Technology For Great Games
5. 게임 서비스를 위한 Backend-as-a-Service (BaaS)
다시 말해…
“게임 서비스를 위한 제반 인프라를 클라우드 서비스 형태로 제공하는 것”
여기에는…
1) 서버, DB, 네트워크 등 물리적 인프라 (physical components)
2) 게임 시스템 구현을 위한 논리적 프로그래밍 요소 (logical components)
3) 게임 시스템/유저 관리 등 운영 기능이 포함됨 (operational components)
Game Backend-as-a-Service (GBaaS)
04.
Great Technology For Great Games
6. 게임 서비스를 위한 Backend-as-a-Service (BaaS)
다시 말해…
“게임 서비스를 위한 제반 인프라를 클라우드 서비스 형태로 제공하는 것”
여기에는…
1) 서버, DB, 네트워크 등 물리적 인프라 (physical components)
2) 게임 시스템 구현을 위한 논리적 프로그래밍 요소 (logical components)
3) 게임 시스템/유저 관리 등 운영 기능이 포함됨 (operational components)
Game Backend-as-a-Service (GBaaS)
05.
Great Technology For Great Games
7. ✓ Photon by Exit Games (Hamburg, German, founded in 2003)
✓ GameSparks (Dublin, Ireland, founded in 2013)
✓ PlayFab (Seattle, USA, founded in 2014)
GBaaS Providers
06.
Great Technology For Great Games
8. ✓ Client-Server 모델 + TCP/UDP/HTTP/WS
✓ 코어 구현은 C++
✓ 동일한 시스템이 여러 리전에 레플리케이션되고, 클라이언트가 지역별 게
이트웨이 서버에 접속하는 방식
✓ 게임의 전체 흐름이 방의 생성 → 플레이 → 종료에 맞춰져 있음
✓ API 역시 방을 다루는 방식에 촛점이 맞춰져 있음
✓ 제한된 dashboard 기능
✓ 명시적으로 접속할 게임 버전을 클라이언트가 지정하는 형태
Photon
Introduction
07.
Great Technology For Great Games
9. ✓ Client-Server 모델 + TCP/UDP/HTTP/WS
✓ 코어 구현은 C++
✓ 동일한 시스템이 여러 리전에 레플리케이션되고, 클라이언트가 지역별 게
이트웨이 서버에 접속하는 방식
✓ 게임의 전체 흐름이 방의 생성 → 플레이 → 종료에 맞춰져 있음
✓ API 역시 방을 다루는 방식에 촛점이 맞춰져 있음
✓ 제한된 dashboard 기능
✓ 명시적으로 접속할 게임 버전을 클라이언트가 지정하는 형태
Photon
Introduction
08.
Great Technology For Great Games
10. ✓ Client-Server 모델 + TCP/UDP/HTTP/WS
✓ 코어 구현은 C++
✓ 동일한 시스템이 여러 리전에 레플리케이션되고, 클라이언트가 지역별 게
이트웨이 서버에 접속하는 방식
✓ 게임의 전체 흐름이 방의 생성 → 플레이 → 종료에 맞춰져 있음
✓ API 역시 방을 다루는 방식에 촛점이 맞춰져 있음
✓ 제한된 dashboard 기능
✓ 명시적으로 접속할 게임 버전을 클라이언트가 지정하는 형태
Photon
Introduction
09.
Great Technology For Great Games
11. ✓ Node.js workers pool + MongoDB
✓ 비동기 API 는 WSS, 리얼타임 API 는 TCP/UDP 지원
✓ 동일한 시스템이 여러 리전에 레플리케이션되고, GS 에서 설정한 프라이머
리 리전의 게이트웨이 서버로 클라이언트가 접속하는 방식
✓ 게임의 전체 흐름이 방의 생성 → 플레이 → 종료에 맞춰져 있음
✓ 다만 방을 만드는 방식이 명시적인 방법 외에 Match 나 Challenge 도 가능
✓ 매칭, 랭킹, 그룹핑, 성취 보상, 가상 경제 등에 대한 API 도 지원
✓ Dashboard 상에서 리소스 설정, JS 편집, REST 테스트 가능
✓ 설정의 스냅샷 → 릴리즈 방식으로 버전 관리
GameSparks
Introduction
10.
Great Technology For Great Games
12. ✓ Node.js workers pool + MongoDB
✓ 비동기 API 는 WSS, 리얼타임 API 는 TCP/UDP 지원
✓ 동일한 시스템이 여러 리전에 레플리케이션되고, GS 에서 설정한 프라이머
리 리전의 게이트웨이 서버로 클라이언트가 접속하는 방식
✓ 게임의 전체 흐름이 방의 생성 → 플레이 → 종료에 맞춰져 있음
✓ 다만 방을 만드는 방식이 명시적인 방법 외에 Match 나 Challenge 도 가능
✓ 매칭, 랭킹, 그룹핑, 성취 보상, 가상 경제 등에 대한 API 도 지원
✓ Dashboard 상에서 리소스 설정, JS 편집, REST 테스트 가능
✓ 설정의 스냅샷 → 릴리즈 방식으로 버전 관리
GameSparks
Introduction
11.
Great Technology For Great Games
13. ✓ Node.js workers pool + MongoDB
✓ 비동기 API 는 WSS, 리얼타임 API 는 TCP/UDP 지원
✓ 동일한 시스템이 여러 리전에 레플리케이션되고, GS 에서 설정한 프라이머
리 리전의 게이트웨이 서버로 클라이언트가 접속하는 방식
✓ 게임의 전체 흐름이 방의 생성 → 플레이 → 종료에 맞춰져 있음
✓ 다만 방을 만드는 방식이 명시적인 방법 외에 Match 나 Challenge 도 가능
✓ 매칭, 랭킹, 그룹핑, 성취 보상, 가상 경제 등에 대한 API 도 지원
✓ Dashboard 상에서 리소스 설정, JS 편집, REST 테스트 가능
✓ 설정의 스냅샷 → 릴리즈 방식으로 버전 관리
GameSparks
Introduction
12.
Great Technology For Great Games
14. ✓ 방 (게임 세션) 기반 구현
• 게임의 기본 단위로 “게임 세션” 을 가정
• 게임 세션의 라이프 사이클에 맞춘 API 디자인
• 멀티 플레이의 개념 역시 방 안의 사용자들로 한정
✓ 기본 API 의 후킹과 커스텀 로직을 통한 게임 콘텐츠 구현
• 기본 API 는 게임 로직에 무관한 중립적인 형태
• 콘텐츠 구현을 위해서는 로직을 확장할 수 있는 방식이 필요함
• 두 제품 모두 API 후킹 및 커스텀 로직 확장을 제공함
✓ 동일한 시스템이 여러 리전에 자동 복제
• 소위 말하는 “글로벌 원 빌드”
Photon vs. GS
Commonalities
13.
Great Technology For Great Games
15. ✓ 방 (게임 세션) 기반 구현
• 게임의 기본 단위로 “게임 세션” 을 가정
• 게임 세션의 라이프 사이클에 맞춘 API 디자인
• 멀티 플레이의 개념 역시 방 안의 사용자들로 한정
✓ 기본 API 의 후킹과 커스텀 로직을 통한 게임 콘텐츠 구현
• 기본 API 는 게임 로직에 무관한 중립적인 형태
• 콘텐츠 구현을 위해서는 로직을 확장할 수 있는 방식이 필요함
• 두 제품 모두 API 후킹 및 커스텀 로직 확장을 제공함
✓ 동일한 시스템이 여러 리전에 자동 복제
• 소위 말하는 “글로벌 원 빌드”
Photon vs. GS
Commonalities
14.
Great Technology For Great Games
16. ✓ 방 (게임 세션) 기반 구현
• 게임의 기본 단위로 “게임 세션” 을 가정
• 게임 세션의 라이프 사이클에 맞춘 API 디자인
• 멀티 플레이의 개념 역시 방 안의 사용자들로 한정
✓ 기본 API 의 후킹과 커스텀 로직을 통한 게임 콘텐츠 구현
• 기본 API 는 게임 로직에 무관한 중립적인 형태
• 콘텐츠 구현을 위해서는 로직을 확장할 수 있는 방식이 필요함
• 두 제품 모두 API 후킹 및 커스텀 로직 확장을 제공함
✓ 동일한 시스템이 여러 리전에 자동 복제
• 소위 말하는 “글로벌 원 빌드”
Photon vs. GS
Commonalities
15.
Great Technology For Great Games
17. ✓ 멀티플레이어 Topology 구현: Photon Client-Server vs. GS full mesh
✓ 커스텀 로직 구현 방식
• Webhook 방식: Photon 이 가정한 event 발생시 외부 API 를 호출
• Code injection 방식: GS 는 임의의 JS 코드를 등록하고 이를 호출
✓ Logical components 의 다양성
• Photon: “방” 에 한정
• GS: 매칭, 그룹핑, 랭킹, 성취 및 보상, 가상 화폐 등 다양한 영역 지원
✓ Operational component 유무
• Photon: CCU / Room monitoring에 한정
• GS: logical components 의 설정 및 모니터링이 대쉬보드로 가능
Photon vs. GS
Differences
16.
Great Technology For Great Games
18. ✓ 멀티플레이어 Topology 구현: Photon Client-Server vs. GS full mesh
✓ 커스텀 로직 구현 방식
• Webhook 방식: Photon 이 가정한 event 발생시 외부 API 를 호출
• Code injection 방식: GS 는 임의의 JS 코드를 등록하고 이를 호출
✓ Logical components 의 다양성
• Photon: “방” 에 한정
• GS: 매칭, 그룹핑, 랭킹, 성취 및 보상, 가상 화폐 등 다양한 영역 지원
✓ Operational component 유무
• Photon: CCU / Room monitoring에 한정
• GS: logical components 의 설정 및 모니터링이 대쉬보드로 가능
Photon vs. GS
Differences
17.
Great Technology For Great Games
19. ✓ 멀티플레이어 Topology 구현: Photon Client-Server vs. GS full mesh
✓ 커스텀 로직 구현 방식
• Webhook 방식: Photon 이 가정한 event 발생시 외부 API 를 호출
• Code injection 방식: GS 는 임의의 JS 코드를 등록하고 이를 호출
✓ Logical components 의 다양성
• Photon: “방” 에 한정
• GS: 매칭, 그룹핑, 랭킹, 성취 및 보상, 가상 화폐 등 다양한 영역 지원
✓ Operational component 유무
• Photon: CCU / Room monitoring에 한정
• GS: logical components 의 설정 및 모니터링이 대쉬보드로 가능
Photon vs. GS
Differences
18.
Great Technology For Great Games
20. ✓ 멀티플레이어 Topology 구현: Photon Client-Server vs. GS full mesh
✓ 커스텀 로직 구현 방식
• Webhook 방식: Photon 이 가정한 event 발생시 외부 API 를 호출
• Code injection 방식: GS 는 임의의 JS 코드를 등록하고 이를 호출
✓ Logical components 의 다양성
• Photon: “방” 에 한정
• GS: 매칭, 그룹핑, 랭킹, 성취 및 보상, 가상 화폐 등 다양한 영역 지원
✓ Operational component 유무
• Photon: CCU / Room monitoring에 한정
• GS: logical components 의 설정 및 모니터링이 대쉬보드로 가능
Photon vs. GS
Differences
19.
Great Technology For Great Games
21. ✓ 싱글 플레이 게임에 효과적
• 기본 API 가 콘텐츠 로직을 포함하지 않기 때문에,복잡한 콘텐츠 로직이
필요없고 정형화된 게임 시스템의 싱글 플레이 게임 제작에 효과적
✓ 방 (게임 세션) 기반 멀티 플레이 게임에 효과적
• API 가 방 기반으로 디자인 되었기 때문에, 방의 생성, 검색, 참여, 탈퇴,
종료 상황에 대해서 잘 정의하고 있음
GBaaS
Strength
20.
Great Technology For Great Games
22. ✓ 싱글 플레이 게임에 효과적
• 기본 API 가 콘텐츠 로직을 포함하지 않기 때문에,복잡한 콘텐츠 로직이
필요없고 정형화된 게임 시스템의 싱글 플레이 게임 제작에 효과적
✓ 방 (게임 세션) 기반 멀티 플레이 게임에 효과적
• API 가 방 기반으로 디자인 되었기 때문에, 방의 생성, 검색, 참여, 탈퇴,
종료 상황에 대해서 잘 정의하고 있음
GBaaS
Strength
21.
Great Technology For Great Games
23. ✓ 방 기반이 아닌 게임에 취약
• 오픈월드 등 방 기반이 아닌 시스템을 구현하기 위한 API 존재하지 않음
이는 추후에 추가해서 해결 될 수 있는 것이 아닌 구조적인 문제에 가까움
✓ 로직 확장이 어려움
• Webhook 은 외부 시스템에 별도로 state 를 복제/관리해야됨을 의미
• Code injection 은 대규모 코드의 작성이 어렵고, cloud 상에 올라간 코
드의 확인 및 버전 관리도 힘듦
✓ MMO 지원에 취약
• 방 기반 API 는 거의 필연적으로 브로드캐스팅 방식을 사용함
• 상황에 따라 패킷 전송 범위를 다르게 정하는 것은 콘텐츠 로직의 도움 없
이 시스템 만으로 구현하는데 한계가 있음
GBaaS
Weakness
22.
Great Technology For Great Games
24. ✓ 방 기반이 아닌 게임에 취약
• 오픈월드 등 방 기반이 아닌 시스템을 구현하기 위한 API 존재하지 않음
이는 추후에 추가해서 해결 될 수 있는 것이 아닌 구조적인 문제에 가까움
✓ 로직 확장이 어려움
• Webhook 은 외부 시스템에 별도로 state 를 복제/관리해야됨을 의미
• Code injection 은 대규모 코드의 작성이 어렵고, cloud 상에 올라간 코
드의 확인 및 버전 관리도 힘듦
✓ MMO 지원에 취약
• 방 기반 API 는 거의 필연적으로 브로드캐스팅 방식을 사용함
• 상황에 따라 패킷 전송 범위를 다르게 정하는 것은 콘텐츠 로직의 도움 없
이 시스템 만으로 구현하는데 한계가 있음
GBaaS
Weakness
23.
Great Technology For Great Games
25. ✓ 방 기반이 아닌 게임에 취약
• 오픈월드 등 방 기반이 아닌 시스템을 구현하기 위한 API 존재하지 않음
이는 추후에 추가해서 해결 될 수 있는 것이 아닌 구조적인 문제에 가까움
✓ 로직 확장이 어려움
• Webhook 은 외부 시스템에 별도로 state 를 복제/관리해야됨을 의미
• Code injection 은 대규모 코드의 작성이 어렵고, cloud 상에 올라간 코
드의 확인 및 버전 관리도 힘듦
✓ MMO 지원에 취약
• 방 기반 API 는 거의 필연적으로 브로드캐스팅 방식을 사용함
• 상황에 따라 패킷 전송 범위를 다르게 정하는 것은 콘텐츠 로직의 도움 없
이 시스템 만으로 구현하는데 한계가 있음
GBaaS
Weakness
24.
Great Technology For Great Games
26. ✓ Strength
• 로직 확장이 자유로움
• 구현 가능한 시스템에 제약이 없음
• 병목 디버깅 / 튜닝 용이
• 따라서 복잡한 로직의 게임이나 MMO 등에 적합
✓ Weakness
• 기초적인 것만 돌려보기 위해서도 초기 작업량이 많음
Self-hosting
Strength & Weakness
25.
Great Technology For Great Games
27. ✓ Strength
• 로직 확장이 자유로움
• 구현 가능한 시스템에 제약이 없음
• 병목 디버깅 / 튜닝 용이
• 따라서 복잡한 로직의 게임이나 MMO 등에 적합
✓ Weakness
• 기초적인 것만 돌려보기 위해서도 초기 작업량이 많음
Self-hosting
Strength & Weakness
26.
Great Technology For Great Games
28. ✓ GBaaS 는 서버/DB/네트워크 등 물리 요소를 다루지 않아도 되기에 편리함
✓ GBaaS 는 게임 시스템 구현을 위한 논리 요소를 “단순화”하여 쓰기 쉽게함
✓ GBaaS 의 운영 요소 유무는 안정성 만큼이나 중요하게 고려되어야 함
✓ GBaaS 의 단순화된 논리 요소는 게임 로직의 확장을 어렵게 함
✓ GBaaS 의 이런 장단점으로 싱글 플레이/방 기반 멀티플레이에 적합도 높음
✓ 서버 직접 운영은 단순화의 부족으로 초기 작업량이 많을 수 있음
✓ 그러나 다양한 시스템의 구현과 로직의 확장이 용이함
✓ 또한 블랙박스 요소의 감소로 디버깅이 용이함
Conclusion
27.
Great Technology For Great Games
29. ✓ GBaaS 는 서버/DB/네트워크 등 물리 요소를 다루지 않아도 되기에 편리함
✓ GBaaS 는 게임 시스템 구현을 위한 논리 요소를 “단순화”하여 쓰기 쉽게함
✓ GBaaS 의 운영 요소 유무는 안정성 만큼이나 중요하게 고려되어야 함
✓ GBaaS 의 단순화된 논리 요소는 게임 로직의 확장을 어렵게 함
✓ GBaaS 의 이런 장단점으로 싱글 플레이/방 기반 멀티플레이에 적합도 높음
✓ 서버 직접 운영은 단순화의 부족으로 초기 작업량이 많을 수 있음
✓ 그러나 다양한 시스템의 구현과 로직의 확장이 용이함
✓ 또한 블랙박스 요소의 감소로 디버깅이 용이함
Conclusion
28.
Great Technology For Great Games
30. ✓ GBaaS 는 서버/DB/네트워크 등 물리 요소를 다루지 않아도 되기에 편리함
✓ GBaaS 는 게임 시스템 구현을 위한 논리 요소를 “단순화”하여 쓰기 쉽게함
✓ GBaaS 의 운영 요소 유무는 안정성 만큼이나 중요하게 고려되어야 함
✓ GBaaS 의 단순화된 논리 요소는 게임 로직의 확장을 어렵게 함
✓ GBaaS 의 이런 장단점으로 싱글 플레이/방 기반 멀티플레이에 적합도 높음
✓ 서버 직접 운영은 단순화의 부족으로 초기 작업량이 많을 수 있음
✓ 그러나 다양한 시스템의 구현과 로직의 확장이 용이함
✓ 또한 블랙박스 요소의 감소로 디버깅이 용이함
Conclusion
29.
Great Technology For Great Games
31. (MMO and non-session based games) PC/MMO is about 27% of total game market.
Addressable Market Size Difference
30.
Great Technology For Great Games
Source: Newzoo report, June, 2016