Pregunta

Estoy desarrollando un juego de estrategia en línea usando .Net v2.Aunque el juego es principalmente estratégico, tiene algunos elementos tácticos que requieren un rendimiento de red razonable.Planeo usar paquetes TCP para datos estratégicos y paquetes UDP para datos tácticos.

{EDITAR} Olvidé mencionar que me estoy alejando de WCF y .NET 3+ por un par de razones.Primero, porque quiero que mis descargas sean pequeñas y la mayoría de mis clientes ya tienen .NET 2.0.En segundo lugar, porque me gustaría tener la opción de migrar a Mac y Linux y no estoy seguro de la disponibilidad de WCF en Mono.{/EDITAR}

Estoy buscando recomendaciones de bibliotecas de la red.Encontré algunas opciones, como la biblioteca de red Torque (C++) de GarageGames, RakNet (C++) y la biblioteca de red lidgren (C#):

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

¿Alguien tiene experiencia del mundo real con estas u otras bibliotecas?


Me acabo de topar con RakNetDotNet:

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

Este podría ser lo que estoy buscando...

¿Fue útil?

Solución

¿Por qué limitarse a .NET 2.0?.NET 3.0 (o 3.5) contiene WCF y es un subsistema de comunicaciones sólido y eficaz con buena seguridad..NET 3.0 es solo .NET 2.0 con bibliotecas adicionales (WCF, WF, WPF).

Otros consejos

Basado en .NET de Microsoft XNA le permite crear juegos en red en Windows y XBox 360.

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

Lidgren.network es una biblioteca de red para .NET Framework que utiliza un solo socket UDP para entregar una API simple para conectar un cliente a un servidor, leer y enviar mensajes.

También me gustaría señalar que los "Juegos para Windows", que XNA usa en Windows con su Live!Las API de red ahora son gratuitas...lo que significa que si escribes un juego XNA que utiliza las funciones de red, tus usuarios no Tienes que tener una membresía Gold :-)

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

Podrías echarle un vistazo a Entanglar ( http://entanglar.dunnchurchill.com ) si buscas algo de mayor nivel.Entanglar proporciona sincronización y ciclo de vida completo de la entidad.

Aunque esta pregunta es bastante antigua, existe un sistema de nivel algo superior desarrollado específicamente para juegos. Una obra - entre las plataformas soportadas también se encuentra C#.Existen versiones de evaluación y es gratuito para uso personal.

Usted define los objetos de su juego en forma similar a UML y un generador de código en línea crea ensamblajes que contienen los objetos de su juego.Enviar actualizaciones de estado es tan simple como llamar a los métodos de establecimiento.

No es lo correcto si quieres encargarte tú mismo de los enchufes.Tenga en cuenta también que soy desarrollador de APlay, por lo que esta es una respuesta sesgada.

Una pregunta antigua, pero la dejaré abierta para cualquiera que se encuentre con esto.Usamos OpenTNL para nuestro juego, Bitfighter, y siempre me sorprende lo bien que funciona.Y es gratis si puedes vivir con GPL.

Si eres nuevo en el desarrollo de juegos, te recomendaría XNA: es fácil de programar.Sin embargo, la ventaja de Torque es que tiene herramientas de creación de activos, que también pueden resultar invaluables.Para un juego de gama alta o FPS, el motor Source es genial.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top