Я человек очень далекий от программирования и жизни в целом, и естественно мне может приходить всякий бред по этому поводу. Недавно кое-где прочитал, что ммо могут намеренно и довольно сильно упрощаться, если это неплохо поможет экономить ресурс самого сервера.
Допустим у нас есть ммо-ртс, но не такая как Фаркравт, а что-то вроде В тылу врага - с детальной стрельбой. Там у оружия есть разброс, который еще и растет при долгой стрельбе, у каждой пульки есть свой рандомный урон, своя скорость и траектория. Пулька может попасть например в дерево и дальше уже не лететь и никого не убивать.
Хз как на самом деле, но мне внезапно показалось, что такая стрельба будет жрать много как самого сервера, так и соединения с клиентом. И пришла мне в голову идея, что можно серверу в начале каждой сессии придумывать многозначное число(может 20 знаков, а может 2000) и скидывать его клиентам. В зависимости от этого числа и формул к нему примененных будут просчитываться якобы рандомные вещи. Отдельно на каждом клиенте для лично себя, самостоятельно и одинаково. Сильно ли это сэкономит ресурс сервера и соединения?
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
21
10 лет назад
2
однако, появится возможность передавать серверу всегда, так сказать, правильные данные, что не есть хорошо.
1
24
10 лет назад
Отредактирован prog
1
Так и делается, но только для декоративных элементов, обычно даже синхронизацией не заморачиваются. А логика вся только на сервере иначе подмена данных будет процветать.
P.S. поздравляю, вы изобрели велосипед, который называется seed для генератора псевдослучайных чисел.
2
29
10 лет назад
2
Наркоман, как по-твоему в вк3 в реплеях криты выпадают прямо в те же моменты что в игре?
1
24
10 лет назад
Отредактирован prog
1
А, да, кстати, параллельное выполнение одинаковых вычислений и на сервере и на клиенте или, как в случае с варкрафтом, на нескольких клиентах, делается вовсе не для снижения нагрузки на сервер - это делается в первую очередь для уменьшения нагрузки на сеть. Вот тут то и используется запуск генератора псевдослучайных чисел на одинаковом стартовом значении.
2
20
10 лет назад
2
А я наоборот поздравлю человека с тем, что он догадался до этого приема.
Процедурная растительность, всякий неважный декор - это всё клиент-сайд.
По поводу полёта пули - прог уже сказал. Всегда делается проверка значений, вычисленных на сервере и клиенте, когда речь идёт об игровой логике. Или вообще всё логика становится сугубо сервер-сайдной.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.