This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Внешность

Alternant

Участник портала
11 Дек 2023
138
23
76
20
Всем доброго дня!
У меня такой вопрос: смысл накидывать внешку персонажа на стороне клиента?
Какой в этом толк? Смысл накидывать внешку локально условно в магазине, если можно не совершая лишних телодвижений накидывать на сервере и автоматически синхронизировать.
Или же вопрос оптимизации? "Дорого" ли стоит серверу выполнить методы для применения внешности к персонажу?
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,490
239
100
Здравствуйте!

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

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

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

Надеюсь, это ответило на ваш вопрос!
 

JJIGolem

Старожил
High developer
BackEnd developer
19 Окт 2020
239
289
142
Условно в магазине у вас, если игрок перемещается в другой мир, то нет смысла трогать сервер, пока игрок выбирает себе шмотки. Игрок будет много выбирать, и каждый раз отсылать это на сервер, зачем? Игрок купил себе шмотку - сохраняем какую.
 

kirillzver

Гуру
BackEnd developer
2 Ноя 2020
190
118
104
Дополняя сказанное оратором выше, отвечу конкретно на эту тезу..
Как раз таки "не совершая лишних телодвижений" — это тригернуть с браузера клиентский эвент, что накинет одежду, а не лезть ради этого на сервер.
Ну а синхронизация в условном магазине одежды попросту не нужна.
 
Реакции: Inoi и Alternant

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,233
2,083
208
35
он имел ввиду синхронизировать клиент-сервер просто, я думаю)
ну, сохранять какой-то стейт с выбранной внешностью - то как обычно это и делается, только клиент - сохраняет на сервер, а не наоборот

пацаны в целом всё по факту ответили

Вот это чутка абсурдная фраза конечно, правильная логика - она в целом абсолютно обратная:
"Смысл мне в любой возможной ситуации лишний раз дёргать сервер, если не совершая лишних телодвижений это можно делать на клиенте, просто потом один раз в нужном месте их синхронизируя"
 
Реакции: kirillzver

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
717
324
161
30
Все уже всё сказали, просто ещё добавлю некоторый момент касаемый данной темы.
У рейджа есть своя синхра одежды и прочего.
Именно по этому стоит делать действия которые относятся только к данному игроку, исключительно у него на клиенте.
Как пример выше, это магазин одежды.
Представим, что мы делаем все через сервер. И магазин одежды и в автосалоне спавним авто через сервер и т.д и т.п.
Несложно представить что будет твориться при большом онлайне.
Будет происходить лютый рассинхрон.
Нажал на кнопку в магазине одежды, а одежда в лучшем случае сменится через n-сек, а в худшем вообще ничего не произойдет.
А что будет с передвижением персонажей? Правильно "слайд-шоу"!
И все это из за того что количество пакетов, которые будет принимать и отправлять серер, будет в разы больше, чем если бы мы использовали клиент в таких задачах которые не требуют синхронизации между игроками.