Подтвердить что ты не робот

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

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

  • В чем заключается основная задача многопользовательского программирования?
  • Как используется метод связи для многопользовательской игры? должен ли он Bluetooth? или, возможно, клиент-сервер? или, возможно, сверстники? если игра, в которой я хочу сделать требуемый 2 телефона Android рядом друг с другом?
  • что я должен знать, чтобы понять этот мультиплеер?
  • Есть ли какой-нибудь основной учебник о том, как сделать многопользовательскую игру?
  • может ли телефон Android работать как сервер?

Я еще не планирую делать сложную игру. может быть просто многопользовательский tic tac toe, это хорошо для меня. самое главное, что я понимаю основные многопользовательские игры.:)

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

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

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

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

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

Удачи.

Ответ 3

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

Ответ 4

Вам нужно быстро установить соединение. Имя - это сокеты, websockets, IO... Пожалуйста, не используйте peertopeer, у вас должен быть сервер, когда вы сможете поймать и сохранить информацию о пользователях и игре. Альтернативное многоплатформенное решение для многопользовательских игр - html5. Сегодня вы можете визуализировать 3d на web-приложении и использовать websockets. В первый раз вы можете использовать чат-приложение, потому что чат является основным для любого общения. dataSend → отправить полезные данные о позиции игрока, вращении... ondatareceived → обработка данных для удаленного игрока

www.zlatnaspirala.netfast.org, это первый веб-сайт для человека, очень быстрый, и вы можете легко реализовать веб-сайты для многопользовательской игры. Вы можете использовать phpwebsocket (причудливая версия websocket - найти 100% -ную работу просто запустите в консоли php c:\PATH\server.php)

или используйте один из лучших веб-узлов jwebsocket. Извините за мой бедный английский!