[Unity] Photon으로 메타버스 월드 만들기 1. 포톤 서버와 클라우드의 차이

세동네·2021년 10월 8일
0
post-thumbnail

유니티로 다양한 게임을 만들면서 네트워크를 통한 온라인 게임을 개발할 일이 있을 것이다. 개인이 직접 게임 서버를 개발할 수도 있겠지만, 패킷을 효율적으로 관리하고 많은 사용자를 수용하기 위해 난이도 있는 작업이 필요하므로 "게임 개발"을 하고 싶다면 네트워크 개발은 잠시 미뤄두고 멀티 플레이어 게임 개발을 위한 다양한 프레임워크를 사용하는 것을 먼저 생각하는 것이 정신건강에 이로울 것이다.

이번 시리즈에서는 멀티 플레이어 게임 서버 프레임워크 중 '포톤'에 대해 다뤄볼 것이다.

· Photon Cloud? Server?

포톤에서 제공하는 서비스는 크게 두 종류로 나뉜다. '포톤 클라우드'와 '포톤 서버'인데, 둘의 차이를 간단하게 짚어보자면

포톤 클라우드는 서버를 포톤에서 제공하는 동시에 관리까지 모두 해주기 때문에 사용자는 클라이언트 개발에만 신경쓰는 Saas(Software as a service)이다. 즉, 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하는 형태이다.

이와 다르게 포톤 서버는 클라우드 식으로 서버에 대한 모든 서비스를 제공받는 것이 아닌 자체적으로 서버를 운영하는 On-premise 방식의 서버 어플리케이션이다. 따라서 사용자의 취향과 목적에 따라 서버를 커스터마이징하여 관리하고 운영하는 것이 가능하다.

쉽게 말하여 포톤 클라우드는 통신의 주체가 되는 사용자가 포톤의 중앙 서버(클라우드)를 통해 소통하는 것이고, 포톤 서버는 클라이언트가 관리자가 직접 운영하는 서버 PC를 통해 소통한다는 것이다.

· Photon Server 선택 이유

기본적으로 포톤 클라우드는 무료 애플리케이션 기준 20 CCU(Concurrent connected User, 동시접속자)를 제공하고, 포톤 서버는 무료 애플리케이션 기준 100 CCU를 제공한다. 즉, 포톤 서버가 더 많은 동시접속자를 수용할 수 있다는 뜻이고 포톤 공식 홈페이지에서도 실시간, MMO 게임 개발에서 포톤 서버를 사용할 것을 권장하고 있다.

하지만 개인 개발자가 100명 이상의 사용자를 수용할 수 있는 서버용 PC를 가지고 있을 거라는 보장도 있지 않고, 항상 켜두어야 한다는 점 때문에 클라우드 방식을 많이 이용한다.

클라우드 방식의 장점은 환경이 필요 없다는 점이다. 많은 유저를 수용하기 위해선 그들이 보내는 데이터를 처리할 수 있는 성능의 환경이 필요할 것이지만, 클라우드는 중앙 호스팅으로 기업에서 환경을 제공해주기 때문에 어느 정도의 비용만 지불하면 쾌적한 환경을 이용할 수 있다는 장점이 있다.

하지만 호스팅을 개인이 하는 것이 아닌 만큼 제어할 수 있는 영역이 제한되고 개발하는 시스템이 필요한 서버의 형태를 직접 설계하기 위해선 프로토콜과 다양한 함수 등을 커스터마이징할 수 있는 포톤 서버를 선택했다.

0개의 댓글