C # Game Network Библиотека - PullRequest
       21

C # Game Network Библиотека

6 голосов
/ 06 сентября 2008

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

{EDIT} Я забыл упомянуть, что по нескольким причинам я отстраняюсь от WCF и .NET 3+. Во-первых, потому что я хочу, чтобы загрузка была небольшой, и у большинства моих клиентов уже есть .NET 2.0. Во-вторых, потому что я хотел бы иметь возможность портировать на Mac и Linux и не уверен в доступности WCF в Mono. {/ EDIT}

Я ищу рекомендации по сетевой библиотеке. Я нашел несколько вариантов, таких как сетевая библиотека Torque GarageGames (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/

Это может быть тем, что я ищу ...

Ответы [ 8 ]

5 голосов
/ 06 сентября 2008

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

4 голосов
/ 04 декабря 2011

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

Lidgren.Network - сетевая библиотека для .net framework, которая использует один сокет udp для предоставления простого API для подключения клиента к сервер, чтение и отправка сообщений.

2 голосов
/ 16 сентября 2008

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

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

1 голос
/ 16 января 2012

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

1 голос
/ 09 мая 2011

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

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

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

1 голос
/ 14 января 2009

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

1 голос
/ 06 сентября 2008

Зачем ограничивать себя .NET 2.0. .NET 3.0 (или 3.5) содержит WCF и является надежной и эффективной коммуникационной подсистемой с хорошей безопасностью. .NET 3.0 - это просто .NET 2.0 с дополнительными библиотеками (WCF, WF, WPF).

0 голосов
/ 16 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...