Datenübertragung über LAN oder Internet
Beim Erstellen eines vernetzten Spiels mit XNA Game Studio stehen zwei Arten von Online-Multiplayer-Spielen zur Verfügung:
- System Link Game Sessions (LAN)
- LIVE-Sitzungen. (Internet)
Sitzungstypen verfügbar:
- Verwenden Sie System Link für das lokale Netzwerk-Gameplay
- Melden Sie sich bei Xbox LIVE und Games for Windows - LIVE Servern an
- Verwenden Sie LIVE, um während der Entwicklung des Spiels über das Internet eine Verbindung zu anderen Computern herzustellen
Die Datenübertragung zwischen verbundenen Xbox- und PC-Einheiten wird mithilfe der LocalNetworkGamer-Klasse (auf Xbox 360 unterstützt) implementiert, und die Daten werden mit einem PacketWriter wie folgt geschrieben:
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);
}
Netzwerktopologien
Für ein Systemverbindungsspiel können Sie eine der folgenden Hardwarekonfigurationen verwenden , um ein vernetztes Spiel zu testen:
Ein Entwicklungscomputer und eine Xbox 360
(eine Instanz des Spiels wird auf dem Entwicklungscomputer und eine auf der Xbox 360 ausgeführt). Der Ersteller benötigt eine Xbox LIVE Silver- und eine Creators Club-Mitgliedschaft, um Code auf der Xbox 360 auszuführen.
Ein Entwicklungscomputer und ein Clientcomputer
(auf jedem Computer wird eine Instanz des Spiels ausgeführt). Ersteller können nicht zwei vernetzte XNA Framework-Spiele gleichzeitig auf demselben Computer ausführen. Entwickler benötigen eine zweite Maschine, um eine zweite Spielinstanz zu Testzwecken auszuführen. Für dieses Szenario sind keine Xbox LIVE-Mitgliedschaften oder Creators Club-Mitgliedschaften erforderlich.
Ein Entwicklungscomputer und zwei Xbox 360-Konsolen
(auf jeder Xbox 360 wird eine Instanz des Spiels ausgeführt). Hier stellt ein Entwickler das Spiel auf zwei Xbox 360 bereit und debuggt es. Der Ersteller benötigt für dieses Szenario mindestens zwei Xbox LIVE Silver-Mitgliedschaften und zwei Creators Club-Mitgliedschaften (ein Paar für jede Xbox 360).
Sprachübertragung über das Netzwerk
Sprachdaten werden automatisch übertragen und ohne Titelaufwand wiedergegeben. Titel können dies verwenden, um Team-Chat oder Proximity-Voice zu implementieren.
Das XNA Framework bietet keinen direkten Programmzugriff auf den Sprachdatenstrom.
- Haben sie Sprachzugang? - NetworkGamer.HasVoice
- Sprechen sie gerade? - NetworkGamer.IsTalking
- Sind sie stumm geschaltet? - NetworkGamer.IsMutedByLocalUser
XNA Games on 360 use and are required to use Live
- Absolut falsch. MSDN selbst bestätigt, dass Xbox 360-Spiele System Link (LAN) oder LIVE-Spieleserver für das Multiplayer-Gameplay verwenden können. Sehr uninformierte Antwort. Öffnen Sie den MSDN-Artikel, den Sie verlinkt haben, und gehen Sie zum Abschnitt "XNA Creators Club- und Xbox LIVE-Mitgliedschaftsanforderungen" und lesen Sie den ersten Absatz.