Transferencia de datos a través de LAN o Internet
Hay dos tipos de juegos multijugador en línea disponibles cuando creas un juego en red con XNA Game Studio:
- Enlace de sistema sesiones de juego (LAN)
- Sesiones en vivo. (Internet)
Tipos de sesión disponibles:
- Utilice el enlace del sistema para la jugabilidad de la red de área local
- Inicie sesión en Xbox LIVE y Juegos para Windows - Servidores LIVE
- Use LIVE para conectarse a otras máquinas a través de Internet mientras el juego está en desarrollo
La transferencia de datos entre las unidades Xbox y PC conectadas se implementa usando la clase LocalNetworkGamer (compatible con Xbox 360) y los datos se escriben usando un PacketWriter de la siguiente manera:
foreach (LocalNetworkGamer gamer in session.LocalGamers)
{
// Get the tank associated with this player.
Tank myTank = gamer.Tag as Tank;
// Write the data.
packetWriter.Write(myTank.Position);
packetWriter.Write(myTank.TankRotation);
packetWriter.Write(myTank.TurretRotation);
packetWriter.Write(myTank.IsFiring);
packetWriter.Write(myTank.Health);
// Send it to everyone.
gamer.SendData(packetWriter, SendDataOptions.None);
}
Topologias de red
Para un juego de enlace de sistema, puede usar cualquiera de las siguientes configuraciones de hardware para probar un juego en red:
Una computadora de desarrollo y una Xbox 360
(ejecutando una instancia del juego en la computadora de desarrollo y una en la Xbox 360). El creador necesita una membresía de Xbox LIVE Silver y una de Creators Club para ejecutar el código en la Xbox 360.
Una computadora de desarrollo y una computadora cliente
(ejecutando una instancia del juego en cada computadora). Los creadores no pueden ejecutar dos juegos XNA Framework en red al mismo tiempo en la misma computadora. Los creadores necesitan una segunda máquina para ejecutar una segunda instancia de juego con fines de prueba. No se requieren membresías Xbox LIVE o membresías Creators Club para este escenario.
Una computadora de desarrollo y dos consolas Xbox 360
(ejecutando una instancia del juego en cada Xbox 360). Aquí un creador implementa y depura el juego en dos Xbox 360. El creador necesita al menos dos membresías Xbox LIVE Silver y dos membresías Creators Club (un par para cada Xbox 360) para este escenario.
Transferencia de voz a través de la red
Los datos de voz se transmiten y reproducen automáticamente sin ningún esfuerzo de título. Los títulos pueden usar esto para implementar el chat del equipo o la voz de proximidad.
XNA Framework no expone el acceso directo del programa al flujo de datos de voz.
- ¿Tienen acceso de voz? - NetworkGamer.HasVoice
- ¿Están hablando actualmente? - NetworkGamer.IsTalking
- ¿Están silenciados? - NetworkGamer.IsMutedByLocalUser
XNA Games on 360 use and are required to use Live
- Absolutamente equivocado. MSDN confirma que los juegos de Xbox 360 pueden usar System Link (que es LAN) o servidores de juegos LIVE para juegos multijugador. Respuesta altamente desinformada. Abra el artículo de MSDN que vinculó y vaya a la sección "Requisitos de membresía de XNA Creators Club y Xbox LIVE" y lea el párrafo inicial.