LAN veya İnternet üzerinden veri aktarımı
XNA Game Studio ile ağa bağlı bir oyun oluşturduğunuzda iki tür çevrimiçi çok oyunculu oyun vardır:
- Sistem bağlantısı oyun oturumları (LAN)
- CANLI oturumlar. (İnternet)
Mevcut oturum türleri :
- Yerel Alan Ağı oyunu için Sistem Bağlantısını kullanma
- Xbox LIVE ve Windows için Oyunlar - LIVE Sunucuları'nda oturum açın
- Oyun geliştirilirken İnternet üzerinden diğer makinelere bağlanmak için LIVE'ı kullanın
Bağlı Xbox ve PC birimleri arasındaki veri aktarımı LocalNetworkGamer sınıfı (Xbox 360'ta desteklenir) kullanılarak gerçekleştirilir ve veriler bir PacketWriter kullanılarak aşağıdaki gibi yazılır:
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);
}
Ağ topolojileri
Bir sistem bağlantısı oyunu için, ağa bağlı bir oyunu test etmek için aşağıdaki donanım yapılandırmalarından herhangi birini kullanabilirsiniz :
Bir geliştirme bilgisayarı ve bir Xbox 360
(oyunun bir örneğini geliştirme bilgisayarında, diğeri Xbox 360'ta çalışır). İçerik oluşturucunun Xbox 360'ta kod çalıştırmak için bir Xbox LIVE Silver ve bir Creators Club üyeliğine ihtiyacı vardır.
Bir geliştirme bilgisayarı ve bir istemci bilgisayar
(her bilgisayarda oyunun bir örneğini çalıştırır). İçerik oluşturucular aynı bilgisayarda iki ağa bağlı XNA Framework oyununu aynı anda çalıştıramaz. İçerik oluşturucuların test amacıyla ikinci bir oyun örneği çalıştırmak için ikinci bir makineye ihtiyaçları vardır. Bu senaryo için Xbox LIVE üyeliği veya Creators Club üyeliği gerekmez.
Bir geliştirme bilgisayarı ve iki Xbox 360 konsolu
(her Xbox 360'ta oyunun bir örneğini çalıştırır). Burada bir içerik oluşturucu oyunu iki Xbox 360'ta dağıtır ve hatalarını ayıklar. Bu senaryo için içerik oluşturucunun en az iki Xbox LIVE Silver üyeliğine ve iki Creators Club üyeliğine (her Xbox 360 için bir çift) ihtiyacı vardır.
Ağ üzerinden ses aktarımı
Ses verileri , herhangi bir başlık çabası olmadan otomatik olarak iletilir ve yeniden çalınır. Başlıklar bunu ekip sohbeti veya yakınlık sesi uygulamak için kullanabilir.
XNA Framework, ses veri akışına doğrudan program erişimi göstermez.
- Ses erişimi var mı? - NetworkGamer.HasVoice
- Şu anda konuşuyorlar mı? - NetworkGamer.IsTalking
- Susturuldu mu? - NetworkGamer.IsMutedByLocalUser