Как сделать многопользовательскую игру

Я уже знал основы программирования под Android, особенно тот, что в игре. Теперь я хочу попробовать многопользовательскую игру. но я не имею никакого представления о многопользовательской игре. поэтому я хочу иметь ряд вопросов:

  1. Что является основой многопользовательского программирования?
  2. как метод связи для мультиплеера? должен ли это блютуз? а может клиент-сервер? или может быть равный равному? если игра, которую я хочу сделать, требует 2 андроид телефонной трубки рядом друг с другом?
  3. что я должен знать, чтобы понять этот мультиплеер?
  4. Есть ли основной учебник о том, как сделать многопользовательскую игру?
  5. может ли телефон андроид выступать в роли сервера?

Я пока не планирую делать какие-либо сложные игры. может быть, просто многопользовательские Tic Tac Toe в порядке для меня. самое главное, я понимаю основы программирования многопользовательских игр.:)

3 ответа

Решение

Я бы прочитал эту серию статей:

http://gafferongames.com/networking-for-game-programmers/

В основном это на C/C++, но вы можете перевести его на Java. Узнайте о UDP-сокетах в Java, например:

http://download.oracle.com/javase/tutorial/networking/datagrams/index.html

Этого должно быть достаточно, чтобы вы пошли. Я бы, вероятно, сделал установку клиент-сервер. Вы можете сделать P2P, но это сложнее из того, что я слышал.

Есть несколько способов сделать многопользовательскую игру:

  1. Многопользовательская игра на одном устройстве: создайте многопользовательскую логику для своей игры и предоставьте мультисенсорный контроллер для обоих игроков на одном экране. Это может быть пошаговая или одновременная. Для этой игры у вас нет никакой зависимости, но игроки должны быть рядом друг с другом.

  2. Bluetooth игра: это следующий этап многопользовательских игр. Немного сложнее, но можно сделать. Контроллер должен получать и синхронизировать игру между двумя устройствами, которые находятся рядом друг с другом. Краткий обзор API Bluetooth для Android, и все готово.

  3. Сравнение баллов: это не настоящий многопользовательский режим, но вы можете загружать оценки пользователей и сравнивать их с другими пользователями. Вы можете сделать это самостоятельно со стороны сервера, которая будет хранить все оценки для каждого пользователя, или использовать существующие сервисы, которые позволяют сравнивать оценки, такие как Skiller SDK или Scorelop SDK.

  4. Настоящие многопользовательские игры: это лучшая, на мой взгляд. Каждый может играть со всеми в реальном времени (насколько позволяет латентность:D). Это довольно сложно, если вы хотите сделать все самостоятельно. Здесь вам понадобится сильная серверная часть и много серверной логики. Но опять же вы можете использовать существующие сервисы, которые обрабатывают серверную часть для вас. Я пошел с многопользовательской SDK Skiller. Хорошая поддержка и возможности монетизации.

Какую бы многопользовательскую реализацию вы ни выбрали, сначала отдайте свою игру своим друзьям, чтобы они могли ее просмотреть и рассказать, что можно улучшить. Это поможет вам много!!!

Удачи.

Поиск API для Android вызывающе поможет. Клиентский сервер будет проще всего настроить. Или что-то, что я делаю в игре, которую я делаю, - это чтобы веб-сервер и ваше приложение обращались к веб-серверу за обновлениями и так далее. Это работает очень хорошо с пошаговой игрой, которую я делаю. Может потребовать больше капитала, т.е. Хостинг свой собственный веб-сервер, но так как Android поддерживает SQLlite, вы можете пойти.:)

Другие вопросы по тегам