다른 네트웍 라이브러리를 보면 멀티 플랫폼 지원은 하는 경우가 적지 않게 있는데 프라우드넷은 기반이 한국이라서 그런지(한국의 대부분 온라인 게임 서버는 Windows) Windows 플랫폼만 지원합니다. 대신 프라우드넷은 이 부분을 멀티 랭귀지로 대응하는 것 같습니다.

 

도움말과 샘플 코드를 보면 C++ 이외에 C#, Flash, Unity를 지원하고 있습니다. 현재 한국에서 만드는 온라인 게임 중 가장 많이 사용하는 언어들이죠.

위 언어 중 C#은 서버까지 지원을 하고 Flash Unity는 클라이언트 사이드에서 사용하는 네트웍 부분만 지원하는 것 같습니다. C#으로는 서버/클라이언트 모두 만들 수 있고, Flash Unity는 클라이언트용 프로그램에서만 프라우드넷의 네트웍 라이브러리를 사용할 수 있습니다.

 

저는 현재 PC 온라인 게임만 개발하고 있어서 Flash Unity는 어떻게 되어 있는지 잘 모르겠는데 혹시 사용하고 있는 분 계시면 소감 부탁합니다^^;

 

C#은 샘플 코드를 보니 기존의 C++로 만든 것을 C++/CLI를 사용하여 DLL을 만든 후 이것을 C#에서 사용하는 방식이더군요.

도움말이 C++ C#이 나누어져 있어서 C#은 완전하게 C# dll로 만들어서 제공하는지 알았는데 제가 생각한 것과 다르더군요. 샘플 코드를 본 후 C# 도움말을 보니 C# 도움말이 C++과 같더군요.

제가 잘못 볼 수도 있는데 제가 가지고 있는 SDK로는 C#으로 서버를 개발하려면 샘플 코드를 참조하여 C++/CLI를 사용하여 직접 기존 C++ 코드를 닷넷용 DLL로 만들어야 합니다. 이 부분은 넷텐션에서 C# DLL을 제공하고 도움말도 보강하면 좋을 것 같습니다. 샘플 도움말을 보면 C++/CLI로 만드는 것이 어렵지는 않지만 저는 C++/CLI를 사용한 적이 있어서 쉬울 수 있고 어떤 사람에게는 꽤 까다로울 수도 있으니까요.
혹시나 해서 다시 도움말을 보니 제가 C++ 도움말과 혼동을 했더군요. 닷넷용 도움말도 잘 되어 있습니다. 그리고 닷넷으로 컴파일된 DLL도 제공하더군요. 다만 도움말이 대부분 Unity와 연동에 초점을 맞추고 있습니다. 그래서 Unity를 사용한다면 도움말이 많은 도움일 될 것 같습니다. 

참고로 Unity에서도 사용하는 DLL이니 아마 닷넷 버전은 3.5대 버전이지 않을까 생각합니다. 서버의 경우 궂지 3.5 버전을 사용할 필요가 없으니 최신 버전이 4.5를 사용하기 위해서 직접 빌드해서 사용하는 것이 좋을 것 같습니다.


 

한국 기준으로 보면 사실 멀티 플랫폼은 별로 의미가 없으므로 멀티 랭귀지로 대응한 것은 잘 한 것 같습니다. 다음에 멀티 플랫폼 대응까지 더 좋을 것 같습니다.

그리고 PC 온라인의 경우 클라이언트 파트는 상용 엔진을 사용하는 경우가 많은데 이른바 잘 나가는 사용엔진에서 쉽게 사용할 수 있도록 관련된 샘플도 있으면 좋을 것 같습니다.

(예전에 듣기로는 언리얼 엔진, 크라이 엔진과 협업한다고 들었는데...)

 

by 흥배 2013. 2. 15. 08:00