Juego en red C# XNA sin LIVE [cerrado]

He hecho un juego en C# con XNA. Y me gustaría hacerlo jugable en línea.

Quiero poder alojar un juego en una máquina y poder conectarme a este juego en otras máquinas. Algo así como un servidor de escucha en Half Life.

Esto puede parecer un problema bastante común que debería haberse resuelto un millón de veces. Pero he buscado en Google y realmente parece que no puedo encontrar ninguna información útil.

Quiero saber exactamente qué necesitaría, con respecto a las cosas de la red, para crear un juego en línea con XNA, sin usar la cosa de Microsoft-Live.

  1. ¿Una biblioteca? la cosa que usa ubicada en la parte superior de una clase.
  2. Código para inicializar estas cosas
  3. Cómo buscar otra computadora jugando este juego.
  4. Cómo obtener/enviar datos entre las computadoras.
  5. Sobre qué cliente se calculan las cosas. Si un tipo disparara una bala, ¿debería crearse esta bala como un objeto en ambos clientes? ¿O uno tiene el objeto (comprobando colisiones, etc.) y el otro solo obtiene posiciones para dibujar?

Me gustaría que alguien que haya hecho un juego como este responda cuál sería un enfoque estándar.

preguntado el 03 de mayo de 12 a las 16:05

Intenta preguntar en GameDev.StackExchange.com, se especializan en este tipo de cosas. -

Su pregunta es demasiado amplia, lo que quiere aquí es un tutorial sobre la gestión de redes entre dos aplicaciones, no podemos simplemente buscarlo en Google. Además, ese elemento de uso ubicado en la parte superior de una clase no es una biblioteca, es solo un atajo de código. Sus bibliotecas están en la sección de referencia de VS. -

Es posible que desee aclarar si esto está destinado a ejecutarse en XBox 360, WP7 o PC u otra plataforma a través de Monogame o algo así. La respuesta variará según esta información. -

La biblioteca de sockets C # puede ser demasiado "de bajo nivel", pero es una de las formas. -

@Kelkk: codifique el cliente y el servidor ... Sugiero que solo use la biblioteca que ya existe si no sabe nada sobre redes, si lo implementa usted mismo, le garantizo que estará mal. El hecho de que lo llame "cosa de uso" significa que no tiene programación comercial. -

2 Respuestas

Las bibliotecas XNA incorporadas están enfocadas en Live, por lo que tendrá que vivir con eso o usar una biblioteca de red diferente.

Las bibliotecas .NET UdpClient y Socket son bastante sencillas.

Alternativamente, eche un vistazo a Biblioteca de red de código abierto de Lindgren. Incluye algunos métodos de extensión para enviar tipos de XNA como Matrix, Vector3, etc. que pueden ser útiles cuando estás comenzando.

contestado el 03 de mayo de 12 a las 16:05

La biblioteca de Lidgren se ve bien, le echaré un vistazo. gracias por el consejo - Kelkk

Escribí una respuesta a una pregunta sobre cómo hacer un MMO usando lidgren, como se mencionó anteriormente. Tiene algunos enlaces a recursos que puede usar para aprender a usarlo. Lo he usado personalmente para tener una pequeña aplicación de prueba con 5 usuarios corriendo juntos, pero todavía no he ido más allá.

Multijugador masivo en xna

contestado el 23 de mayo de 17 a las 12:05

gracias, se ve bastante bien, lo revisare- Kelkk

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.