Відмова від відповідальності; Я не робив багато з Java і андроїд платформи.
Однак мій більш великий досвід роботи з мовами ".net" на платформах для мобільних пристроїв Windows, поряд з платформою Windows, полягає в тому, що хороші 75-90% всього коду, необхідного для створення та підтримки з'єднання Bluetooth або мережі, підтримуються / підтримується з ОС або бібліотеками, які потребують доступу до обладнання.
Наразі це також справедливо для Android, з ОС, що відкриває способи створення з'єднань даних через Bluetooth або Інтернет, а також включення / відключення відповідного обладнання.
Я б міг уявити, що Bluetooth є кращим способом з'єднання, оскільки це буде найменш дорого реалізованим (Без серверів). І дозволити більш локальне зібрання / гру. Bluetooth досить простий у використанні. він працює аналогічно звичайним мережевим розеткам, коли ви дізнаєтеся, до якого пристрою потрібно підключитися.
Інші вірні в тому, що Bluetooth v2.0 / v2.1 наразі не здатний підтримувати великі навантаження даних. Це зміниться з можливим поширенням версії 3.0 і вище. і існують способи подолати це обмеження.
На сьогодні, хоча існує просте поняття, але складне рішення, яке ви можете спробувати. Я використовую його деякий час, він схожий на одноранговий, але він передбачає проведення гри одночасно на всіх пристроях. Таким чином, якщо з'єднання тимчасово втрачено, уповільнене або гравець з будь-якої причини відмовиться, інших гравців це не вплине. Це дозволяє користувачам, яким випало, знову приєднатися до поточної гри з невеликим або без перешкод для інших гравців чи власної гри.
КОН: Кожен гравець насправді грав би свій власний дещо унікальний екземпляр гри, який би був пов’язаний з іншими гравцями, щоб ігра не відходила занадто далеко від синхронізації один з одним.
КОН: Підтримка коду може бути обширною / складною і складно обернути голову залежно від того, чого ви хочете досягти.
PRO: Не потрібен центральний сервер чи пристрій! Не потрібно зберігати $$$.
PRO: Інтенсивний обмін даними відбуватиметься лише тоді, коли гравець (повторно) приєднався або гра була ініціалізована. - Навіть це можна зменшити, гарантуючи, що всі ігри будуть генеруватися, і просуватися однаково всіма гравцями. ПОТЕНЦІАЛЬНО зменшує споживання енергії, що виникає через велике використання мережі.
PRO: Дані стають менш чутливими до часу, оскільки пристрої вже матимуть усі необхідні їм дані, щоб тримати гру без інших гравців. Дозволяє вам більше зосередитися на фактичному досвіді гри для окремих користувачів, а не на групі гравців.
Мені не вистачало часу на впровадження повноцінного ігрового двигуна, який використовує це. Ігри, які я створив, були обмежені відтворенням ігор, схожих на Monopoly та Uno, які, здається, функціонують надзвичайно добре.
Найпростішим був той, що наслідував Уно. Я по суті склав колоди програшених після того, як гравець виграв, щоб гарантувати, що гравець виграв усі ігри. 95% + час я не міг сказати, що не граю в таку ж гру, як усі.
Я почав будувати гру, схожу на Master of Orion II, але сама гра була трохи для мене самою.