유니티 기반의 모바일 싱글 게임에 클라우드를 인테그레이션 해야한다.
필수로 필요한 서비스는 아래와 같다.
- Integration이 원활해야 한다.
- Unity 클라가 C#으로 개발될 것이기 때문에 백엔드 또한 C#으로 문제없이 돌아가야한다.
- 서버리스 클라우드 펑션을 제공해야한다.
- 클라우드 스토리지를 제공해야한다.
- 가격이 합리적이어야 한다.
- UI가 깔끔해야한다.
추가로 필요한 서비스는 아래와 같다.
- Authentication서비스를 제공하여 GPGS, Game Center 구현이 쉬워야 한다.
- Analytics를 제공하며 UI가 깔끔하여 추적이 쉬워야 한다.
- 번들을 올려놓을 CDN을 제공해줘야 한다.
후보군 리스트
- Unity의 UGS(Unity Gaming Service) : 선정!
- AWS의 Lambda
- MS의 Azure
- Firebase의 Build Productions
선정 이유 / 비선정 이유
- Unity의 UGS
- 클라가 Unity라서 무엇보다 Integration이 매우 용이하다.
- 위 나열한 필수 요소와 추가 요소를 모두 부합한다.
- 뿐만 아니라, 유저의 재화를 따로 관리하는 서비스까지 제공한다.(Economy 서비스)
- UI가 내 스타일이다.
- AWS의 Lambda
- 웹 개발할 때 AWS를 많이 사용했기에 가장 익숙했다.
- AWS면 클라우드 바닥에선 아주 신뢰가는 서비스다.
- 단점 : 웹에서 Cloud Function IDE에 C#이 없다.
- 단점 : UI가 정말정말 내 스타일이 아니다. (암튼 아님)
- 단점 : Unity에서 AWS API를 인테그레이션 해보질 않아 낯설다.
- Firebase의 Build Productions
- Firebase는 Unity에 인테그레이션 해본 경험이 많아 익숙하다.
- UI가 내 스타일이다.
- 지원하는 서비스들이 다 신뢰성 있다.
- 단점 : Cloud Function에서 C#자체를 지원안한다.(ㅅㄱ)
- 단점 : Cloud Function만들때 Blaze요금제 써야되는데 사업자등록번호 쓰란다. 벌써ㅋ 아니 개발단계잖아(ㅅㄱ)
- MS의 Azure
- 본인은 C#을 많이쓰는 사람인데 정작 Azure는 잘 안써봤다.
- 주위 직장 동료분들, 개발 출시하신 분들 거의다 Azure 쓰셨다고 하신다.
- 그만큼 신뢰성 있는 서비스를 제공할 거라고 생각한다.
- 단점 : 아니 시작과 동시에 템플릿 생성에서 에러 발생하는데 해결방법도 안나와 있음(ㅅㄱ)
- 단점 : Authentication에 GPGS나 게임센터와 같은 것들을 지원하지 않는듯하다.
- 단점 : UI가 진짜 내 스타일 아니다.
UGS 걱정되는 점
- 뭐 Unity에서 만든건데 솔직히 내가 뭘 걱정하겠냐만, 비교 대상군들에 비해서 신뢰성이 낮은건 사실이다.
- 일단 사용사례가 거의 없는데 UGS중 내가 사용하려는 사용사례는 거의 없고 network multiplay쪽에서는 Among Us가 최고인듯하다.
- Among Us만 보고 신뢰도를 판단하여 시작한다 봐도 과언이 아닌데 이게 맞나 싶다.
- 그럼에도 불구하고 여기서 제공해주는 서비스들이 정말 게임 친화적이라 매력이 없을 수가 없다.
- 하다가 안되면 Azure로 바꿀 생각이다.
'기타등등 > 백엔드' 카테고리의 다른 글
2. Unity Gaming Service - Cloud Code 세팅 (Serverless Cloud Function) (0) | 2023.09.13 |
---|