자료실

Photon 기술강좌 : 3대 제품 비교(PUN2/Photon Bolt/Quantum)
작성자 | admin 2021-05-17  |    조회수 : 182129  


Photon은 전문 네트워크 엔진 개발 업체이며, 여러 응용프로그램과 각 게임 유형에 맞는 PUN2, Photon Bolt, Quantum의 라인업을 갖추고 있습니다.

가끔 고객분들이 다음과 같은 질문들을 하곤 합니다.



PUN과 Bolt에는 어떠한 차이점이 있는가?

Quantum은 또 어떤 새 기능을 제공하는가?

우리 게임은 어떤 제품을 적용해야 하는가?

2019년 6월 14일에 개최한 Photon 기술강좌에서 Technical Evangelist ‘Steven Hu’와 ‘Ryan Tseng’이 각 제품에 대해 상세한 설명을 하였습니다.


Steven Hu : Photon Taiwan의 전문기술지원 및 서비스를 담당하고 있으며, 게임 프로그래밍 및 App 시스템 구축과 관련한 연구를 즐깁니다. SNS, 컨설팅 플랫폼, 게임업체 등에서 10여년 동안 몸을 담고 있으며 관련 실무경력을 갖추고 있습니다. 타이완 개발자들을 위해 이해가 쉬운 인터넷서버지식 및 전문적인 온라인게임 설계구조를 제공하고 있습니다.


Ryan Tseng : 소프트웨어 및 시스템 통합 분야, 클라우드 및 사물인터넷 연구를 전문분야로 합니다. Photon Technical Evangelist가 된 이후, 더욱 많은 실무적 경력을 쌓아 Photon Taiwan를 위해 전문기술지원 및 서비스의 현지화를 실현하고자 합니다.


Steven과 Ryan의 말을 들어보도록 하겠습니다:


2018년 게임시장의 추세

AppAnnie의 자료에 따르면 2018년 크로스 플랫폼 및 멀티 플레이어 서버 게임이 빠른 속도로 증가하고 있습니다. 또한, .IO 유형의 캐쥬얼 게임도 빠른 속도로 발전하고 있습니다. 이를 귀납해보면, 최근 게임시장의 추세는 ‘무거운 게임’과 ‘가벼운 게임’ 두 방향으로 발전하고 있습니다. 그러나 이 둘의 공통점은 멀티 플레이어 서버와 크로스 플랫폼의 특색을 필요할 것이라는 점입니다.




Photon 3대 제품의 특색



PUN2의 구조

PUN구조는 Advanced Relay 즉 더 고급적인 전송 매커니즘 및 분산형 판단의 특색을 갖추고 있습니다. 전속 또는 지정된 클라이언트가 Relay Server로서 정보를 전달하고, 게임룸의 개념을 가지고 있어서 유저가 게임룸에 참가하여 바로 게임을 진행할 수 있습니다.

PUN2가 적합한 게임 유형

  1. 미션/메시징(시뮬레이션)/퀴즈/미스터리와 같은 일반 서버 또는 즉각적이지 않은 물리적 충돌 형식, 즉 RPG, Puzzle, Turn-base 유형의 게임이 적용됩니다.



Photon Bolt의 구조

Photon Bolt는 Client-Hosted 의 구조를 사용하여, Client가 플레이어일 수도 있으며 Server가 될 수 있도록 설계되였습니다.

Photon Bolt는 3D 충돌(Hit-Box), Deterministic 알고리즘과 롤백(Roll-back) 등의 메커니즘을 갖추고 있기 때문에 Client마다 확인되는 현상은 동일할 수 있습니다. Client와 Server를 peer to peer 방식으로 서버에 직접적으로 연결하여 입력 데이터가 Server로 전송되면, Server는 시뮬레이션 계산을 통해 해당 결과를 Client측과 함께 비교합니다. Client에서 예측한 결과와 Server의 시뮬레이션 계산 결과가 동일하지 않을 경우, Client의 변경 내용이 롤백 됩니다.




Photon Bolt가 적합한 게임 유형
  1. FPS/TPS- Authoritative 유형의 1,3인칭 슈팅 게임, 예를 들어 PUBG (배틀그라운드), Fortnite(포트나이트)등의 장르 게임.
  2. Battle(Shooter) 슈팅 대전 게임, 예를 들어 Battle-Royale(배틀로얄)/서바이벌 형식의 게임으로 40–50(또는 그 이상)의 플레이어가 동시 플레이 가능.
  3. VR/Ar/MR 게임, 파티 게임, 액션/RPG 게임, Co-oP 게임, 협동/건축, Builder 게임 등 전용 서버 필요 없는 게임(No Dedicated Server Needed).




Quantum의 구조
Quantum은 빠르게 진행되는 멀티플레이어가 실시간으로 플레이 할 수 있는 액션 게임에 적합합니다. 클라이언트의 직접적인 시뮬레이션으로 모든 것이 처리되며 (물리적 충돌, 난수(random number) 계산, 경로 계산 등), 작업 데이터가 전송되기 전에 여러 개의 tick이 대기하여, 수집된 다른 작업 데이터와 같이 시뮬레이션 및 판정 계산을 합니다.

또한,플레이어 간에 (인풋) 데이터만 전송하기 때문에 네트워크 대역폭의 사용량이 매우 적습니다. 해당 인터넷 엔진에서는 기존입력LockStepping 방식의 시간 소모 및 대역폭 사용 대신 최상의 예측/롤백 Deterministic 알고리즘을 사용합니다.

더욱이, 프로그래밍 중 네트워크 지연에 대한 보간(interpolation) 보상을 계산할 필요가 없기 때문에 거짓적이고/인위적이며/프로그래밍 계산 중 보간(interpolation)의 상황은 발생하지 않습니다. 따라서, 게임에서의 느낌과 반응은 매우 공정할 것입니다.



Quantum이 적용된 게임 유형
  1. 동작이 빠르고 실시간으로 동기화되는 게임, 예를 들어 MOBA (멀티플레이어 온라인 배틀 아레나), Brawl Stars (브롤스타즈) 등.
  2. RTS(실시간 전략 게임), 여러 개의 사물을 실시간으로 제어하여 채집/건설/발전시키는 게임, 예를 들어StarCraft(스타크래프트) 등.
  3. E-Sports 게임, 현재 인기인 PVP, 1vs1, 3vs3, 5vs5, 또한 수십 명의 멀티플레이어가 함께 참여할 수 있는 게임.
  4. Sports Game유형의 게임, 예를 들어 축구\농구\경마와 같은 게임, Fighting Game간의 1vs1, 2vs2형식(예를 들어, 스트리트 파이터, 더 킹 오브 파이터즈 등등) 모두 Quantum의 적용 범위 내에 있음.







이 기사의 설명에 대해 궁금한 점이 있으면 저희의 페이스북 혹은 메일로 문의해주세요. 한국 페이스북 페이지 : https://www.facebook.com/photoncloudkr/ 기술관련 문의사항 : developer@photonengine.kr 그 외 문의사항 : info@photonengine.kr


출처 : Hu씨의 Photon 블로그 이야기 (대만)