Zrobiłem grę w języku C # z XNA. I chciałbym, aby było to możliwe do gry online.
Chcę być w stanie prowadzić grę na jednym komputerze i móc łączyć się z tą grą na innych komputerach. Trochę jak serwer odsłuchowy w Half Life.
To może wydawać się dość powszechnym problemem, który powinien zostać rozwiązany milion razy. Ale wyrzuciłem moją dupę i naprawdę nie mogę znaleźć żadnych użytecznych informacji.
Chcę dokładnie wiedzieć, czego potrzebuję, w odniesieniu do sieci, w celu stworzenia gry online z XNA, bez korzystania z microsoft-Live thingy.
- Biblioteka? rzecz używana na szczycie klasy.
- Kod do inicjowania tych rzeczy
- Jak szukać innego komputera grającego w tę grę.
- Jak uzyskać / wysłać dane między komputerami.
- Na którym kliencie są obliczane rzeczy. Jeśli jeden facet wystrzeliłby pocisk, czy ten pocisk powinien być tworzony jako obiekt na obu klientach? A może ktoś ma przedmiot, (sprawdza kolizje itp.), A drugi dostaje pozycje do losowania?
Chciałbym, aby ktoś, kto stworzył taką grę, odpowiedziałby na pytanie, jakie byłoby standardowe podejście.
Odpowiedzi:
2 dla odpowiedzi № 1Wbudowane biblioteki XNA są zorientowane na żywo, więc musisz albo z tym żyć, albo użyć innej biblioteki sieciowej.
Biblioteki .NET UdpClient i Socket są dość proste.
Alternatywnie, spójrz na Biblioteka sieciowa open source Lindgren. Zawiera kilka metod rozszerzania wysyłania typów XNA, takich jak Matrix, Vector3 itp., Które mogą być przydatne, gdy zaczynasz.
0 dla odpowiedzi nr 2
Napisałem odpowiedź na pytanie dotyczące robieniaMMO z użyciem lidgrenu, jak wspomniano powyżej. Jest kilka linków do zasobów, których możesz użyć, aby nauczyć się z niego korzystać. "Użyłem go osobiście, aby mieć małą aplikację testową z 5 użytkownikami biegającymi razem, ale nie podjąłem tego dalej. jeszcze.