-
스파르타) The Last Rollback (D-14, Node.js 게임 서버 최종 프로젝트)TIL-sparta 2024. 8. 13. 23:06
학습 키워드: C#, DotNet, Protobuf, Recast & Detour, Pathfinding
1. 프로젝트 관련 사항
1) C# 서버에 Protobuf 추가 및 예시 핸들러 구현:
DotNet으로 구현한 TCP 소켓 서버에 Protobuf를 추가하고 테스트용 핸들러 클래스를 생성하여 매핑한 뒤 JS 서버와 송수신 테스트를 진행했다.
2) DotRecast:
위 1번에서 작업한 서버는 Pathfinding에 사용될 전용 서버인데, 여기서 사용될 라이브러리로 'Recast & Detour Navigation' 라이브러리를 C# 버전으로 가공한 'DotRecast'를 사용해보기로 했다. UniRecast 라는 것도 있어서 유니티에 demo를 import 하고 NavMesh를 bake 해보는 등 가볍게 알아보았으나 Alpha 단계라고 명시되어 있어서 일단 사용을 보류했다.
메뉴얼이 딱히 없어서 클래스를 하나하나 읽어보며 기능을 알아가고 있었는데, 일단 Recast 부분이 NavMesh에 관련된 부분이고 Detour 부분이 움직임(Pathfinding)에 관련된 부분이다. Detour의 경우 DtCrowd 및 DtCrowdAgent 가 Unity의 NavMeshAgent와 같은 기능을 하는 것으로 보인다.
기능 테스트를 해보려고 NuGet으로 DotRecast 패키지들을 설치했으나, build 하려고 보니 namespace가 없는 것으로 나타나는 문제가 있었다. 아직 해결은 못했지만 github에서 파일들을 직접 끌어와 프로젝트에 추가해주는 것이 좋다고 명시되어 있어서 그렇게 해볼 생각이다.
Unity NavMesh와 Dedicated 서버 pathfinding에 관련된 조언을 튜터님께 구해둔 상황이라 내일 이야기를 들어보고 작업을 이어나가기로 했다.
--
REFERENCES:> 프로젝트 repo
> Dedi 서버 repo
> DotRecast / BuildingAndIntegrating.md
728x90'TIL-sparta' 카테고리의 다른 글
스파르타) The Last Rollback (D-12, Node.js 게임 서버 최종 프로젝트) - DotRecast (2) (0) 2024.08.16 스파르타) The Last Rollback (D-13, Node.js 게임 서버 최종 프로젝트) - DotRecast (0) 2024.08.14 [.NET] C# DotNet으로 TCP 소켓 서버 열어보기 (0) 2024.08.12 [Docker] Fluent Bit 세팅해보기 (짧) (0) 2024.08.11 [Docker] Docker Desktop 사용해보기 (0) 2024.08.11