DevLog

Playfab - 샘플 프로젝트 배포 후기

BaekNohing 2022. 9. 7. 20:09

Playfab 샘플 프로젝트 배포 후기 요약
8월 말 부터 일주일 정도 손이 남는 시기가 있어가지고 플레이팹 공부를 시작었는데,
공부하는김에 샘플프로젝트로 정리해서 팀 내에 배포했다. 
구조만 보더라도 어떤것을 할 수 있고 / 없는지 파악할 수 있도록 하는데 중점을 두었다. 

들어가며

입사하고 반년 하고도 2개월이 지났고, 프로젝트도 슬슬 마무리가 되어가는 모양새인 상황.

UI쪽은 구현이 거의 다 마무리 되어서 간간히 버그나 잡고 있는 상황이었고, 데이터 관리랑 서버와 연관된 부분들을 기다리고 있는 상황이었다. 지금 내가 속한 프로젝트에서는 Playfab(이하 플레이팹)을 사용하고 있는데,  2월부터 계속 구현한다고 큐가 잡혀있긴 했는데. 여태까지 리더보드, 로그 등이 구현되지 않고 있는 상황이었고. 마냥 기다리고 있기도 애매해서, 정식으로 계정을 요청한 뒤 연구를 시작했다.

연구를 진행하며 로그(= Event stream)나 리더보드 같은 부분들은 간단한 영역이었기 때문에 그대로 프로젝트에 적용할 수 있었고. cloudScript 같은 경우에는 해당 스크립트 관리를 위한 버전관리 툴을 별도로 사용하지 않는 상황이었기 때문에. 따로 프로젝트를 분리해 개인 저장소를 만들어서 연구를 진행했다. 

계기

그러던 도중 8월 말, 개발자 회식을 준비하던 도중 제법 많은 동료들이 플레이팹을 사용하는데 어려움을 겪는다는 것을 깨달았고. 지금 공부하고있는 내용을 정리해서 배포하게 된다면 도움을 줄 수 있을 것이라 판단했다. 

그래서 기왕 별도 저장소도 만들어졌겠다. 공부하고 있던 (그리고 구현해 두었던) 기능들을 정리해서 샘플프로젝트로 만들어 두었고. 간단한 인터페이스를 조작하며. 클라이언트가 어떤 인자로 플레이팹 서버와 통신하는지 직접 써보면서 확인할 수 있도록 했다. 

잘한 일 

플레이팹을 학습함에 있어 가장 주저되는 부분은 비용에 대한 부분이었다고 생각한다. 유료(!!!!)서버를 이용하는 것이고, 인디겜을 만들때 100명 남짓 사람이 들어왔던 것과 다르게 수십만명 이상.. 아예 타겟으로 하는 규모 자체가 다른 데에서 오는 위압감 + "함수 하나를 잘못 심어서 2000만원 넘게 청구되었다"는 소문까지 돌았기 때문에.

이 비용에 대한 걱정이 개발 의지를 심각하게 위축시킨다고 판단했다. 그래서 이를 해결하기 위해, 샘플 프로젝트에서 API를 호출하는 부분에다 PlayfabCostPredicter를 달아두어서 request로 전달되는 byte 수를 센 다음 Playfab Pricing Page와 연동시켜서. 대충 Playfab을 사용할 때 얼마정도 청구가 될 지 예상할 수 있도록 만들었다.

그리고 내가 보는 것 보다는, 다른 사람이 가져가서 쓰는 (그리고 뭔가 추가하거나 수정하는) 상황을 염두해 두고 작성했기 때문에. 되도록이면 기능에 따라 클래스를 분리하고, 함수 이름이 조금 길어지더라도 최대한 의도를 충분히 기술할 수 있도록 하고. 클래스가 상호의존을 보이는 상황일 것 같은 상황에서는 인터페이스를 만들어서 상호 의존성을 끊어두는 등 최대한 부드럽고 명료하게 작성하려고 노력했다. 

구조 예시, 이런 방식으로 상호의존을 최대한 끊었다.

 

정리

정리된 프로젝트는 사수, 동료에게 리뷰를 받고 내부 메신저에 사내 깃 주소를 공유했다. 리뷰를 받는 도중에 "필요하면 찾고, 없으면 만듭니다."라는 말을 했었는데 곱씹을수록 마음에 드는 단어라.. 그냥 으레 사람들이 그런 글귀 한두개씩 마련해 두는 것처럼 나도 저 문장을 내 그걸로 삼기로 했다. 이제 나는 "필요하면 찾고, 없으면 만들고, 만든건 나누는" 개발자다.

'DevLog' 카테고리의 다른 글

DevLog - 전략적 개발을 통한 협업 관리  (0) 2022.11.16
대학원??  (0) 2022.10.14
Unity - Playfab Event Log 붙이기 회고  (0) 2022.08.27
일하고싶은 곳이라고 생각하는 기준 여섯가지  (0) 2022.08.13
잘하는 개발자?  (0) 2022.08.09