Вопрос

Я разрабатываю онлайн-стратегию, используя .Net v2.Хотя игра в первую очередь стратегическая, в ней есть некоторые тактические элементы, требующие разумной производительности сети.Я планирую использовать пакеты TCP для стратегических данных и пакеты UDP для тактических данных.

{EDIT} Я забыл упомянуть, что я отклоняюсь от WCF и .NET 3+ по нескольким причинам.Во-первых, потому что я хочу, чтобы объем загрузки был небольшим, а у большинства моих клиентов уже есть .NET 2.0.Во-вторых, потому что я хотел бы иметь возможность портирования на Mac и Linux и не уверен в доступности WCF в Mono.{/РЕДАКТИРОВАТЬ}

Я ищу рекомендации сетевых библиотек.Я нашел несколько вариантов, таких как сетевая библиотека Torque (C++) от GarageGames, 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 — это просто .NET 2.0 с дополнительными библиотеками (WCF, WF, WPF).

Другие советы

Собственная платформа Microsoft на базе .NET XNA позволяет создавать сетевые игры на Windows и XBox 360.

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

Lidgren.network - это сетевая библиотека для .NET Framework, которая использует один сокет UDP для доставки простого API для подключения клиента к серверу, чтения и отправки сообщений.

Я также хотел бы отметить, что «Игры для Windows», которые XNA использует в Windows со своим Live!сетевые API теперь бесплатны...это означает, что если вы пишете игру на XNA, использующую сетевые функции, ваши пользователи не нужно иметь золотое членство :-)

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

Вы можете взглянуть на Entanglar ( http://entanglar.dunnchurchill.com ), если вы ищете что-то более высокого уровня.Entanglar обеспечивает полный жизненный цикл и синхронизацию объектов.

Хотя этот вопрос довольно старый, существует система несколько более высокого уровня, разработанная специально для игр. Игра - среди поддерживаемых платформ есть и C#.Существуют ознакомительные версии, и они бесплатны для личного использования.

Вы определяете свои игровые объекты аналогично UML, а онлайн-генератор кода создает сборки, содержащие ваши игровые объекты.Отправка обновлений состояния тогда так же проста, как вызов методов установки.

Не лучший вариант, если вы хотите справиться с розетками самостоятельно.Также обратите внимание, что я разработчик APlay, поэтому это предвзятый ответ.

Древний вопрос, но я задам его всем, кто наткнется на это.Мы используем OpenTNL для нашей игры Bitfighter, и я постоянно удивляюсь тому, насколько хорошо он работает.И это бесплатно, если вы можете жить под GPL.

Если вы новичок в разработке игр, я бы порекомендовал XNA — с ним легко программировать.Однако преимущество Torque в том, что у него есть инструменты для создания активов, которые также могут быть неоценимы.Для более дорогих игр или шутеров от первого лица движок Source отлично подходит.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top