Как стать автором
Обновить

Комментарии 2

Предыдущая часть была на мой взгляд более информативная, хоть мне человеку далёкому от php не совсем понятны некоторые моменты. (Читаю чтобы в целом узнать что-то новое про архитектурные решения).

В данной части мы видим информацию о UDP и TCP протоколах, но информации мало. Можно добавить что довольно часто в играх используют либо оба протокола, чтобы важная информация точно доходила до сервера и обратно, а менее важная, как например передвижение в том же самом CS всегда приходила нам наиболее актуальная. Ведь в чем минус TCP кроме того что он медленный, а в том, что в случае если пакет не получен он его переотправит, но не факт что к этому моменту там будет актуальная информация.

Плюс можно было б упомянуть такую вещь как Reliable UDP.

А теперь небольшой п.с: скачал я ваше демо приложение на андроид. Управление сделано ужасным образом. Мало того что движение воспринимается только в 4 стороны, так ещё и очень часто неправильно определяет сторону, вплоть до противоложной.

Это не проблема конкретно tcp , у вас и udp может так же не дойти (его сервер вообще не переотправит) и информация устареет.

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

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

Я не профессионал в Unity3D и игровые клиенты созданные мной служат для демонстрации работы сервера, например:

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

Так же можно кликать на область и сервер (не сам клиент) рассчитает ближайший путь

Карта мира - портирована из программы Tiled (https://www.mapeditor.org/) в бд mysql и передаётся в клиент игры при входе на локацию (те ее можно динамически менять на сервере без обновления уже скаченных клиентских приложений)

И самое главное - все действия видят все игроки на карте (которых может быть много)

Есть и игры заказчиков, в тч связанные с криптой, где технология прижалась

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории