Комментарии 2
Предыдущая часть была на мой взгляд более информативная, хоть мне человеку далёкому от php не совсем понятны некоторые моменты. (Читаю чтобы в целом узнать что-то новое про архитектурные решения).
В данной части мы видим информацию о UDP и TCP протоколах, но информации мало. Можно добавить что довольно часто в играх используют либо оба протокола, чтобы важная информация точно доходила до сервера и обратно, а менее важная, как например передвижение в том же самом CS всегда приходила нам наиболее актуальная. Ведь в чем минус TCP кроме того что он медленный, а в том, что в случае если пакет не получен он его переотправит, но не факт что к этому моменту там будет актуальная информация.
Плюс можно было б упомянуть такую вещь как Reliable UDP.
А теперь небольшой п.с: скачал я ваше демо приложение на андроид. Управление сделано ужасным образом. Мало того что движение воспринимается только в 4 стороны, так ещё и очень часто неправильно определяет сторону, вплоть до противоложной.
Это не проблема конкретно tcp , у вас и udp может так же не дойти (его сервер вообще не переотправит) и информация устареет.
Из за этого в играх происходит так называемый freez, что следствие высокого ping (в следующих статьях я раскажу как с этим бороться), тк в обычных случаях эта переотправка занимает микросекунды
Я не углубляюсь в подвиды "базовых" протоколов , но упомянул что можно создать свой, в тч и для udp, вопрос какие задачи преследуются (для игр с большим экшоном и где потеря одного двух пакетов не важна - подойдёт он).
Я не профессионал в Unity3D и игровые клиенты созданные мной служат для демонстрации работы сервера, например:
В игре есть алтарь воскресения слева внизу, стоя на нем вы сможете воскресить и заметить как 300 гоблинов под управлением сервера двинутся на вас выбирая кратчайший путь - это демонстрация работы "пулов".
Так же можно кликать на область и сервер (не сам клиент) рассчитает ближайший путь
Карта мира - портирована из программы Tiled (https://www.mapeditor.org/) в бд mysql и передаётся в клиент игры при входе на локацию (те ее можно динамически менять на сервере без обновления уже скаченных клиентских приложений)
И самое главное - все действия видят все игроки на карте (которых может быть много)
Есть и игры заказчиков, в тч связанные с криптой, где технология прижалась
Создание сервера для онлайн ММО игр на PHP ч. 3 — WebSocket