게임 서버 구축 방법 비교: 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
다루는 내용:
Photon 과 GameSparks 에서 보는 GBaaS 의 공통 요소들, 구현/설계상 차이점
다루지 않는 내용:
개개의 GBaaS 구현의 안정성 여부
About This Talk
01.
Great Technology For Great Games
다루는 내용:
Photon 과 GameSparks 에서 보는 GBaaS 의 공통 요소들, 구현/설계상 차이점
다루지 않는 내용:
개개의 GBaaS 구현의 안정성 여부
About This Talk
02.
Great Technology For Great Games
게임 서비스를 위한 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
게임 서비스를 위한 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
게임 서비스를 위한 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
✓ 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
✓ Client-Server 모델 + TCP/UDP/HTTP/WS
✓ 코어 구현은 C++
✓ 동일한 시스템이 여러 리전에 레플리케이션되고, 클라이언트가 지역별 게
이트웨이 서버에 접속하는 방식
✓ 게임의 전체 흐름이 방의 생성 → 플레이 → 종료에 맞춰져 있음
✓ API 역시 방을 다루는 방식에 촛점이 맞춰져 있음
✓ 제한된 dashboard 기능
✓ 명시적으로 접속할 게임 버전을 클라이언트가 지정하는 형태
Photon
Introduction
07.
Great Technology For Great Games
✓ Client-Server 모델 + TCP/UDP/HTTP/WS
✓ 코어 구현은 C++
✓ 동일한 시스템이 여러 리전에 레플리케이션되고, 클라이언트가 지역별 게
이트웨이 서버에 접속하는 방식
✓ 게임의 전체 흐름이 방의 생성 → 플레이 → 종료에 맞춰져 있음
✓ API 역시 방을 다루는 방식에 촛점이 맞춰져 있음
✓ 제한된 dashboard 기능
✓ 명시적으로 접속할 게임 버전을 클라이언트가 지정하는 형태
Photon
Introduction
08.
Great Technology For Great Games
✓ Client-Server 모델 + TCP/UDP/HTTP/WS
✓ 코어 구현은 C++
✓ 동일한 시스템이 여러 리전에 레플리케이션되고, 클라이언트가 지역별 게
이트웨이 서버에 접속하는 방식
✓ 게임의 전체 흐름이 방의 생성 → 플레이 → 종료에 맞춰져 있음
✓ API 역시 방을 다루는 방식에 촛점이 맞춰져 있음
✓ 제한된 dashboard 기능
✓ 명시적으로 접속할 게임 버전을 클라이언트가 지정하는 형태
Photon
Introduction
09.
Great Technology For Great Games
✓ 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
✓ 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
✓ 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
✓ 방 (게임 세션) 기반 구현
• 게임의 기본 단위로 “게임 세션” 을 가정
• 게임 세션의 라이프 사이클에 맞춘 API 디자인
• 멀티 플레이의 개념 역시 방 안의 사용자들로 한정
✓ 기본 API 의 후킹과 커스텀 로직을 통한 게임 콘텐츠 구현
• 기본 API 는 게임 로직에 무관한 중립적인 형태
• 콘텐츠 구현을 위해서는 로직을 확장할 수 있는 방식이 필요함
• 두 제품 모두 API 후킹 및 커스텀 로직 확장을 제공함
✓ 동일한 시스템이 여러 리전에 자동 복제
• 소위 말하는 “글로벌 원 빌드”
Photon vs. GS
Commonalities
13.
Great Technology For Great Games
✓ 방 (게임 세션) 기반 구현
• 게임의 기본 단위로 “게임 세션” 을 가정
• 게임 세션의 라이프 사이클에 맞춘 API 디자인
• 멀티 플레이의 개념 역시 방 안의 사용자들로 한정
✓ 기본 API 의 후킹과 커스텀 로직을 통한 게임 콘텐츠 구현
• 기본 API 는 게임 로직에 무관한 중립적인 형태
• 콘텐츠 구현을 위해서는 로직을 확장할 수 있는 방식이 필요함
• 두 제품 모두 API 후킹 및 커스텀 로직 확장을 제공함
✓ 동일한 시스템이 여러 리전에 자동 복제
• 소위 말하는 “글로벌 원 빌드”
Photon vs. GS
Commonalities
14.
Great Technology For Great Games
✓ 방 (게임 세션) 기반 구현
• 게임의 기본 단위로 “게임 세션” 을 가정
• 게임 세션의 라이프 사이클에 맞춘 API 디자인
• 멀티 플레이의 개념 역시 방 안의 사용자들로 한정
✓ 기본 API 의 후킹과 커스텀 로직을 통한 게임 콘텐츠 구현
• 기본 API 는 게임 로직에 무관한 중립적인 형태
• 콘텐츠 구현을 위해서는 로직을 확장할 수 있는 방식이 필요함
• 두 제품 모두 API 후킹 및 커스텀 로직 확장을 제공함
✓ 동일한 시스템이 여러 리전에 자동 복제
• 소위 말하는 “글로벌 원 빌드”
Photon vs. GS
Commonalities
15.
Great Technology For Great Games
✓ 멀티플레이어 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
✓ 멀티플레이어 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
✓ 멀티플레이어 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
✓ 멀티플레이어 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
✓ 싱글 플레이 게임에 효과적
• 기본 API 가 콘텐츠 로직을 포함하지 않기 때문에,복잡한 콘텐츠 로직이
필요없고 정형화된 게임 시스템의 싱글 플레이 게임 제작에 효과적
✓ 방 (게임 세션) 기반 멀티 플레이 게임에 효과적
• API 가 방 기반으로 디자인 되었기 때문에, 방의 생성, 검색, 참여, 탈퇴,
종료 상황에 대해서 잘 정의하고 있음
GBaaS
Strength
20.
Great Technology For Great Games
✓ 싱글 플레이 게임에 효과적
• 기본 API 가 콘텐츠 로직을 포함하지 않기 때문에,복잡한 콘텐츠 로직이
필요없고 정형화된 게임 시스템의 싱글 플레이 게임 제작에 효과적
✓ 방 (게임 세션) 기반 멀티 플레이 게임에 효과적
• API 가 방 기반으로 디자인 되었기 때문에, 방의 생성, 검색, 참여, 탈퇴,
종료 상황에 대해서 잘 정의하고 있음
GBaaS
Strength
21.
Great Technology For Great Games
✓ 방 기반이 아닌 게임에 취약
• 오픈월드 등 방 기반이 아닌 시스템을 구현하기 위한 API 존재하지 않음

이는 추후에 추가해서 해결 될 수 있는 것이 아닌 구조적인 문제에 가까움
✓ 로직 확장이 어려움
• Webhook 은 외부 시스템에 별도로 state 를 복제/관리해야됨을 의미
• Code injection 은 대규모 코드의 작성이 어렵고, cloud 상에 올라간 코
드의 확인 및 버전 관리도 힘듦
✓ MMO 지원에 취약
• 방 기반 API 는 거의 필연적으로 브로드캐스팅 방식을 사용함
• 상황에 따라 패킷 전송 범위를 다르게 정하는 것은 콘텐츠 로직의 도움 없
이 시스템 만으로 구현하는데 한계가 있음
GBaaS
Weakness
22.
Great Technology For Great Games
✓ 방 기반이 아닌 게임에 취약
• 오픈월드 등 방 기반이 아닌 시스템을 구현하기 위한 API 존재하지 않음

이는 추후에 추가해서 해결 될 수 있는 것이 아닌 구조적인 문제에 가까움
✓ 로직 확장이 어려움
• Webhook 은 외부 시스템에 별도로 state 를 복제/관리해야됨을 의미
• Code injection 은 대규모 코드의 작성이 어렵고, cloud 상에 올라간 코
드의 확인 및 버전 관리도 힘듦
✓ MMO 지원에 취약
• 방 기반 API 는 거의 필연적으로 브로드캐스팅 방식을 사용함
• 상황에 따라 패킷 전송 범위를 다르게 정하는 것은 콘텐츠 로직의 도움 없
이 시스템 만으로 구현하는데 한계가 있음
GBaaS
Weakness
23.
Great Technology For Great Games
✓ 방 기반이 아닌 게임에 취약
• 오픈월드 등 방 기반이 아닌 시스템을 구현하기 위한 API 존재하지 않음

이는 추후에 추가해서 해결 될 수 있는 것이 아닌 구조적인 문제에 가까움
✓ 로직 확장이 어려움
• Webhook 은 외부 시스템에 별도로 state 를 복제/관리해야됨을 의미
• Code injection 은 대규모 코드의 작성이 어렵고, cloud 상에 올라간 코
드의 확인 및 버전 관리도 힘듦
✓ MMO 지원에 취약
• 방 기반 API 는 거의 필연적으로 브로드캐스팅 방식을 사용함
• 상황에 따라 패킷 전송 범위를 다르게 정하는 것은 콘텐츠 로직의 도움 없
이 시스템 만으로 구현하는데 한계가 있음
GBaaS
Weakness
24.
Great Technology For Great Games
✓ Strength
• 로직 확장이 자유로움
• 구현 가능한 시스템에 제약이 없음
• 병목 디버깅 / 튜닝 용이
• 따라서 복잡한 로직의 게임이나 MMO 등에 적합
✓ Weakness
• 기초적인 것만 돌려보기 위해서도 초기 작업량이 많음
Self-hosting
Strength & Weakness
25.
Great Technology For Great Games
✓ Strength
• 로직 확장이 자유로움
• 구현 가능한 시스템에 제약이 없음
• 병목 디버깅 / 튜닝 용이
• 따라서 복잡한 로직의 게임이나 MMO 등에 적합
✓ Weakness
• 기초적인 것만 돌려보기 위해서도 초기 작업량이 많음
Self-hosting
Strength & Weakness
26.
Great Technology For Great Games
✓ GBaaS 는 서버/DB/네트워크 등 물리 요소를 다루지 않아도 되기에 편리함
✓ GBaaS 는 게임 시스템 구현을 위한 논리 요소를 “단순화”하여 쓰기 쉽게함
✓ GBaaS 의 운영 요소 유무는 안정성 만큼이나 중요하게 고려되어야 함
✓ GBaaS 의 단순화된 논리 요소는 게임 로직의 확장을 어렵게 함
✓ GBaaS 의 이런 장단점으로 싱글 플레이/방 기반 멀티플레이에 적합도 높음
✓ 서버 직접 운영은 단순화의 부족으로 초기 작업량이 많을 수 있음
✓ 그러나 다양한 시스템의 구현과 로직의 확장이 용이함
✓ 또한 블랙박스 요소의 감소로 디버깅이 용이함
Conclusion
27.
Great Technology For Great Games
✓ GBaaS 는 서버/DB/네트워크 등 물리 요소를 다루지 않아도 되기에 편리함
✓ GBaaS 는 게임 시스템 구현을 위한 논리 요소를 “단순화”하여 쓰기 쉽게함
✓ GBaaS 의 운영 요소 유무는 안정성 만큼이나 중요하게 고려되어야 함
✓ GBaaS 의 단순화된 논리 요소는 게임 로직의 확장을 어렵게 함
✓ GBaaS 의 이런 장단점으로 싱글 플레이/방 기반 멀티플레이에 적합도 높음
✓ 서버 직접 운영은 단순화의 부족으로 초기 작업량이 많을 수 있음
✓ 그러나 다양한 시스템의 구현과 로직의 확장이 용이함
✓ 또한 블랙박스 요소의 감소로 디버깅이 용이함
Conclusion
28.
Great Technology For Great Games
✓ GBaaS 는 서버/DB/네트워크 등 물리 요소를 다루지 않아도 되기에 편리함
✓ GBaaS 는 게임 시스템 구현을 위한 논리 요소를 “단순화”하여 쓰기 쉽게함
✓ GBaaS 의 운영 요소 유무는 안정성 만큼이나 중요하게 고려되어야 함
✓ GBaaS 의 단순화된 논리 요소는 게임 로직의 확장을 어렵게 함
✓ GBaaS 의 이런 장단점으로 싱글 플레이/방 기반 멀티플레이에 적합도 높음
✓ 서버 직접 운영은 단순화의 부족으로 초기 작업량이 많을 수 있음
✓ 그러나 다양한 시스템의 구현과 로직의 확장이 용이함
✓ 또한 블랙박스 요소의 감소로 디버깅이 용이함
Conclusion
29.
Great Technology For Great Games
(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
DK Moon
dkmoon@ifunfactory.com
www.ifunfactory.com
THANKS!
G r e a t Te c h n o l o g y F o r G r e a t G a m e s , i F u n Fa c t o r y

More Related Content

PDF
게임 디자이너와 게임 서버
PPTX
Next-generation MMORPG service architecture
PDF
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
PDF
임태현, 게임 서버 디자인 가이드, NDC2013
PPTX
NDC 11 자이언트 서버의 비밀
PDF
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
PDF
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
PDF
PUBG: Battlegrounds 라이브 서비스 EKS 전환 사례 공유 [크래프톤 - 레벨 300] - 발표자: 김정헌, PUBG Dev...
게임 디자이너와 게임 서버
Next-generation MMORPG service architecture
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
임태현, 게임 서버 디자인 가이드, NDC2013
NDC 11 자이언트 서버의 비밀
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
PUBG: Battlegrounds 라이브 서비스 EKS 전환 사례 공유 [크래프톤 - 레벨 300] - 발표자: 김정헌, PUBG Dev...

What's hot (20)

PPTX
Ndc14 분산 서버 구축의 ABC
PDF
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
PPTX
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
PDF
게임서버프로그래밍 #8 - 성능 평가
PDF
MMOG Server-Side 충돌 및 이동처리 설계와 구현
PDF
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
PDF
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
PDF
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
PPTX
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
PDF
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
PDF
중앙 서버 없는 게임 로직
PDF
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
PDF
임태현, MMO 서버 개발 포스트 모템, NDC2012
PDF
OpenStack Architecture
PPTX
ECS+Locust로 부하 테스트 진행하기
PDF
파이썬 생존 안내서 (자막)
PDF
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
PDF
Windows IOCP vs Linux EPOLL Performance Comparison
PDF
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
PDF
NDC12_Lockless게임서버설계와구현
Ndc14 분산 서버 구축의 ABC
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
게임서버프로그래밍 #8 - 성능 평가
MMOG Server-Side 충돌 및 이동처리 설계와 구현
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
중앙 서버 없는 게임 로직
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
임태현, MMO 서버 개발 포스트 모템, NDC2012
OpenStack Architecture
ECS+Locust로 부하 테스트 진행하기
파이썬 생존 안내서 (자막)
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
Windows IOCP vs Linux EPOLL Performance Comparison
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
NDC12_Lockless게임서버설계와구현
Ad

Similar to 게임서버 구축 방법비교 : GBaaS vs. Self-hosting (20)

PDF
Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프
PDF
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
PPTX
Azure로 MMO게임 서비스하기
PDF
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
PDF
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
PPTX
1711 azure-live
PDF
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
PDF
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
PDF
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
PDF
Provisioning Dedicated Game Server on Kubernetes Cluster
PDF
NAVER의 웹/HTML5환경 대응 현황
PDF
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...
PDF
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
PDF
어그로월드 Season1 - Aggro World season 1
PDF
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 - 박성훈 NEOWIZ 팀장,...
PDF
성공적인 게임 런칭을 위한 비밀의 레시피 #3
PDF
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
PDF
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
PPTX
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
PDF
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
Azure로 MMO게임 서비스하기
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
1711 azure-live
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
Provisioning Dedicated Game Server on Kubernetes Cluster
NAVER의 웹/HTML5환경 대응 현황
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
어그로월드 Season1 - Aggro World season 1
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 - 박성훈 NEOWIZ 팀장,...
성공적인 게임 런칭을 위한 비밀의 레시피 #3
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
Ad

More from iFunFactory Inc. (20)

PDF
2019 아이펀팩토리 Dev Day 세션6 아이펀엔진 운영툴 연동하기 - 장수원
PDF
2019 아이펀팩토리 Dev Day 세션5 아이펀엔진으로 만든 게임 성능 분석 및 디버깅 - 남승현
PDF
2019 아이펀팩토리 Dev Day 세션4 아이펀엔진에 MO 게임 콘텐츠 채워 넣기 - 남승현
PDF
2019 아이펀팩토리 Dev Day 세션3 아이펀엔진 개발 환경 설정하기 (Windows+ VS) - 김진욱
PDF
2019 아이펀팩토리 Dev Day 세션2 아이펀엔진 개발 환경 설정하기 (Linux + VS Code) - 김진욱
PDF
2019 아이펀팩토리 Dev Day 세션1 네트워크 프로그래밍 개론 - 문대경 대표
PDF
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
PDF
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
PDF
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
PDF
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유
PDF
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석
PDF
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
PDF
[아이펀팩토리] 2017 NDCP
PPT
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
PDF
유니티 쉐이더 단기속성
PDF
게임 서버 성능 분석하기
PDF
혼자서 만드는 MMO게임 서버
PDF
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
PPTX
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
PPTX
Docker 로 Linux 없이 Linux 환경에서 개발하기
2019 아이펀팩토리 Dev Day 세션6 아이펀엔진 운영툴 연동하기 - 장수원
2019 아이펀팩토리 Dev Day 세션5 아이펀엔진으로 만든 게임 성능 분석 및 디버깅 - 남승현
2019 아이펀팩토리 Dev Day 세션4 아이펀엔진에 MO 게임 콘텐츠 채워 넣기 - 남승현
2019 아이펀팩토리 Dev Day 세션3 아이펀엔진 개발 환경 설정하기 (Windows+ VS) - 김진욱
2019 아이펀팩토리 Dev Day 세션2 아이펀엔진 개발 환경 설정하기 (Linux + VS Code) - 김진욱
2019 아이펀팩토리 Dev Day 세션1 네트워크 프로그래밍 개론 - 문대경 대표
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
[아이펀팩토리] 2017 NDCP
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
유니티 쉐이더 단기속성
게임 서버 성능 분석하기
혼자서 만드는 MMO게임 서버
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
Docker 로 Linux 없이 Linux 환경에서 개발하기

게임서버 구축 방법비교 : GBaaS vs. Self-hosting

  • 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 [email protected]
  • 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
  • 32. DK Moon [email protected] www.ifunfactory.com THANKS! G r e a t Te c h n o l o g y F o r G r e a t G a m e s , i F u n Fa c t o r y