
다수의 인원이 멀티 플레이를 진행할 때 게임 로직에 문제가 생긴 부분이 아쉬웠다.
거의 대부분의 로직이 C++이 아닌 블루프린트로 구현되어 있어 성능적인 부분이 아쉬웠다.
불규칙하게 접속하는 플레이어 컨트롤러마다 폰 빙의 타이밍이 달라서 이를 정확히 감지하는 방법을 몰랐고, 임시방편으로 Delay를 삽입해 타이밍 문제를 해결하려 한 점이 아쉬웠다. (게임 시작 흐름이 불안정해지고 버그가 발생한 원인이라고 생각한다.)
멀티 플레이어 환경에서 언제 어떤 RPC를 사용하고 리플리케이션을 사용할 지에 대한 지식이 완전하지 않았다. 그래서 로직에 문제가 생겼을 때 디버깅 하여 고치는 것이 어려웠다.
블루프린트에서 구현된 함수를 C++ 코드에서 호출하는 것이 어려웠다.
에디터에서는 잘 작동하지만 막상 패키징을 하여 작동하면 인터넷 환경 및 BandWidth 등 물리적인 한계로 인해 이상하게 돌아갈 때가 많은데 디버깅이 쉽지않아 힘들었다.
디버깅이 쉽지 않다보니 여전히 잔버그들이 많았고 프로젝트 시간이 데드라인에 가까워 지면서 모두 고치지 못하는게 아쉽다.
템플릿을 활용하다보니 멀티플레이 네트워크 환경을 처음부터 구축하는게 아니라서 온전하게 멀티환경을 체득하는 것이 힘들었다.
기존 템플릿이 블루프린트로 작성되어 이후 확장도 블루프린트 노드로 하는 경우가 많았고 그러다 보니 최적화가 쉽지않아서 아쉬웠다.
스킬모션의 경우 RootMotion 애니메이션을 쓰는 경우가 많은데 일관되지 않고 다양한 루트로 애니메이션을 들고오니 Idle 과 skill 애니메이션의 Root rotation이 너무 어색하지 않게 Blend 하는데 힘들었다.
싱글플레이에서는 편하게 구현에만 신경쓰면 됐었지만 멀티플레이 환경에서는 서버로 돌아가야 되는 로직인지 클라이언트에 할당해야하는 멀티캐스트인지 계속 생각하면서 로직을 설계해야하니깐 힘들었다.
RPC를 남발하여 Traffic OverHead 가 많이 일어남. Reliable도 남발하면서 최적화에 좋지 않았음.
게임 설정 창을 만들지 않아서 유저가 PC 환경에 따른 설정 변경을 하지 못했다.
테스트 게임 모드를 만들지 않아서 팀원들이 기능을 테스트 할 때 많이 힘들었다.
기본 템플릿을 사용하다보니 연결된 로직들이 많아서 중복적으로 실행되는 부분이 많았다.