문제

.Net v2를 사용하여 온라인 전략 게임을 개발 중입니다.게임은 기본적으로 전략적이지만 합리적인 네트워크 성능이 필요한 몇 가지 전술적 요소도 포함하고 있습니다.전략 데이터에는 TCP 패킷을, 전술 데이터에는 UDP 패킷을 사용할 계획입니다.

{EDIT} 몇 가지 이유로 WCF와 .NET 3+를 멀리하고 있다는 사실을 언급하는 것을 잊었습니다.첫째, 다운로드 규모를 작게 유지하고 싶고 대부분의 고객이 이미 .NET 2.0을 사용하고 있기 때문입니다.둘째, Mac 및 Linux로 포팅할 수 있는 옵션을 갖고 싶지만 Mono에서 WCF를 사용할 수 있는지 확신할 수 없기 때문입니다.{/편집하다}

네트워크 라이브러리 권장 사항을 찾고 있습니다.GarageGames의 Torque 네트워크 라이브러리(C++), RakNet(C++) 및lidgren 네트워크 라이브러리(C#)와 같은 몇 가지 옵션을 찾았습니다.

http://www.opentnl.org/ http://www.jenkinssoftware.com/ http://code.google.com/p/lidgren-network/

이 라이브러리나 다른 라이브러리에 대한 실제 경험이 있는 사람이 있습니까?


방금 RakNetDotNet을 우연히 발견했습니다.

http://code.google.com/p/raknetdotnet/

이것 ~할 것 같다 내가 찾고 있는 것이 되어줘...

도움이 되었습니까?

해결책

왜 .NET 2.0으로 제한해야 할까요?.NET 3.0(또는 3.5)에는 WCF가 포함되어 있으며 보안이 뛰어난 견고하고 성능이 뛰어난 통신 하위 시스템입니다..NET 3.0은 추가 라이브러리(WCF, WF, WPF)가 포함된 .NET 2.0입니다.

다른 팁

Microsoft 자체 .NET 기반 XNA Windows 및 XBox 360에서 네트워크 게임을 만들 수 있습니다.

http://code.google.com/p/lidgren-network-gen3/

lidgren.network는 .NET 프레임 워크 용 네트워킹 라이브러리로 단일 UDP 소켓을 사용하여 클라이언트를 서버에 연결하고 메시지를 읽고 보내는 간단한 API를 제공합니다.

또한 XNA가 Live!와 함께 Windows에서 사용하는 "Games for Windows"에 주목하고 싶습니다.네트워킹 API는 이제 무료입니다 ...즉, 네트워킹 기능을 사용하는 XNA 게임을 작성하면 사용자는 하지 마라 골드회원이셔야해요 :-)

http://www.engadget.com/2008/07/22/games-for-windows-live-now-free/

Entanglar를 살펴볼 수 있습니다 ( http://entanglar.dunnchurchill.com ) 더 높은 수준의 것을 찾고 있다면.Entanglar는 전체 엔터티 수명주기 및 동기화를 제공합니다.

이 질문은 다소 오래되었지만 게임용으로 특별히 개발된 다소 높은 수준의 시스템은 플레이 - 지원되는 플랫폼 중에는 C#도 있습니다.평가판이 있으며 개인용으로는 무료입니다.

UML과 유사한 방식으로 게임 개체를 정의하면 온라인 코드 생성기가 게임 개체를 포함하는 어셈블리를 만듭니다.상태 업데이트를 보내는 것은 setter 메서드를 호출하는 것만큼 간단합니다.

스스로 소켓에 대처하고 싶다면 옳지 않습니다.또한 저는 APlay의 개발자이므로 편향된 답변입니다.

오래된 질문이지만, 혹시 이 문제를 우연히 발견하시는 분들을 위해 공개하겠습니다.우리는 우리 게임인 Bitfighter에 OpenTNL을 사용하고 있는데, 그것이 얼마나 잘 작동하는지에 대해 계속해서 놀랐습니다.그리고 GPL을 사용할 수 있다면 무료입니다.

게임 개발이 처음이라면 프로그래밍하기 쉬운 XNA를 추천합니다.그러나 Torque의 장점은 매우 귀중한 자산 생성 도구가 있다는 것입니다.고급 게임이나 FPS의 경우 소스 엔진이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top