Сообщение от Dstalk
Во всех крупных мморпг на официальных серверах клиенты никогда не считают мобов. Геодата присутствует и позволяет держать на мощном сервере до 7 тысяч игроков без тормозов.
И тем более агр может очень часто менятся, постоянно перекидывать управление с одного игрока на другого - еще тот бред)))
|
Тебе как аргумент пост:
Сообщение от falcon5
На клиенте считаются только плюшки аля регдоллов.
всё остальное считается на серверах (коими являются огромные системы из немалого числа компов, с немалым числом процессоров...)
кто считает иначе - пруфы в студию..
|
Тот же WoW имеет поиск пути, при этом он весьма не тупой, а может и в сложных уровнях отлично находить кратчайшие пути. Ищеться пользователем.
Но тут снова, те же Instanc'ы, или Battleground'ы, они все как отдельные "виртуальные" сектора где игроки взаимодействуют только с друг другом. Но не со всем внешним миром, там же дальность обзора всегда по максимум.
В оправдание что моб считается частично на сервере:
Есть группы например в том же ВоВ, безобидная семейка оленей, которая бегает вокруг Crossroads, она постоянно перемещается, даже если никого нету рядом, бегает по заданному кругу, он он снова меняется, и не всегда один и тот же, таким образом либо там набор вейпоинтов, и просто рандомно рядом с ними устанавливаются вейпоинты, и моб бежит к ним.
Но то что заагренный моб считается пользователем - это вполне логично, если это простой моб, тем более выдать агр пользователю, и сделать удобную систему переключений (переагр), это просто, и серверу это простая посылка двух пакетов тому кто имеет текущий агр, и тому кто новый "считалка".
И да, тот же EVE, там вон какие баталии порой бывают, мир огромный, и мобов считать на сервере - было бы глупо, т.к. порой бывают сложные уровни, где скопление хлама, и идёт просчёт поиска пути, который не будет весьма прост т.к. учитывает просто геометрию препятствий, а не какие-то вейпоинты.
Тем более ведущие компании используют Cloud'ы, для организации серверов, а там ничего не хранят на жёстком диске. А всё храниться в виртуальной памяти (ОЗУ). И разные станции считают свои части, запросы распределяются между ответственными над ними станциями, и затем отправляются клиентами, список который относительно тоже просчитывается отдельной станцией, т.к. чем точнее список, тем он меньше и меньше лагов будет, меньше трафика и т.п.
Вообще структура сервера, читайте книги от всяких гуру на эту тему.
На клиента тоже многое не свалишь. Если это важные структурные просчёты - сервер, если это большие технические (поиск пути, физика и т.п.), клиент. Тут и думать нечего.