[igc 2016] photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션...

62
실실실 실실실 실실 실실실 실실 실실실 Photon ! 실실 실실실 실실 실실실실실 Inven Game Conference

Upload: -

Post on 15-Apr-2017

329 views

Category:

Career


4 download

TRANSCRIPT

Page 1: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

실시간 게임의 빠른 개발을 위한 솔루션      「 Photon 」 !

~도입 사례도 함께 소개합니다 ~

Inven Game Con-ference

Page 2: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

INDEX

1

Chapter

Photon Engine 소개 by Photon 운영사무국

2

Chapter

Photon in Korea by Flexball

3

ChapterPhoton Cloud 자동 셋 업~Photon×GMOAppsCloud~ by GMO 데이터센터 코리아

Page 3: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Photon Engine 소개 GMO 클라우드 주식회사

Photon 운영사무국야마모토 쇼헤이

Page 4: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

About Me

• 이름 : 야마모토 쇼헤이 (Syohei Yamamoto)• 소속 : GMO 클라우드 주식회사• 담당 : 각종 솔루션 기술• 취미 : 게임과 한국요리 먹방

– 최근 빠져있는 게임 : Splatoon( 닌텐도 ) 총 2,000 시간 플레이 , S+99( カンスト ) 레벨의 실력 !

그 외 오버워치등 , FPS/TPS 게임 전반을 좋아합니다 !

Page 5: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Photon 이란 ?

멀티 플레이를 간단하게 실현하기 위한 네트워크 엔진입니다 !

Page 6: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Photon 으로 무엇을 할 수 있을까 ?

Page 7: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

멀티플레이의 요건

• 대전 게임이나 협력 플레이 처럼• 여러 명의 플레이어가 같은 게임을 동시에 즐길

수 있어야 하고 ,• 여러 명의 플레이어 ( 어플리케이션 ) 간의

통신을 통해 , 리얼타임으로 데이터를 주고 받을 필요가 있습니다 .

Page 8: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

통신에 필요한 정보

• 예를 들면– 충돌 판정의 결과– 캐릭터의 위치 , 상태 등

• 여러 가지 데이터의 종류가 있지만 , 기본적으로는 데이터의 교환 / 동기가 가능하다면 OK

Player A

Player A

Player A

Enemy

AttackPlayer

BPlayer

C

通知 通知

Player B

Page 9: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

실현하고 싶은 것들 ( 아주 간단한 ver.)

• 오른쪽과 같은 프로그래밍

• 송신측이 보낸 임의의 데이터를 수신측이 수신

Player A ( 송신측 ) // 이벤트 정보 ev = "event"; // 이벤트 송신 sendEvent(ev);

Player B ( 수신측 )// 이벤트 수신 방법OnReceiveEvent(ev){ if (ev == "event") { // 처리 }

Page 10: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

어떻게 실현하지?

• 플레이어 간의 데이터 주고받기는 , P2P 로 직접 Socket 로 연결하면 OK!– 호스트 관리는 ? NAT 문제는?

• Socket Server 를 세운다면 ?– Server 코드는 어떻게 ? 운용은 ?

등등 , 이것저것 귀찮은 일이 한 두가지가 아니죠 !

Page 11: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

귀찮은 일들은 누군가에게 맡겨버리는게 정답 !

• 통신 등 , 게임의 본질이 아닌 부분들은 외부에 맡기고 , 콘텐츠나 게임 시스템 등 게임의 본질적인 부분에 집중하세요 !

• 통신 부분은 Photon 에게 맡겨만 주세요 !

Page 12: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

가능합니다 !

• 이벤트는 거의 오른쪽과 같이 아주 간단한 형태로 수신 가능!

• 보내는 곳의 지정이나 그 외 세세한 부분들도 설정 가능 !

Player A ( 송신측 ) // 이벤트 정보 ev = "event"; // 이벤트 송신 sendEvent(ev);

Player B ( 수신측 )// 이벤트 수신 방법OnReceiveEvent(ev){ if (ev == "event") { // 무언가 처리 }

Page 13: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

연결도 간단!

• 매치 메이킹의 요건에 따라 달라지지만 , 심플한 사용 방법의 경우 , 단 몇줄로 접속 완료 !

• 소켓 같은건 전혀 신경 쓸 필요 없음 !

main() { connect(); // Master 에 접속}onConnectedMaster() { opJoinRandomRoom(); // 랜덤 매치}onFailedJoinRandomRoom() { opCreateRoom(); // Room 이 없으므로 작성}onJoinedRoom() { // Room 에 입장하였으므로 실제 처리를 시작}

Page 14: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Photon 의 주요 기능

• 로비– Named 로비– 매치 메이킹– 플레이어 검색

• 룸– 인원 수 제어 / 표시 제어– 사용자 정의 속성

(Custom Property)

• 동기 관련– 오브젝트 동기– 이벤트 통지– RPC

• 외부와의 연계– Webhooks/WebRPC– Plugin

Page 15: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Photon 의 구조

• 모든 클라이언트 (=플레이어 )는 서버로 연결

• 서버는 클라이언트 간의 통신을 중개하는 역할

• 서버 자체는 기본적으로 처리 역할은 없으나 , Webhooks나 Plugin을 이용해 커스터마이징도 가능

Photon

Client

Client

Client

SDK SDK SDK

Page 16: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

서비스 소개

Page 17: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Photon 의 서비스 형태

• 클라우드형 서비스• 서버는 Exit Games 사가

운용• 클라이언트에 SDK 를

세팅하기만 하면 이용 가능

• 라이센스형 서비스• 미들웨어로써의 제공이므로

고객이 직접 운용• 서버 측을 자유롭게

커스터마이징 가능

Page 18: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Photon Cloud 라인업

범용성 높은 스탠다드 플랜 , RealtimeUnity 에셋 스토어에서 DL 이 가능한 Unity 특화서비스 Unity NetworkingChat 기능에 특화된 서비스 Chat

음성채팅를 간단히 도입할 수 있는 Voice

Page 19: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Photon 의 개발 멤버

• 개발처는 독일의 함부르크에 위치한 Exitgames 사

• 엔지니어 출신의 대표가 만든 엔지니어 그룹• World Golf Tour 의 노하우를

Photon 에 활용

Page 20: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

일본에서의 사례

Page 21: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

How many users?

• Over 5,000 users in Japan!• Over 20,000 apps

Apr 20

13

Jun 20

13

Aug 20

13

Oct 20

13

Dec 20

13

Feb 20

14

Apr 20

14

Jun 20

14

Aug 20

14

Oct 20

14

Dec 20

14

Feb 20

15

Apr 20

15

Jun 20

15

Aug 20

15

Oct 20

15

Dec 20

15

Feb 20

160

100020003000400050006000

Users

Page 22: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

많은 기업들이 Photon 을 이용하고 있습니다 !

Page 23: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

FINAL FANTASY GRANDMASTERS

• MORPG 게임• iOS & Android• Photon Cloud

Enterprise

©2015 SQUARE ENIX CO., LTD. All rights reserved.

Page 24: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

무료로 시작하세요 !

• 모든 서비스는 무료로 시작하실 수 있습니다 .• 꼭 사용해 보세요 !

photonengine.krfacebook.com/photoncloudkrNew

Page 25: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

에반젤리스트 모집 !

• Photon 에서는 한국에서 활동하실 에반젤리스트를 모집합니다 .

활동 내역 , 계약 형태 등 자세한 내용은 페이스북이나 메일로 언제든지 연락 주세요 !

• facebook.com/photoncloudkr• [email protected]

Page 26: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
Page 27: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

1. Cases in Korea2. WHY Photon?3. future Plans

CONTENTS

Page 28: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Cases in KOREA

1

Page 29: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

* 본 발표 자료는 ㈜ YD online 과 ㈜ Pawn Games 의 동의하에 작성되었습니다 .

Page 30: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Cases in Korea

Page 31: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

보스레이드의 특징

실시간 유저 셋팅 : 2 인 ,3 인 ,6 인

몬스터와 실시간 전투

진행가능 해당 모드를 통해서만 획득 가능한 아이템 제공

Cases in Korea

Page 32: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

1. 약 한 달 정도의 시간으로 개발진행- 전투 서버를 구현하는데 많은 개발 코스트산정

- 이미 존재하는 클라이언트 로직을 사용  

2.호환성 테스트 최소화- 유니티 클라이언트에 맞춘 API  

클라이언트 로직 사용으로 멀티 플레이 구현

Cases in Korea

Page 33: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

몬스터 사커

Cases in Korea

Page 34: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Cases in Korea

실시간 대전 1:1 (ELO rating system)

Page 35: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Cases in Korea

화려한 필살기를 사용

Page 36: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Cases in Korea

다양한 캐릭터 존재

네이버 앱 스토어에서 테스트

진행 중 !!

Page 37: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

1. 방 생성 , 룸매칭 등 커스터마이징 만으로 개발

가능 

- 방생성 , 쿼리문을 통한 자동매칭 시스템을 적절히 활용

2. 빠른 개발이 가능

- C# 으로 작성되어 개발편의성 증대

- Unity 게임에서 쓰이는 p2p 함수와 PhotonSever 에서 제공하는 p2p 함수가

구조적으로 동일 

서버개발자 없이 멀티플레이 게임 개발

Cases in Korea

Page 38: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

2Why photon?

Page 39: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Asynchronous Synchronous

Why Photon?

Page 40: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

서버 개발자 없이 실시간 대전 게임 개발

가능

기존 게임도 손쉽게 동기화 게임으로 변경

가능

무료 플랜 제공으로 부담 없이 테스트 가능

Why Photon?

Page 41: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

3future Plans

Page 42: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

포톤의 한국 현지화

future Plans

Page 43: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

서비스 한글화

• 한글 이메일 응대

• 웹사이트 한글화

• 지속적 업데이트 예정

future Plans

Page 44: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

future Plans

세미나 개최 비정기적

• 자체적으로 2 개의 포톤 서버

프로젝트 개발 중

• 세미나를 통해서

개발 노하우를 공유

Page 45: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

㈜플렉스볼 CEO &Photon 한국파트너

future Plans

• ㈜ 플렉스볼 대표 • ㈜ YJM Entertainment 부사장 , Co-

founder• ㈜ 넥슨 사업 실장• ㈜ 엔씨소프트 마케팅 파트장• ㈜ CCR 마케팅 파트장• ProeSports Inc 대표 및 Co-founder

박홍서 대표

Page 46: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Let’s fly together!

Page 47: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Thank You!

Page 48: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Photon Cloud 자동 셋 업[Photon×GMOAppscloud]

Inven Game Con-ference

GMO Data Center Korea, Inc.

Page 49: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

IN-DEX1Chap-

ter 회사 소개

2Chap-

ter 서비스 개요

3Chap-

ter Photon Server 간단 셋 업

4Chap-

ter AppsCloud 에서 이용시 메리트

Page 50: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Chpater 1

회사 소개

Inven Game Conference

Page 51: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

1 Photon×GMOAppscloud

회사 소개

회사명 GMO Internet, Inc.설립년월 1991년 5월 24 일

소재지 Cerulean Tower 4・ 6-12F, 26-1 Sakuragaokacho, Shibuya ku, Tokyo, Japan( 150-8512)

자본금 88억엔( 2013년 9월말일 기준)주식 동경증권 거래소 제 1 부 상장(증권 코드 9449)

종업원수 사원(연합)  2,974 명 임시직원(연합)  559 명

회사명 GMO Data Center Korea, Inc.

설립년월 2014년 1월 2 일

소재지 (132-070) 서울특별시 서초구 강남대로 341 삼원빌딩 6층6F,Samwon building 341, Gangnam-daero, Seocho-gu, Seoul, Korea( 137-070)

자본금 1,500,000,000원( 2014년 7월말일 기준)주식투자가 GMO Internet Pte.Ltd  ( SINGAPORE)

Page 52: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Chpater 2

서비스 개요

Inven Game Conference

Page 53: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

1 Photon×GMOAppscloud

서비스 개요

▼Photon 의 라인업

클라우드

미들웨어

자체 커스텀 로직 , 프레임 워크 , 자체적으로 관리하고 싶은 경우는 미들웨어 형 .인프라 비용 없이 저렴한 가격에 Photon 서비스를 이용하고 싶은 경우는 클라우드 형 .용도에 맞게 선택 가능합니다 .

클라우드

클라우드

리얼타임 , 멀티플레이어 , 매치메이킹 등의 네트워크 기능을 서버 없이 간단하게 설치하여 이용할 수 있는 네트워크 엔진 .

리얼타임 , 멀티플레이어 , 매치메이킹 등의 네트워크 기능을 자체 관리하거나 호스팅 서버(Windows) 에 인스톨해서 이용할 수 있는 네트워크 엔진 .

최첨단 Opus 코덱을 이용하였으며 , 최고 레벨의 오디오 퀄리티에 VR 혹은 AR 애플리케이션에 최적화된 유저간 보이스채팅을 간단하게 추가할 수 있습니다 .

채팅에 특화 된 서비스 . 다양한 멤버들 간의 채팅 ( 길드 채팅 , 개별 채팅 ) 구현 가능 .

Page 54: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

1 Photon×GMOAppscloud

GMOAppsCloud 의

일본리젼은 Photon 운영 사무국의 권장 환경으로 공인된 클라우드 서버입니다 . 「 Photon 」과 함께 이용 신청 할 수 있습니다 .물론 「 Photon 」 엔진만 이용 신청하는 것도 가능합니다 .

Photon  소개 페이지https://www.photonengine.kr/

Photon × GMOAppsCloud

Page 55: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Chpater 3

Photon Server 간단 셋업

Inven Game Conference

Page 56: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

1 Photon×GMOAppscloud

Photon Server 간단 셋 업

STEP1• 서버 (Windows) 구성

STEP2

• Photon SDK 다운로드 + 설치

STEP3• 로드밸런서 네트워크 설정

STEP4• Photon Config 설정

STEP5• 라이센스 다운로드 + 설치

STEP6• Photon Application 기동

・서버 (Windows) 구성

・라이센스 다운로드 + 설치

・ Photon Application 기동

STEP 2 ~ 4 를

자동 셋 업

■BeforePhoton Server 전자동 셋 업 설치 전・후의 비교

■After

Page 57: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Chpater 4

AppsCloud 에서 이용시 메리트

Inven Game Conference

Page 58: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

1 Photon×GMOAppscloud

AppsCloud 에서 이용시 메리트

2 . Photon Server 전자동 셋업 【 new】컨트롤 패널에서 Photon Server 가 인스톨 된 서버를 불과 몇 번의 클릭 , 몇 분 안에 기동시킬 수 있습니다 . 기동 시 번거로운 네트워크 설정이나 Config 설정도 전자동으로 설정합니다 .

3 . 24 시간 365 일 무료 전화 서포트GMOAppsCloud 의 이용 고객에게는 Photon 운영사무국에서는 통상 행하지 않는전화 서포트를 24 시간 365 일 체제로 무료 제공 하고 있습니다 .Photon Server 의 셋업 방법을 친절하게 서포트 해 드립니다 .

4 . 데이터 전송량 이용 요금에 상한선리얼타임이나 멀티 대전 등의 온라인 게임은 많은 데이터 전송량이 요구됩니다 .GMOAppsCloud 에서는 데이터 전송량이 아무리 많이 발생하더라도 이용 요금은 30 만원/월( 모바일 게임의 경우 ) 이 상한선입니다 .

1 . GMOAppsCloud 와 PhotonServer 신청시 10%OFF 【 new】Photon 과 GMOAppsCloud 를 신청하시면 GMOAppsCloud 이용요금을 10%OFF 로 제공합니다 .

Page 59: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

1 Photon×GMOAppscloud

Contact Us

서비스 이용 에 관한 자세한 내용은 아래로 문의 바랍니다 .

GMOAppsCloud   https://cloud.gmo-dc.kr/GMO Datacenter Korea, Inc.   https://www.gmo-dc.kr/Facebook   https://www.facebook.com/GMOAppsCloud.krTwitter   https://twitter.com/AppsCloudKorea

Web 사이트와 SNS 에 고객 사례와 최신 정보를 수시로 게재하고 있습니다 .

◆ 문의처

  TEL: 02-522-0813  Mail: [email protected]

Page 60: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

감사합니다[GMO 데이터센터 코리아 대리 ]

이 회 선

Page 61: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

Q&A

Page 62: [IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」

감사합니다