Przesyłanie danych przez sieć LAN lub Internet
Istnieją dwa rodzaje gier online dla wielu graczy, gdy tworzysz grę sieciową za pomocą XNA Game Studio:
- Systemowe sesje gier (LAN)
- Sesje NA ŻYWO. (Internet)
Dostępne typy sesji :
- Użyj System Link do gry w sieci lokalnej
- Zaloguj się do Xbox LIVE i Games for Windows - serwerów LIVE
- Użyj LIVE, aby połączyć się z innymi komputerami przez Internet, gdy gra jest w fazie rozwoju
Transfer danych między podłączonymi urządzeniami Xbox i PC odbywa się za pomocą klasy LocalNetworkGamer (obsługiwanej na Xbox 360), a dane zapisuje się za pomocą PacketWriter w następujący sposób:
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);
}
Topologie sieci
W przypadku gry z połączeniem systemowym możesz użyć dowolnej z następujących konfiguracji sprzętowych do przetestowania gry w sieci:
Jeden komputer programistyczny i jeden Xbox 360
(na jednym komputerze programistycznym i jeden na konsoli Xbox 360). Twórca potrzebuje jednego konta Xbox LIVE Silver i jednego członka Creators Club, aby uruchomić kod na konsoli Xbox 360.
Jeden komputer programistyczny i jeden komputer kliencki
(na jednym komputerze działa jedna instancja gry). Twórcy nie mogą jednocześnie uruchamiać dwóch sieciowych gier XNA Framework na tym samym komputerze. Twórcy potrzebują drugiej maszyny do uruchomienia drugiej instancji gry do celów testowych. W tym scenariuszu nie są wymagane członkostwa w Xbox LIVE ani członkostwo w Klubie twórców.
Jeden komputer programistyczny i dwie konsole Xbox 360
(z jedną instancją gry na każdej konsoli Xbox 360). Tutaj twórca wdraża i debuguje grę na dwóch konsolach Xbox 360. Twórca potrzebuje co najmniej dwóch członków Xbox LIVE Silver i dwóch członków Creators Club (jedna para na każdą konsolę Xbox 360) w tym scenariuszu.
Przesyłanie głosu przez sieć
Dane głosowe są automatycznie przesyłane i odtwarzane bez jakiegokolwiek wysiłku tytułowego. Tytuły mogą to wykorzystać do zaimplementowania czatu zespołowego lub głosu zbliżeniowego.
Struktura XNA nie udostępnia bezpośredniego dostępu programu do strumienia danych głosowych.
- Czy mają dostęp głosowy? - NetworkGamer.HasVoice
- Czy obecnie rozmawiają? - NetworkGamer.IsTalking
- Czy są wyciszone? - NetworkGamer.IsMutedByLocalUser
XNA Games on 360 use and are required to use Live
- Zupełnie źle. Sam MSDN potwierdza, że gry na konsolę Xbox 360 mogą korzystać z System Link (czyli LAN) lub serwerów gier LIVE do rozgrywki wieloosobowej. Bardzo niedoinformowana odpowiedź. Otwórz bardzo powiązany artykuł MSDN, przejdź do sekcji „Wymagania członkostwa XNA Creators Club i Xbox LIVE” i przeczytaj pierwszy akapit.