Реализация онлайн-подключения и многопользовательской / PVP для новичка - PullRequest
0 голосов
/ 09 сентября 2018

Фон

Я нубский программист, желающий создать простую пошаговую мобильную игру в качестве побочного проекта. Я в значительной степени ослабил игровую логику, и мне осталось реализовать многопользовательскую онлайн / PVP часть.

Более конкретно, я рассчитываю на внедрение системы, когда игрок нажимает на игру и будет сопоставлен с противником в формате 1 на 1, без каких-либо лобби и т. Д. И т. Д.

Я сейчас пытаюсь разработать свою игру в Android Studio (я новичок), но я также открыт для единства, если это облегчает разработку. (У меня нет опыта в Unity).

Что я хочу знать

Исходя из того, что я понимаю, мне нужно создать и разместить свой собственный сервер для запуска мультиплеера (т.е. сопоставление игрока с оппонентом). Нужен ли мне сервер для запуска самой игры или я могу подключить игрока к противнику и просто записать результат игры на свой сервер / базу данных?

Кроме того, как мне создать и запустить / разместить сервер? Я слышал, что nodeJS - хороший выбор для написания сервера.

Может кто-нибудь указать мне хороший ресурс / учебное пособие для создания и запуска моего собственного сервера и, если возможно, бесплатный (или дешевый) хостинг для моего сервера? Кроме того, является ли Unity лучшим выбором, чем Android-студия для моей игры?

Конечная цель

Я просто хочу опубликовать свою игру в магазине приложений, магазине IOS и т. Д. И т. Д.

1 Ответ

0 голосов
/ 09 сентября 2018

Если у вас нет опыта создания многопользовательских игр, я бы порекомендовал взглянуть на одно из нескольких готовых решений, доступных на рынке ( Unity Multiplayer - один из таких сервисов). По сути, вы можете создать всю свою онлайн-игру без необходимости кодировать сервер.

Кодирование игровых серверов - это больше работы, чем вы думаете. Сначала вам нужно будет создать работающий игровой сервер, затем вам нужно будет рассмотреть хостинг, хранение данных, масштабирование, пинг и т. Д. Недостатком является то, что вы получите меньше настраиваемости и меньше безопасности ( вам нужно будет обрабатывать большую часть клиентской части игры, а это значит, что вы подвержены взлому путем модификации клиента, известного в мире Android как «моды»). Однако, если вы только начинаете, собственный игровой сервер, вероятно, принесет больше вреда, чем пользы.

Вы всегда должны выбирать мультиплатформенный движок для мобильных игр. Вы не хотите дважды написать всю свою игру. Так что да, Unity - хороший выбор, и это стандарт де-факто для мобильных устройств в наши дни. Если вы собираетесь делать игры, изучение Unity - это выгодное вложение.

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

...