Как сделать многопользовательскую игру
Я уже знал базовое программирование для Android, особенно в игре. теперь я хочу попробовать многопользовательскую игру. но у меня нет фона для многопользовательской игры. поэтому я хочу задать несколько вопросов:
- В чем заключается основная задача многопользовательского программирования?
- Как используется метод связи для многопользовательской игры? должен ли он Bluetooth? или, возможно, клиент-сервер? или, возможно, сверстники? если игра, в которой я хочу сделать требуемый 2 телефона Android рядом друг с другом?
- что я должен знать, чтобы понять этот мультиплеер?
- Есть ли какой-нибудь основной учебник о том, как сделать многопользовательскую игру?
- может ли телефон Android работать как сервер?
Я еще не планирую делать сложную игру. может быть просто многопользовательский tic tac toe, это хорошо для меня. самое главное, что я понимаю основные многопользовательские игры.:)
Ответы
Ответ 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.
Извините за мой бедный английский!