포스트

PunchPangCat 개발일지

안녕하세요, 또 다시 오랜만에 블로그 포스팅을 하게 되었습니다. 재밌어보이는(최소한 귀여운 캐릭터는 나오는) 게임 데모 영상을 준비해왔습니다. 허접하지만 한 번 재생해주세용:)

그럼, 포스팅 시작하겠습니다.


아시다시피 저는 PunchPangCat이라는 고양이 격투액션게임을 어렴풋이 구상하고, Unity의 FishNet이라는 네트워킹 프레임워크로 개발을 하고 있습니다. 제가 Fishnet을 사용하고 있는 이유는 다른 Mirror, Netcode에는 없는 Client Side prediction(Server authoritive movement)가 Fishnet에는 쉽게 사용할 수 있도록 탑재되어 있기 때문입니다. 물론 Photon이라는 좋은 프레임워크에도 CSP가 있지만 Photon은 가격이 비싸다는 인식으로 인해 환영받지 못하는 프레임워크인 것 같아서 제외해왔습니다.

지난 포스팅에서 설명드린대로 Fishnet의 개발자분께서는 지금도 Prediction Version 1에서 Version 2로 업그레이드를 하시는 중입니다. 저도 기왕이면 한 번에 가자는 마음을 잠깐 먹고, Experimental 상태 이기는 하지만 Prediction Version 2의 방식대로 수정을 해보았었는데요, 마음에 들지 않아 Prediction V1을 당분간은 고수하기로 했습니다.


  • 서버 권한 이동을 가진 Kinematic character controller.(New Input System)
  • TOP DOWN Camera based.(custom camera based or Cinemachine based)
  • Third Person Camera based.(Cinemachine based)
  • Scene Stacking 기능이 탑재된 Lobby.

멀티플레이 컨트롤러 하나 구현하는 데에도 이렇게 알아야 하고 고쳐야 할 버그들이 많았어서 더욱 굳게 마음을 다잡게 됩니다. 바로 뼈대(컨트롤러, 멀티플레이 메커니즘)만 쓸만큼 만든 다음에는 최대한 힘을 덜 들이고 게임을 완성하기로 말이죠. 제대로 하려면 시간이 끝이 없이 드는 것 같네요. 최대한 거품 빼고 만들자고 다짐하는데도 당연히 되어야 하는데 안되는 것들이 있으면 안하고 그냥 넘어가기는 더 어려운 것 같아요. 플레이어의 입장에서 생각하면 당연한 기능을 갖추는게 제작자가 되어보니 당연하지 않아서, 이걸 타협하는게 좋을지 안하는게 좋을지 어떤게 정답인지는 저도 잘 모르겠습니다. ㅎㅎ

아래는 로비에 클라이언트가 접속해서 방을 하나 생성하고, 그 곳에 각자 캐릭터를 스폰하고 조작하는 시연 영상입니다. https://youtu.be/feRP1yHyLMI

[영상]

구경해주셔서 감사합니다.

sticker


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.