Transfert de données sur LAN ou Internet
Il existe deux types de jeux multijoueurs en ligne disponibles lorsque vous créez un jeu en réseau avec XNA Game Studio:
- Sessions de jeu de liaison système (LAN)
- Séances EN DIRECT. (L'Internet)
Types de sessions disponibles:
- Utiliser le lien système pour le gameplay du réseau local
- Connectez-vous à Xbox LIVE et à Games for Windows - Serveurs LIVE
- Utilisez LIVE pour vous connecter à d'autres machines via Internet pendant le développement du jeu
Le transfert de données entre les unités Xbox et PC connectées est implémenté à l'aide de la classe LocalNetworkGamer (pris en charge sur Xbox 360) et les données sont écrites à l'aide d'un PacketWriter comme suit:
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);
}
Topologies de réseau
Pour un jeu de liaison système, vous pouvez utiliser l'une des configurations matérielles suivantes pour tester un jeu en réseau:
Un ordinateur de développement et une Xbox 360
(exécutant une instance du jeu sur l'ordinateur de développement et une sur la Xbox 360). Le créateur a besoin d'un abonnement Xbox LIVE Silver et d'un abonnement Creators Club pour exécuter le code sur la Xbox 360.
Un ordinateur de développement et un ordinateur client
(exécutant une instance du jeu sur chaque ordinateur). Les créateurs ne peuvent pas exécuter deux jeux XNA Framework en réseau en même temps sur le même ordinateur. Les créateurs ont besoin d'une deuxième machine pour exécuter une deuxième instance de jeu à des fins de test. Aucune adhésion Xbox LIVE ou adhésion au Creators Club n'est requise pour ce scénario.
Un ordinateur de développement et deux consoles Xbox 360
(exécutant une instance du jeu sur chaque Xbox 360). Ici, un créateur déploie et débogue le jeu sur deux Xbox 360. Le créateur a besoin d'au moins deux abonnements Xbox LIVE Silver et deux abonnements Creators Club (une paire pour chaque Xbox 360) pour ce scénario.
Transfert vocal sur réseau
Les données vocales sont automatiquement transmises et rejouées sans aucun effort de titre. Les titres peuvent l'utiliser pour implémenter le chat d'équipe ou la voix de proximité.
XNA Framework n'expose pas l'accès direct au programme au flux de données vocales.
- Ont-ils un accès vocal? - NetworkGamer.HasVoice
- Parlent-ils actuellement? - NetworkGamer.IsTalking
- Sont-ils muets? - NetworkGamer.IsMutedByLocalUser
XNA Games on 360 use and are required to use Live
- Absolument faux. MSDN lui-même confirme que les jeux Xbox 360 peuvent utiliser System Link (qui est LAN) ou des serveurs de jeu LIVE pour un jeu multijoueur. Réponse très mal informée. Ouvrez l'article MSDN que vous avez lié et accédez à la section «Conditions d'adhésion au Club XNA Creators et Xbox LIVE» et lisez le paragraphe initial.