Zrzeczenie się; Nie zrobiłem wiele z Javą i platformą Android.
Jednak moje szersze doświadczenie z językami „.net” na platformach Windows Mobile wraz z platformą Windows polega na tym, że utrzymuję dobre 75–90% całego kodu wymaganego do utworzenia i utrzymania połączenia Bluetooth lub połączenia danych sieciowych / obsługiwany przez system operacyjny lub biblioteki, które byłyby potrzebne do uzyskania dostępu do sprzętu.
Jak dotąd wydaje się to prawdą również w przypadku Androida, ponieważ system operacyjny udostępnia metody tworzenia połączeń danych przez Bluetooth lub Internet, a także włącza / wyłącza odpowiedni sprzęt.
Wyobrażam sobie, że Bluetooth byłby preferowaną metodą połączenia, ponieważ byłoby to najtańsze do wdrożenia (bez serwerów). I pozwól na bardziej lokalne spotkanie / grę. Bluetooth jest dość łatwy w użyciu. działa podobnie do zwykłych gniazd sieciowych, gdy wiesz, z którym urządzeniem chcesz się połączyć.
Inne są poprawne, ponieważ Bluetooth v2.0 / v2.1 nie jest obecnie w stanie obsłużyć dużych obciążeń danych. Zmieni się to wraz z ostatecznym rozprzestrzenianiem się wersji 3.0 lub nowszej. i istnieją sposoby na obejście tego ograniczenia.
Na razie jednak istnieje prosta koncepcja, ale złożone rozwiązanie, które możesz wypróbować. Używam go od jakiegoś czasu, jest podobny do peer to peer, ale wymaga jednoczesnej gry na wszystkich urządzeniach. W ten sposób, jeśli połączenie zostanie tymczasowo utracone, spowolnione lub gracz zostanie z jakiegoś powodu upuszczony, nie będzie to miało wpływu na innych graczy. Dzięki temu użytkownicy, którzy zostali upuszczeni, mogą ponownie dołączyć do trwającej gry bez żadnych zakłóceń dla innych graczy lub własnej gry.
CON: Każdy gracz grałby w swoją własną, unikalną instancję gry, która byłaby połączona z innymi graczami, aby powstrzymać gry przed zbytnim zsynchronizowaniem się ze sobą.
CON: Kod pomocniczy może być obszerny / złożony i może być trudny do zrozumienia, w zależności od tego, co chcesz osiągnąć.
PRO: nie wymaga centralnego serwera ani urządzenia! Nie wymaga konserwacji $$$.
PRO: Ciężka wymiana danych miałaby miejsce tylko wtedy, gdy gracz (re) dołączył lub gra została zainicjowana. - Nawet to można zmniejszyć, upewniając się, że wszystkie gry zostaną wygenerowane, i postępuj tak samo przez wszystkich graczy. POTENCJALNIE zmniejszając zużycie energii, które występuje z powodu dużego obciążenia sieci.
PRO: Dane stają się mniej wrażliwe na czas, ponieważ urządzenia miałyby już wszystkie dane potrzebne do utrzymania gry bez innych graczy. Pozwalając Ci skupić się na rzeczywistych doświadczeniach gry dla indywidualnych użytkowników, a nie grupy graczy.
Brakowało mi czasu na wdrożenie pełnego dogłębnego silnika gry, który to wykorzystuje. Gry, które stworzyłem, ograniczały się do odtwarzania gier podobnych do Monopoly i Uno, które wydawały się działać wyjątkowo dobrze.
Najłatwiejszy był ten, który emulował Uno. Zasadniczo ułożyłem talie przegranych po wygraniu przez gracza, aby zapewnić, że gracz wygra wszystkie gry. Ponad 95% czasu nie mogłem powiedzieć, że nie grałem dokładnie w tę samą grę, co wszyscy inni.
Zacząłem budować grę podobną do Master of Orion II, ale sama gra była dla mnie bardzo ważna.