실시간 게임의 빠른 개발을 위한 솔루션 「 Photon 」 !
~도입 사례도 함께 소개합니다 ~
Inven Game Con-ference
INDEX
1
Chapter
Photon Engine 소개 by Photon 운영사무국
2
Chapter
Photon in Korea by Flexball
3
ChapterPhoton Cloud 자동 셋 업~Photon×GMOAppsCloud~ by GMO 데이터센터 코리아
Photon Engine 소개 GMO 클라우드 주식회사
Photon 운영사무국야마모토 쇼헤이
About Me
• 이름 : 야마모토 쇼헤이 (Syohei Yamamoto)• 소속 : GMO 클라우드 주식회사• 담당 : 각종 솔루션 기술• 취미 : 게임과 한국요리 먹방
– 최근 빠져있는 게임 : Splatoon( 닌텐도 ) 총 2,000 시간 플레이 , S+99( カンスト ) 레벨의 실력 !
그 외 오버워치등 , FPS/TPS 게임 전반을 좋아합니다 !
Photon 이란 ?
멀티 플레이를 간단하게 실현하기 위한 네트워크 엔진입니다 !
Photon 으로 무엇을 할 수 있을까 ?
멀티플레이의 요건
• 대전 게임이나 협력 플레이 처럼• 여러 명의 플레이어가 같은 게임을 동시에 즐길
수 있어야 하고 ,• 여러 명의 플레이어 ( 어플리케이션 ) 간의
통신을 통해 , 리얼타임으로 데이터를 주고 받을 필요가 있습니다 .
통신에 필요한 정보
• 예를 들면– 충돌 판정의 결과– 캐릭터의 위치 , 상태 등
• 여러 가지 데이터의 종류가 있지만 , 기본적으로는 데이터의 교환 / 동기가 가능하다면 OK
Player A
Player A
Player A
Enemy
AttackPlayer
BPlayer
C
通知 通知
Player B
실현하고 싶은 것들 ( 아주 간단한 ver.)
• 오른쪽과 같은 프로그래밍
• 송신측이 보낸 임의의 데이터를 수신측이 수신
Player A ( 송신측 ) // 이벤트 정보 ev = "event"; // 이벤트 송신 sendEvent(ev);
Player B ( 수신측 )// 이벤트 수신 방법OnReceiveEvent(ev){ if (ev == "event") { // 처리 }
어떻게 실현하지?
• 플레이어 간의 데이터 주고받기는 , P2P 로 직접 Socket 로 연결하면 OK!– 호스트 관리는 ? NAT 문제는?
• Socket Server 를 세운다면 ?– Server 코드는 어떻게 ? 운용은 ?
등등 , 이것저것 귀찮은 일이 한 두가지가 아니죠 !
귀찮은 일들은 누군가에게 맡겨버리는게 정답 !
• 통신 등 , 게임의 본질이 아닌 부분들은 외부에 맡기고 , 콘텐츠나 게임 시스템 등 게임의 본질적인 부분에 집중하세요 !
• 통신 부분은 Photon 에게 맡겨만 주세요 !
가능합니다 !
• 이벤트는 거의 오른쪽과 같이 아주 간단한 형태로 수신 가능!
• 보내는 곳의 지정이나 그 외 세세한 부분들도 설정 가능 !
Player A ( 송신측 ) // 이벤트 정보 ev = "event"; // 이벤트 송신 sendEvent(ev);
Player B ( 수신측 )// 이벤트 수신 방법OnReceiveEvent(ev){ if (ev == "event") { // 무언가 처리 }
연결도 간단!
• 매치 메이킹의 요건에 따라 달라지지만 , 심플한 사용 방법의 경우 , 단 몇줄로 접속 완료 !
• 소켓 같은건 전혀 신경 쓸 필요 없음 !
main() { connect(); // Master 에 접속}onConnectedMaster() { opJoinRandomRoom(); // 랜덤 매치}onFailedJoinRandomRoom() { opCreateRoom(); // Room 이 없으므로 작성}onJoinedRoom() { // Room 에 입장하였으므로 실제 처리를 시작}
Photon 의 주요 기능
• 로비– Named 로비– 매치 메이킹– 플레이어 검색
• 룸– 인원 수 제어 / 표시 제어– 사용자 정의 속성
(Custom Property)
• 동기 관련– 오브젝트 동기– 이벤트 통지– RPC
• 외부와의 연계– Webhooks/WebRPC– Plugin
Photon 의 구조
• 모든 클라이언트 (=플레이어 )는 서버로 연결
• 서버는 클라이언트 간의 통신을 중개하는 역할
• 서버 자체는 기본적으로 처리 역할은 없으나 , Webhooks나 Plugin을 이용해 커스터마이징도 가능
Photon
Client
Client
Client
SDK SDK SDK
서비스 소개
Photon 의 서비스 형태
• 클라우드형 서비스• 서버는 Exit Games 사가
운용• 클라이언트에 SDK 를
세팅하기만 하면 이용 가능
• 라이센스형 서비스• 미들웨어로써의 제공이므로
고객이 직접 운용• 서버 측을 자유롭게
커스터마이징 가능
Photon Cloud 라인업
범용성 높은 스탠다드 플랜 , RealtimeUnity 에셋 스토어에서 DL 이 가능한 Unity 특화서비스 Unity NetworkingChat 기능에 특화된 서비스 Chat
음성채팅를 간단히 도입할 수 있는 Voice
Photon 의 개발 멤버
• 개발처는 독일의 함부르크에 위치한 Exitgames 사
• 엔지니어 출신의 대표가 만든 엔지니어 그룹• World Golf Tour 의 노하우를
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
많은 기업들이 Photon 을 이용하고 있습니다 !
FINAL FANTASY GRANDMASTERS
• MORPG 게임• iOS & Android• Photon Cloud
Enterprise
©2015 SQUARE ENIX CO., LTD. All rights reserved.
무료로 시작하세요 !
• 모든 서비스는 무료로 시작하실 수 있습니다 .• 꼭 사용해 보세요 !
photonengine.krfacebook.com/photoncloudkrNew
에반젤리스트 모집 !
• Photon 에서는 한국에서 활동하실 에반젤리스트를 모집합니다 .
활동 내역 , 계약 형태 등 자세한 내용은 페이스북이나 메일로 언제든지 연락 주세요 !
• facebook.com/photoncloudkr• [email protected]
1. Cases in Korea2. WHY Photon?3. future Plans
CONTENTS
Cases in KOREA
1
* 본 발표 자료는 ㈜ YD online 과 ㈜ Pawn Games 의 동의하에 작성되었습니다 .
Cases in Korea
보스레이드의 특징
실시간 유저 셋팅 : 2 인 ,3 인 ,6 인
몬스터와 실시간 전투
진행가능 해당 모드를 통해서만 획득 가능한 아이템 제공
Cases in Korea
1. 약 한 달 정도의 시간으로 개발진행- 전투 서버를 구현하는데 많은 개발 코스트산정
- 이미 존재하는 클라이언트 로직을 사용
2.호환성 테스트 최소화- 유니티 클라이언트에 맞춘 API
클라이언트 로직 사용으로 멀티 플레이 구현
Cases in Korea
몬스터 사커
Cases in Korea
Cases in Korea
실시간 대전 1:1 (ELO rating system)
Cases in Korea
화려한 필살기를 사용
Cases in Korea
다양한 캐릭터 존재
네이버 앱 스토어에서 테스트
진행 중 !!
1. 방 생성 , 룸매칭 등 커스터마이징 만으로 개발
가능
- 방생성 , 쿼리문을 통한 자동매칭 시스템을 적절히 활용
2. 빠른 개발이 가능
- C# 으로 작성되어 개발편의성 증대
- Unity 게임에서 쓰이는 p2p 함수와 PhotonSever 에서 제공하는 p2p 함수가
구조적으로 동일
서버개발자 없이 멀티플레이 게임 개발
Cases in Korea
2Why photon?
Asynchronous Synchronous
Why Photon?
서버 개발자 없이 실시간 대전 게임 개발
가능
기존 게임도 손쉽게 동기화 게임으로 변경
가능
무료 플랜 제공으로 부담 없이 테스트 가능
Why Photon?
3future Plans
포톤의 한국 현지화
future Plans
서비스 한글화
• 한글 이메일 응대
• 웹사이트 한글화
• 지속적 업데이트 예정
future Plans
future Plans
세미나 개최 비정기적
• 자체적으로 2 개의 포톤 서버
프로젝트 개발 중
• 세미나를 통해서
개발 노하우를 공유
㈜플렉스볼 CEO &Photon 한국파트너
future Plans
• ㈜ 플렉스볼 대표 • ㈜ YJM Entertainment 부사장 , Co-
founder• ㈜ 넥슨 사업 실장• ㈜ 엔씨소프트 마케팅 파트장• ㈜ CCR 마케팅 파트장• ProeSports Inc 대표 및 Co-founder
박홍서 대표
Let’s fly together!
Thank You!
Photon Cloud 자동 셋 업[Photon×GMOAppscloud]
Inven Game Con-ference
GMO Data Center Korea, Inc.
IN-DEX1Chap-
ter 회사 소개
2Chap-
ter 서비스 개요
3Chap-
ter Photon Server 간단 셋 업
4Chap-
ter AppsCloud 에서 이용시 메리트
Chpater 1
회사 소개
Inven Game Conference
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)
Chpater 2
서비스 개요
Inven Game Conference
1 Photon×GMOAppscloud
서비스 개요
▼Photon 의 라인업
클라우드
미들웨어
자체 커스텀 로직 , 프레임 워크 , 자체적으로 관리하고 싶은 경우는 미들웨어 형 .인프라 비용 없이 저렴한 가격에 Photon 서비스를 이용하고 싶은 경우는 클라우드 형 .용도에 맞게 선택 가능합니다 .
클라우드
클라우드
리얼타임 , 멀티플레이어 , 매치메이킹 등의 네트워크 기능을 서버 없이 간단하게 설치하여 이용할 수 있는 네트워크 엔진 .
리얼타임 , 멀티플레이어 , 매치메이킹 등의 네트워크 기능을 자체 관리하거나 호스팅 서버(Windows) 에 인스톨해서 이용할 수 있는 네트워크 엔진 .
최첨단 Opus 코덱을 이용하였으며 , 최고 레벨의 오디오 퀄리티에 VR 혹은 AR 애플리케이션에 최적화된 유저간 보이스채팅을 간단하게 추가할 수 있습니다 .
채팅에 특화 된 서비스 . 다양한 멤버들 간의 채팅 ( 길드 채팅 , 개별 채팅 ) 구현 가능 .
1 Photon×GMOAppscloud
GMOAppsCloud 의
일본리젼은 Photon 운영 사무국의 권장 환경으로 공인된 클라우드 서버입니다 . 「 Photon 」과 함께 이용 신청 할 수 있습니다 .물론 「 Photon 」 엔진만 이용 신청하는 것도 가능합니다 .
Photon 소개 페이지https://www.photonengine.kr/
Photon × GMOAppsCloud
Chpater 3
Photon Server 간단 셋업
Inven Game Conference
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
Chpater 4
AppsCloud 에서 이용시 메리트
Inven Game Conference
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 로 제공합니다 .
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]
감사합니다[GMO 데이터센터 코리아 대리 ]
이 회 선
Q&A
감사합니다