버그 해결을 위한 모든 질문을 던져
0 votes
304 views
처음으로 모바일 게임을 개발 중입니다.

유니티로 개발중이고 서버는 닷넷 코어를 이용하여 API 서버로 작업중이고(유저간 상호작용은 없는 게임입니다)  DB는 mariadb로 작업중입니다. 일단 로그인은 firebase 로 대충 붙여놓고 게임 컨텐츠를 개발 중인데요

나중에 출시할때를 생각해서 구글 개발자 콘솔도 미리 등록해놓고 시험삼아 APK 도 올려보고 해봤습니다.

그리고 서버를 구동하기 위해서 aws, azure, firebase 등의 서비스를 살펴보다가

오늘 국내에도 그런 서비스 플랫폼이 몇가지 있는걸 알게 되었네요

뒤끝서버
토스트 게임베이스
게임팟

이런것들이 있던데, 이런 플랫폼 들에서 제공되는 서비스의 범위가 어디까지인지 감이 잘 안서서 질문을 드립니다.

1. 뒤끝서버의 소개를 보면, 게임 서버의 기능을 제공한다고 되어있는데 그렇다면 지금 작업중인 restful API 서버를 사용하지 않고도 간단히 게임 서버를 만들 수 있다는 것일까요?
( 게임 서버에서 하는 역할은 DB와 연동되어 데이터 저장, 결재 인증 정도가 되겠고, 클라이언트에서 넘어오는 패킷을 필요에따라 체크하고 검증하는 부분이 구현될 예정입니다. )

2. 대체적으로 보면 크게 인증, 결재, 푸시 등등에 대한 기능이 제공되는것으로 보이는데 범용적으로 사용될만한 기능들은 해당 플랫폼의 서비스를 이용하고 개발되는 게임에서 특별히 처리해야될 기능들은 따로 서버로 개발하면 되는것인가요?

이런 플랫폼을 이용해본적이 없어서 제공되는 기능들의 범위가 어디까지인지 감이 잘 서질 않습니다.

클라우드로 리눅스서버와 mysql 을 호스팅 받고 직접 개발한 서버를 구동시켜서 작동시킬 생각이었는데
위와같은 플랫폼을 사용하게 될 경우 뭔가 다른게 있나 싶기도 하고 그렇습니다.

조언 부탁드립니다 (_ _)
asked (2 point) , 304 views

1 답변

+1 vote
안녕하세요.

뒤끝 소속 기술담당자 입니다.

여기서 저희 제품 질문을 발견하다니..! 기분이 미묘합니다 ㅋㅋ

질문 많이 올려주세요  ( _ _ ).

 

1. 뒤끝서버의 소개를 보면, 게임 서버의 기능을 제공한다고 되어있는데 그렇다면 지금 작업중인 restful API 서버를 사용하지 않고도 간단히 게임 서버를 만들 수 있다는 것일까요?
( 게임 서버에서 하는 역할은 DB와 연동되어 데이터 저장, 결재 인증 정도가 되겠고, 클라이언트에서 넘어오는 패킷을 필요에따라 체크하고 검증하는 부분이 구현될 예정입니다. )

 

말씀하신 뒤끝, 파이어베이스, 포톤 등의 서비스를 G-BaaS(Game Backend as a Service), 줄여서 지바스로 부르겠습니다.

2019년 기준, 지바스는 세 가지 형태로 제공되고 있습니다.

 

- 게임 앱 <-> sdk <-> restful api 방식

게임 앱에서 로직을 처리하고, sdk를 삽입해 준비된 restful api와 통신하는 방식입니다.

회원가입, 영수증 검증, 푸시, 데이터 저장, 랭킹 등 restful api 기능들을 서버 개발없이 바로 이용할 수 있습니다.

SDK + DB + restful api 형태의 지바스는 playfab, firebase, 뒤끝 등을 많이 이용합니다.

국내에서는 뒤끝을 가장 많이 이용합니다. (게임 개발사 가입 계정수 1위)

 

게임 로직이 클라이언트 앱에서 실행되기 때문에, 앱이 해킹되는 경우(메모리 변조 등) 데이터를 신뢰할 수 없게 될 가능성이 있습니다. (보통 난독화 적용, 해킹 탐지 로그 코드 적용 등으로 해결합니다)

 

- 클라우드 펑션 방식

aws의 lambda, azure의 function을 사용하면 서버리스 방식으로 코드를 바로 작성할 수 있습니다. 이 방식을 FaaS(Function as a Service), 파스 라고 부릅니다.

지바스 업체들은 람다나 펑션을 응용해서, 자신들의 플랫폼 내에서 제공합니다. firebase, gamesparks는 내부적으로 aws lambda와 azure function을 사용합니다. 게임 로직이 꼭 서버에서 수행되어야 할때 검토해볼만합니다.

국내에서는 sk cloud z가 처음으로 faas기능을 상용화했고(개발자분들 존경,,) 국내 게임 개발자들이 가장 많이 사용하는 것은 aws 람다 입니다.

뒤끝은 아직 이 기능을 제공하지 않습니다. (2020년 제공 예정)

 

- 소켓 서버 방식

롤, 브롤 스타즈등 실시간 소켓 게임을 개발할수 있는 지바스입니다. 현재는 photon이 유일하게 이 기능을 제공하고 있습니다.

로직은 클라이언트에서 실행되고, 릴레이 서버가 패킷만 동기화 해주는 슈퍼피어 방식입니다. 2019년 기준, 지바스 기술로는 최대 50명을 한 방에 넣을 수 있습니다. mmorpg는 아직 만들 수 없습니다.

뒤끝은 2019년 12월에 소켓 서버 기능을 출시합니다.

 

2. 대체적으로 보면 크게 인증, 결재, 푸시 등등에 대한 기능이 제공되는것으로 보이는데 범용적으로 사용될만한 기능들은 해당 플랫폼의 서비스를 이용하고 개발되는 게임에서 특별히 처리해야될 기능들은 따로 서버로 개발하면 되는것인가요?

2019년 기준, 지바스는 서버개발자가 없는 회사에서 주로 사용합니다.

10인 이하 중소규모의 개발팀이 서버 개발, 운영을 동시에 하는것이 현실적으로 어렵기 때문에.. 서버는 지바스에게 완전히 위임하고, 클라이언트 코드의 완성도에 집중하는 것을 추천드립니다.

만약 개발자가 1명이고 서버와 클라이언트를 모두 개발해야 한다면... 출시까지 오랜 시간이 필요할 것입니다. 이 상황이라면 서버는 지바스를 사용하고 유니티 개발에 집중하는 것이 제가 생각하는 가장 좋은 방법입니다 :)

 

아 그리고 뒤끝은 슬랙 채널을 운영중인데요, 채널로 질문 주시면 더 빠른 답변이 가능합니다.
answered (6 point)
수정됨
상세한 답변 감사드립니다~!,

여러 플랫폼들을 살펴보면서 비슷해보이면서도 조금씩은 다른게 보였는데 이렇게 정리해서 알려주시니 각각 차이점을 잘 알겠네요..

추가로 질문을 좀 더 해도 될까요?

뒤끝과 같은 G-BaaS 서비스에서 준비된 restful API 라 함은 규칙이 정해져있는 범용적인 요청( 로그인, 결재 등 ) 만 가능하고 커스터마이징한 기능 구현은 안된다고 보면 되는것이겠죠?

서버를 직접 구현할 여력이 된다면 직접 구현하는게 가장 좋은 방법이겠네요,

현재는 restful, 소켓 서버 둘다 클라이언트와의 연동은 다 되어있고, 실제 게임컨텐츠 부분 작업만 하면 되는 상태입니다.

추가 질문사항이 또 생기면 슬랙 채널로 질문드리도록 하겠습니다 감사합니다 ^^

이미 restful, 소켓서버가 만들어져있다면 굳이 지바스를 쓰지 않아도 될것같습니다.

 

"뒤끝과 같은 G-BaaS 서비스에서 준비된 restful API 라 함은 규칙이 정해져있는 범용적인 요청( 로그인, 결재 등 ) 만 가능하고 커스터마이징한 기능 구현은 안된다고 보면 되는것이겠죠?"

 

맞습니다. 지바스의 장점은 "개발을 하지 않아도 바로 쓸 수 있음"이고, 단점은 "만들어진 만큼만 사용할 수 있음" 입니다. 지바스의 restful api로 서버 기능을 빠르게 연동하고, 커스터마이징 기능은 클라우드 펑션으로 구현하는 식입니다.

 

직접 개발, 설정한 서버 인프라, 서버 어플리케이션이 이미 준비되어 있을 것 같습니다.

이 상황에서는컨텐츠 서버를 바로 개발하는 것이 가장 빠를 것입니다 :)

전에 인디터에서 뒤끝 관련 배너를 보고 나중에 개인 게임만들때 써볼것을 고려하고 있었는데

어떤식의 차이인지 마침 이번 질문의 답변을 보고 좀더 자세히 알게 되었네요.

죠습니다!
좋은 글 잘 읽었습니다 :D

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

239 질문
367 answers
376 댓글
470 users