Для входа на форум нажмите здесь

Вернуться   GoHa.Ru > Форумы > ММО Игры > The Elder Scrolls Online

Ответ
 
Опции темы
Старый 01.10.2013, 11:44   #76 
Lator_renamed_1038046_24052020 Lator_renamed_1038046_24052020 вне форума
Маньяк
 
Аватар для Lator_renamed_1038046_24052020

Info
Сообщений: 790
Всего лайков: 0
Регистрация: 18.04.2013
Игра: GW2 | TESO
Сервер: RoS | EP-EU
Ник: latorus
Re: Первые впечатления о ПвП

Вы говорите почти об одном и том же, только понять друг друга не можете

А есть какие-нибудь обзоры от организованных гильдий, пытавшихся что-то сделать нормальным рейдом? Что бы отчёт был не в форме "бегал за толпой, бардак, ничего не понятно", а "собрались гильдией, опробовали такие-то действия, то-то работает, то-то не работает"
Например я ни разу не услышал об использовании комбинаций умений, хотя в ГВ это основа слаженных действий.
  Ответить с цитированием
Старый 01.10.2013, 13:21   #77 
Kirixoid_renamed_1055396_19012023 Kirixoid_renamed_1055396_19012023 вне форума
Предводитель
 
Аватар для Kirixoid_renamed_1055396_19012023

Info
Сообщений: 12,875
Всего лайков: 158
Регистрация: 18.06.2013
Игра: ESO
Сервер: EU
Ник: @KiriX
Гилд.: Aetherius Eight
Инфо: Pact, DK
Re: Первые впечатления о ПвП

Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Ты бы ещё ущербную эмуляцию физики сравнил с реальной, ей-богу.
Реализация - одинакова. Но чтобы её реализовать, её для начала нужно СМОДУЛИРОВАТЬ и ПЕРЕДАТЬ. А это прерогатива сервера. Не чьего-то клиента.
В синглах тоже сервер это всё обрабатывает??? КАКОЙ???
Цитата:
Сообщение от 404 Not found Посмотреть сообщение
1. На сервере, как я уже говорил, существуют отдельные модели игроков. Боксы или пузыри - не суть.
2. Сервер детектирует столкновение двух игроков и шлёт эти данные всем игрокам в одной локации.
То, что у тебя пинг 100 или 400 - ему до одного места. Своё дело он сделал.

Пример рассинхронизации клиента с сервером:

Ты бежишь по полю и видишь перед собой дерево. При этом у тебя высокий пинг и, как следствие, лаги. Ты обходишь это дерево и бежишь дальше. Но вот беда - из-за высокого пинга сигнал до сервера пришёл не вовремя, и сервер видит, как ты бодаешь дерево, а клиент продолжает, как ты бежишь дальше.
В один прекрасный момент твоего персонажа резко отдёрнет назад, и ты увидишь, что стоишь/бежишь, упёршись в дерево.

Если бы все расчёты происходили на клиенте, то на кой хрен тогда сдался сервер? В качестве базы данных? Тогда не нужно было бы ставить мощнейшее оборудование, ограничившись несколькими терабайтовыми SSD и небольшим кластером оперативки. А всех игроков объединить мега-локалкой.
1) Нет никаких моделей на сервере. Только цифры. А, ну ещё по памяти - может храниться радиус модельки, типа с какого расстояния удар по ней может считаться попаданием.
2) Сервер ничего не диктует Он может лишь по присланным клиентом данным определить было ли столкновение. ПО ПРИСЛАННЫМ КЛИЕНТОМ ДАННЫМ! Если эти данные присылает клиент, нафига обработку коллизий делать на сервере? Туда посылаются УЖЕ СВЕРШИВШИЕСЯ ДАННЫЕ.

Пример рассинхронизации неверный. Такая реализация как раз и оставляет кучу возможностей с проходом сквозь объекты и вечным портом в точку сервера. Именно поэтому обработка коллизий - на клиенте, а серверу шлются результаты, в случае коллизий - просто положения игроков.

Если бы всё происходило так, как вообразил (нафантазировал) себе ты, то сервер бы загнулся, а управление персом полностью зависело бы от пинга, т.к. клиенту сначала требовалось бы
1) послать команду на выполнение движения
2) дождаться ответа от сервера, что движение возможно и только потом
3) отрисовать и осуществить его.
Если в случае статики (мира, объектов, деревьев) это ещё реально (хотя совершенно не нужно - клиент сам определить куда можно, а куда нельзя), то в условиях непредсказуемого перемещения игроков это попросту нереально! Игра превратиться в пошаговую стратегию

Если бы все расчёты происходили на клиенте, то на кой хрен тогда сдался сервер?
Там помимо коллизий и физики рассчётов дофига и больше. А уж физику и коллизии всегда оставляли на клиенты. Иначе все красоты физики и коллизий были бы давно в примитивнейших игрушках, идущих на калькуляторах - всё равно ведь обработка на сервере

Если и после этого ты так ничего не понял - я умываю руки.

P.S: Я в своё время занимался эмулятором ВоВ, непосредственно кодом. Да, в ВоВ нет физики и коллизий тел. Но вот простой факт - поставишь ты в мире скамеечку какую, бочку, сундук, объект в общем. Перс может на него запрыгнуть и сквозь него не проходит. Будешь удивлён - код сервера за это не отвечает - он отвечает лишь за положение объекта в мире, то, что на него можно запрыгнуть (или нельзя - слишком высоко), на нём можно стоять - определяется клиентом, который, оценив, можно ли встать на эту бочку - просто отсылает серверу координаты персонажа.
  Ответить с цитированием
Старый 01.10.2013, 14:19   #78 
404 Not found_renamed_1074634_30122024 404 Not found_renamed_1074634_30122024 вне форума
Гуру
 
Аватар для 404 Not found_renamed_1074634_30122024

Info
Сообщений: 3,090
Всего лайков: 14
Регистрация: 27.09.2013
Re: Первые впечатления о ПвП

Цитата:
Сообщение от Kirixoid Посмотреть сообщение
В синглах тоже сервер это всё обрабатывает??? КАКОЙ???
Ну да, сравнил, что называется, жопу с пальцем. В синглах не нужно никуда данные отправлять.
Цитата:
Сообщение от Kirixoid Посмотреть сообщение
1) Нет никаких моделей на сервере. Только цифры. А, ну ещё по памяти - может храниться радиус модельки, типа с какого расстояния удар по ней может считаться попаданием.
Радиусы, координаты и вся фигня. Что-то в этом роде.
Цитата:
Сообщение от Kirixoid Посмотреть сообщение
2) Сервер ничего не диктует Он может лишь по присланным клиентом данным определить было ли столкновение. ПО ПРИСЛАННЫМ КЛИЕНТОМ ДАННЫМ!
Диктует, иначе бы он нафиг не всрался, кроме как для хранения неких циферок. Но это не так.
Цитата:
Сообщение от Kirixoid Посмотреть сообщение
Если бы всё происходило так, как вообразил (нафантазировал) себе ты, то сервер бы загнулся, а управление персом полностью зависело бы от пинга, т.к. клиенту сначала требовалось бы
1) послать команду на выполнение движения
2) дождаться ответа от сервера, что движение возможно и только потом
3) отрисовать и осуществить его.
Но ведь так на самом деле и происходит. Ты думаешь, при пинге в 100мс сигнал будет хрен знает сколько пересылаться? Путь туда и обратно займёт 0.2 секунды + микросекунды на обработку сервером (да, это происходит очень быстро).
Ведь поэтому в большинстве ММО ты не сможешь сдвинуться с места, пока сервер не откликнется и не "даст добро".
Но да, некоторые внутриигровые характеристики могут быть заложены в клиенте, чтобы сократить объём пересылаемых от клиента данных. Но на сервере происходит проверка этих данных с учётом некоторых возможных переменных, во избежание хаков. Например, скорость персонажа = 100% + 10% от экипировки и +10% от баффа. Таким образом, предельный показатель равен 120%, и этот предел прописан на сервере. Если сервер получит аномальные показатели, то он их просто отфильтрует, оставив положенные 120%.
Цитата:
Сообщение от Kirixoid Посмотреть сообщение
Если эти данные присылает клиент, нафига обработку коллизий делать на сервере?.
Очевидно, чтобы синхронизацию не распипирупирупи из-за тормозов и лагов клиента.
Цитата:
Сообщение от Kirixoid Посмотреть сообщение
А уж физику и коллизии всегда оставляли на клиенты. Иначе все красоты физики и коллизий были бы давно в примитивнейших игрушках, идущих на калькуляторах - всё равно ведь обработка на сервере
Коллизия-то была практически во всех даже самых древних 3D играх. И в чуть менее древних уже была скриптовая физика. Но если взять ещё древнее, то в те времена ещё не было игр, к которым вообще можно было бы какую-либо физику применить.
Цитата:
Сообщение от Kirixoid Посмотреть сообщение
P.S: Я в своё время занимался эмулятором ВоВ, непосредственно кодом.
Ты удивишься, но до сих пор нет полноценных эмуляторов ВоВ. Точнее, все они - говно.
А ещё, тебя, возможно, удивит тот факт, что ММО на говноэмуляторах ломаются через артмани, а официальные сервера - нет. Как думаешь, почему? А вот как раз потому, что кривые эмуляторы полагаются на расчёты в клиенте, а нормальные сервера осуществляют все процессы непосредственно "в себе". Тут просто не может быть иначе, пойми. Если бы клиен играл главенствующую роль в обработке всех процессов, то кулхацкеры преспокойно игрались с пакетами и пялили сервер под хвостик, присылая ему фэйковые данные о содержимом инвентаря, количестве денег, и прочем-прочем.
Не знаю, даже. как тебе ещё можно это доказать.
  Ответить с цитированием
Старый 01.10.2013, 15:28   #79 
Kirixoid_renamed_1055396_19012023 Kirixoid_renamed_1055396_19012023 вне форума
Предводитель
 
Аватар для Kirixoid_renamed_1055396_19012023

Info
Сообщений: 12,875
Всего лайков: 158
Регистрация: 18.06.2013
Игра: ESO
Сервер: EU
Ник: @KiriX
Гилд.: Aetherius Eight
Инфо: Pact, DK
Re: Первые впечатления о ПвП

Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Ну да, сравнил, что называется, жопу с пальцем. В синглах не нужно никуда данные отправлять.
Ага, всё обрабатывается на самом клиенте. Хочешь ещё шокирую?
Есть мультиплееры. Без серверов как таковых. С физикой и коллизиями... Сервер обрабатывает???
Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Радиусы, координаты и вся фигня. Что-то в этом роде.
Да. Но не коллизия и физика
Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Диктует, иначе бы он нафиг не всрался, кроме как для хранения неких циферок. Но это не так.
Не диктует, а обрабатывает данные с клиента и присылает ответ. Клиент посылает данные - они обрабатываются. Зачем, для чего серверу и вообще (самое главное КАК) он обрабатывает коллизию и физику??? Клиент получает данные и реагирует на них.
Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Но ведь так на самом деле и происходит. Ты думаешь, при пинге в 100мс сигнал будет хрен знает сколько пересылаться? Путь туда и обратно займёт 0.2 секунды + микросекунды на обработку сервером (да, это происходит очень быстро).
Ведь поэтому в большинстве ММО ты не сможешь сдвинуться с места, пока сервер не откликнется и не "даст добро".
Но да, некоторые внутриигровые характеристики могут быть заложены в клиенте, чтобы сократить объём пересылаемых от клиента данных. Но на сервере происходит проверка этих данных с учётом некоторых возможных переменных, во избежание хаков. Например, скорость персонажа = 100% + 10% от экипировки и +10% от баффа. Таким образом, предельный показатель равен 120%, и этот предел прописан на сервере. Если сервер получит аномальные показатели, то он их просто отфильтрует, оставив положенные 120%.
С места при загрузке двинуться не даст - дальше бегай как хочешь, ибо сделать запрос клиента на движение и отрисовку факт движения только после разрешения сервером (а тем более в условиях определения коллизий среди непредсказуемо движущихся других игроков) - бред.
И не путай проверку максимальной скорости не больше ли она определённого порога и расчёт коллизий и физики. Вот уж точно жопу с пальцем сравнивать.
Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Очевидно, чтобы синхронизацию не распипирупирупи из-за тормозов и лагов клиента.
Для этого достаточно синхронизировать только положение персов, оставив отработку столкновений на движок игры, клиента. Это ты уяснить можешь? Можешь пояснить, чем синхронизация положения перса фактически отличается от коллизий?
Нет, коллизии, конечно, можно оставить на сервер... Этож логично - пусть сервер обрабатывает коллизии ото всех подключенных пользователей, чем этим будет заниматься клиент только для своего персонажа, в движке которого это зашито. Оптимизация, чё уш там...
Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Коллизия-то была практически во всех даже самых древних 3D играх. И в чуть менее древних уже была скриптовая физика. Но если взять ещё древнее, то в те времена ещё не было игр, к которым вообще можно было бы какую-либо физику применить.
Это доказывает, что коллизии тел обрабатываются на сервере???
Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Ты удивишься, но до сих пор нет полноценных эмуляторов ВоВ. Точнее, все они - говно.
А ещё, тебя, возможно, удивит тот факт, что ММО на говноэмуляторах ломаются через артмани, а официальные сервера - нет. Как думаешь, почему? А вот как раз потому, что кривые эмуляторы полагаются на расчёты в клиенте, а нормальные сервера осуществляют все процессы непосредственно "в себе". Тут просто не может быть иначе, пойми. Если бы клиен играл главенствующую роль в обработке всех процессов, то кулхацкеры преспокойно игрались с пакетами и пялили сервер под хвостик, присылая ему фэйковые данные о содержимом инвентаря, количестве денег, и прочем-прочем.
Не знаю, даже. как тебе ещё можно это доказать.
Про полноценный никто ничего и не говорит Однако, суть в том, что обработка этих коллизий в вов совершенно справедливо висит на клиенте, а не на сервере.

Что касается подмены пакетов, так подменяют же! И за это сразу бан на официальных серверах. Везде предупреждения на этот счёт. И именно поэтому, коллизии реализованы в движке игры - так их не подменить и с пингом геммора не будет.

Ещё один простой пример. Игра, есть коллизии. Сервер лаганул - ты бежишь дальше на встречу другому персу, серв этого не видит. Ты думаешь, что если нет ответа - вы пробежите друг сквозь друга??? Нифига подобного. Коллизия отрабатывается на стороне клиента, тебе клиент не даст пройти насквозь.

Всё, больше в этой теме не участвую, спорить с человеком, который в этом ничего не понимает - просто бессмысленно...

P.S: Перенести отработку и физики, и коллизий и всего чего угодно - можно. Вопрос, насколько это разумно... Гвозди тоже можно утюгом забивать

Последний раз редактировалось Kirixoid_renamed_1055396_19012023; 01.10.2013 в 15:30. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 01.10.2013, 16:06   #80 
404 Not found_renamed_1074634_30122024 404 Not found_renamed_1074634_30122024 вне форума
Гуру
 
Аватар для 404 Not found_renamed_1074634_30122024

Info
Сообщений: 3,090
Всего лайков: 14
Регистрация: 27.09.2013
Re: Первые впечатления о ПвП

Цитата:
Сообщение от Kirixoid Посмотреть сообщение
Есть мультиплееры. Без серверов как таковых. С физикой и коллизиями...
Имеет место быть локальный сервер, к которому все и подключаются. Но опять же, локалки сами по себе не защищены от читов вообще никак. Только встроенными античит-программами (которые один хрен, обходят).
Цитата:
Сообщение от Kirixoid Посмотреть сообщение
Ещё один простой пример. Игра, есть коллизии. Сервер лаганул - ты бежишь дальше на встречу другому персу, серв этого не видит. Ты думаешь, что если нет ответа - вы пробежите друг сквозь друга??? Нифига подобного. Коллизия отрабатывается на стороне клиента, тебе клиент не даст пройти насквозь.
Ты сейчас почти процитировал мой пример с деревом, который сам же отверг.
Цитата:
Сообщение от Kirixoid Посмотреть сообщение
спорить с человеком, который в этом ничего не понимает - просто бессмысленно...
Взаимно.
Цитата:
Сообщение от Kirixoid Посмотреть сообщение
P.S: Перенести отработку и физики, и коллизий и всего чего угодно - можно. Вопрос, насколько это разумно... Гвозди тоже можно утюгом забивать
Я уже говорил про танки? Так вот, там в нескором времени собираются Хавок прикрутить к клиенту. Но это получится всего лишь клиентская физика, так что если даже все будут видеть отрыв башни у танка, то это будет только визуализация. Чтобы в полной мере реализовать все физические примочки, они будут запиливать собственный серверный физический движок, который будет работать синхронно с клиентским.
Коллизия же должна быть и на сервере и на клиенте, иначе она и яйца выеденного не будет стоить. Будет только на сервере - будет глючить клиент. Будет только на клиенте - будет глючить всё.
О, мудрый айтишник, явись в этот тред, да рассуди неразумных, просвети непросвещённых!
  Ответить с цитированием
Старый 01.10.2013, 16:07   #81 
eskaldar_renamed_573088_07122023 eskaldar_renamed_573088_07122023 вне форума
Маньяк
 
Аватар для eskaldar_renamed_573088_07122023

Info
Сообщений: 995
Всего лайков: 10
Регистрация: 19.07.2007
Игра: MO, Mordhau
Ник: Eskaldar
Гилд.: EK, Skiff
Инфо: Vanguard, Hybrid
Re: Первые впечатления о ПвП

Кириксоид, тут ты не прав. Я просто приведу пример на основе старых чатов, где не требовался сервер. Они загибались, как только сетка выростала свыше 100 человек. Ибо пакеты ходили между клиентскими программами, а не через сервер, что вызывало адскую нагрузку на сеть. Это так же как отход от хабов в сторону свитчей. Вроде по сути делают одну работу, но блин они это делают по разному. Да и представь например себе ММО игру с сервером например в европе. Большая часть работы в этой ММО берет на себя клиент. т.е. по сути если что данные будут пересылаться между самими клиентами, в обход сервака. Тут как уже говорилось, первое - большое раздолье для взлома клиента и читов, чем если бы информация фильтровалась через сервер. Второе - пинг. Ну представь ты находишься на камчатке, второй клиент рядом с сервером в европе, третий клиент в америке, а четвертый тоже на камчатке. Если большенство обсчета будет на клиенте, то бегая с персом с камчатки, ты (так как ты тоже от туда) особых проблем не заметишь. Однако, если тебе встретиться человек из америки, то он скорее всего будет для тебя лагером, как и ты для него. Т.е. для камчатника ты будешь отображаться норм, для европейца с подлагиванием, а америкос будет жутким лагером и ты для него. Там будет очень тяжело понять кто из вас прав, когда вы будете друг друга бить. Ведь попал или нет, будет обсчитывать клиент. Как ты это себе представляешь? А я видел такое. Просто у тебя будет на экране одно, а в действительности может быть всё совсем по другому. То ты его первый ударил, а у него ты до него ещё и не добежал. То наоборот, ты видишь как он портается и не уследив за моментом, где он последний раз был, пропускаешь от него удар. Вообщем общение клиентов между друг другом - бред + нереальная нагрузка на сеть. А как бы это было при сервере? Да всё было бы проще. От тебя до сервера одно расстояние, он американца тоже одно. Сервер конечно сделает небольшую поправку на пинг, но всё равно преимущество будет у того, кто находится рядом и у кого пинг меньше. Но при этом не будет такой ахрененной рассинхронизации, которую ты увидишь, при реализации данного механизма без сервера.
__________________
Vanguard - Chivalry:MW
Скальд, миник, бард имеют SoS -
На инках часто он спасает!
Как будто прихватил понос,
И маг от трейна убегает...
  Ответить с цитированием
Старый 01.10.2013, 16:17   #82 
404 Not found_renamed_1074634_30122024 404 Not found_renamed_1074634_30122024 вне форума
Гуру
 
Аватар для 404 Not found_renamed_1074634_30122024

Info
Сообщений: 3,090
Всего лайков: 14
Регистрация: 27.09.2013
Re: Первые впечатления о ПвП

О, саммон сработал! Спасибо тебе, добрый волш— айтишник, то есть.
  Ответить с цитированием
Старый 01.10.2013, 16:31   #83 
Kirixoid_renamed_1055396_19012023 Kirixoid_renamed_1055396_19012023 вне форума
Предводитель
 
Аватар для Kirixoid_renamed_1055396_19012023

Info
Сообщений: 12,875
Всего лайков: 158
Регистрация: 18.06.2013
Игра: ESO
Сервер: EU
Ник: @KiriX
Гилд.: Aetherius Eight
Инфо: Pact, DK
Re: Первые впечатления о ПвП

Цитата:
Сообщение от eskaldar Посмотреть сообщение
Кириксоид, тут ты не прав. Я просто приведу пример на основе старых чатов, где не требовался сервер. Они загибались, как только сетка выростала свыше 100 человек. Ибо пакеты ходили между клиентскими программами, а не через сервер, что вызывало адскую нагрузку на сеть. Это так же как отход от хабов в сторону свитчей. Вроде по сути делают одну работу, но блин они это делают по разному. Да и представь например себе ММО игру с сервером например в европе. Большая часть работы в этой ММО берет на себя клиент. т.е. по сути если что данные будут пересылаться между самими клиентами, в обход сервака. Тут как уже говорилось, первое - большое раздолье для взлома клиента и читов, чем если бы информация фильтровалась через сервер. Второе - пинг. Ну представь ты находишься на камчатке, второй клиент рядом с сервером в европе, третий клиент в америке, а четвертый тоже на камчатке. Если большенство обсчета будет на клиенте, то бегая с персом с камчатки, ты (так как ты тоже от туда) особых проблем не заметишь. Однако, если тебе встретиться человек из америки, то он скорее всего будет для тебя лагером, как и ты для него. Т.е. для камчатника ты будешь отображаться норм, для европейца с подлагиванием, а америкос будет жутким лагером и ты для него. Там будет очень тяжело понять кто из вас прав, когда вы будете друг друга бить. Ведь попал или нет, будет обсчитывать клиент. Как ты это себе представляешь? А я видел такое. Просто у тебя будет на экране одно, а в действительности может быть всё совсем по другому. То ты его первый ударил, а у него ты до него ещё и не добежал. То наоборот, ты видишь как он портается и не уследив за моментом, где он последний раз был, пропускаешь от него удар. Вообщем общение клиентов между друг другом - бред + нереальная нагрузка на сеть. А как бы это было при сервере? Да всё было бы проще. От тебя до сервера одно расстояние, он американца тоже одно. Сервер конечно сделает небольшую поправку на пинг, но всё равно преимущество будет у того, кто находится рядом и у кого пинг меньше. Но при этом не будет такой ахрененной рассинхронизации, которую ты увидишь, при реализации данного механизма без сервера.

При чём здесь пакеты и их объём??? Всё, что требуется и клиенту и серверу - координаты точки, где находится персонаж.
Ну если тут никто не понимает, распоследний раз:
Что такое коллизии и что именно должен просчитать сервер и переслать клиенту? А если клиент и так знает, что на точку положения другого перса и в опред радиусе от неё он встать не может, что ещё ему должен слать сервер кроме координат точки??? И проблема синхронизации тут СОВЕРШЕННО НЕ ПРИ ЧЁМ. Она есть с коллизиями или без, проблема лишь в том, как клиент отработает столкновение точек, когда с сервера придут координаты. Ограничивать передвижение сервер не будет - это всё на клиенте, в движке.
При чём тут попадания? Попадания как раз на сервере. Но коллизии и прохождение сквозь к этому имеет весьма и весьма косвенное отношение. Во всяком случае в ТЕСО точно так. В других играх действительно могут гланды через анус удалять...
Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Я уже говорил про танки? Так вот, там в нескором времени собираются Хавок прикрутить к клиенту. Но это получится всего лишь клиентская физика, так что если даже все будут видеть отрыв башни у танка, то это будет только визуализация. Чтобы в полной мере реализовать все физические примочки, они будут запиливать собственный серверный физический движок, который будет работать синхронно с клиентским.
Коллизия же должна быть и на сервере и на клиенте, иначе она и яйца выеденного не будет стоить. Будет только на сервере - будет глючить клиент. Будет только на клиенте - будет глючить всё.
Нафига им Хавок, если физика на сервере? Синхронная физика? Внимание, ключевой вопрос: что с чем будет синхронизироваться??? Хавок с сервером???
Не, я конечно, понял о чём ты, вот только а) коллизии немного не то б) физика будет на стороне клиента в первую очередь, а уж он отправит потом серверу инфу о том, куда там приземлился тот или иной обломок, а задача сервера - принять эту инфу и отослать другим, что в точке Х находится какой-то обломок. Но никак не отрисовывать физику, на все клиенты

Про коллизию и там и там. Ещё раз - у нас есть точка положения перса. Клиент знает, что в эту точку и опред радиус от неё встать нельзя - непроходимо. Что нужно обрабатывать и синхронизировать серверу??? Вывод просто - в синхронизации нуждается ТОЛЬКО ЛИШЬ ТОЧКА ПОЛОЖЕНИЯ. Остальное сделает клиент.
Ну или опиши мне, как ты себе представляешь, как сервер будет просчитывать коллизии?
  Ответить с цитированием
Старый 01.10.2013, 17:13   #84 
404 Not found_renamed_1074634_30122024 404 Not found_renamed_1074634_30122024 вне форума
Гуру
 
Аватар для 404 Not found_renamed_1074634_30122024

Info
Сообщений: 3,090
Всего лайков: 14
Регистрация: 27.09.2013
Re: Первые впечатления о ПвП

Цитата:
Сообщение от Kirixoid Посмотреть сообщение
Но никак не отрисовывать физику
Совершенно верно, ибо он (сервер) её просчитывает. А без этого динамические объекты не смогут адекватно реагировать на изменение положения в пространстве. Кстати, ты имеешь представление о такой вещи, как геодата и её функциях?
Геодата - это инструмент, который позволяет проконтролировать некоторые действия клиента (а именно - передвижение и взаимодействие с другими объектами с точки зрения геометрического положения в пространстве). NPC проходящие сквозь стены, игроки стреляющие через препятствия - всего этого можно избежать если использовать геодату. Именно она позволяет серверу проверить может ли обьект пройти от точки А в точку Б; можно ли как-то возамодействовать с обьектом в точке Б, находясь в точке А; может ли вас видеть обьект находящийся в точке Б и многое другое.
Сервер геодаты может быть как встроенным так и внешним, который можно запустить на отдельном компьютере.
  Ответить с цитированием
Старый 01.10.2013, 17:24   #85 
eskaldar_renamed_573088_07122023 eskaldar_renamed_573088_07122023 вне форума
Маньяк
 
Аватар для eskaldar_renamed_573088_07122023

Info
Сообщений: 995
Всего лайков: 10
Регистрация: 19.07.2007
Игра: MO, Mordhau
Ник: Eskaldar
Гилд.: EK, Skiff
Инфо: Vanguard, Hybrid
Re: Первые впечатления о ПвП

Про объем пакетов речи в моем посте не шло. Ты прав что надо обсчитывать координаты игроков вместе с коллизиями. Но получается при обсчёте координат игрока обсчитывается тем самым и коллизия. И если коллизии нет, т.е. персонажи не проходят через друг друга, т.к. они прошли мимо, то сервер всё равно обсчитает, где они были. Так же и если коллизия была, то сервер же показал где будет коллизия клиентам, а не сами клиенты до этого додумались, они же не передавали эти данные между друг другом. Соответственно, то что ты описываешь - работа сервера, а не клиента. Понял? Представь 100 человек на карте и каждый клиент каждому будет посылать координаты где он находится? Вот в этом случае обсчёт коллизий и местоположения идет без сервера, о чем я и говорил, что это анреал и просто будет полный пиндос при большом замесе.
По поводу физики. Будет синхронизация клиентов, для того, что бы у всех показывалось одно и то же. Ибо клиент не знает, что у первого плеера вылетела молния, пока об этом ему не сообщит сервер. Так же как и второй клиент не узнает о том, что молния дошла до третьего плеера, если сервер это не сообщит. Получается, что бы все узнали что молния вылетела в одном месте и попала в другое, нужно всем клиентом об этом сказать. Этим занимается сервер, а не клиент, думаю это понятно? И что бы у всех отображалось это одинаково, то сервер будет это всё синхронизировать со всеми клиентами, дабы не получилось так, что у одного молния уже влетела в плеера, тогда как у другого она еще не вылетела. Плюсом ко всему физика, если она обрабатывается только на клиенте, будет видна только тому клиенту на котором она обрабатывается, как бы масло маслянно это не звучало. Пример МО, где после смерти, тушка трупа вполне себе может быть перемещена игроком. Только вот не задача, если на одном клиенте я тушку пнул в реку, то у другого игрока, тушка так и лежит на месте или он может ей играть в футбол и запнуть скажем на дом. Т.е. у каждого будет свой объект и каждый будет видеть своё.
Надеюсь закончим на этом?
__________________
Vanguard - Chivalry:MW
Скальд, миник, бард имеют SoS -
На инках часто он спасает!
Как будто прихватил понос,
И маг от трейна убегает...
  Ответить с цитированием
Старый 01.10.2013, 19:11   #86 
Kirixoid_renamed_1055396_19012023 Kirixoid_renamed_1055396_19012023 вне форума
Предводитель
 
Аватар для Kirixoid_renamed_1055396_19012023

Info
Сообщений: 12,875
Всего лайков: 158
Регистрация: 18.06.2013
Игра: ESO
Сервер: EU
Ник: @KiriX
Гилд.: Aetherius Eight
Инфо: Pact, DK
Re: Первые впечатления о ПвП

Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Совершенно верно, ибо он (сервер) её просчитывает. А без этого динамические объекты не смогут адекватно реагировать на изменение положения в пространстве.
Просчитывает физику? Т.е. сервер считает как и куда полетит обломок, а потом всем клиентам раздаёт эту инфу??? О, ужас...
Нет, за физику отвечает клиент, а вот сделать так, чтобы обломок отлетел в какой-то место и там и остался и принят был сервером и в дальнейшем был виден другим игрокам - другое дело. И это уже не физика. Связано с ней, но не просчёт физики.
Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Кстати, ты имеешь представление о такой вещи, как геодата и её функциях?
Геодата - это инструмент, который позволяет проконтролировать некоторые действия клиента (а именно - передвижение и взаимодействие с другими объектами с точки зрения геометрического положения в пространстве). NPC проходящие сквозь стены, игроки стреляющие через препятствия - всего этого можно избежать если использовать геодату. Именно она позволяет серверу проверить может ли обьект пройти от точки А в точку Б; можно ли как-то возамодействовать с обьектом в точке Б, находясь в точке А; может ли вас видеть обьект находящийся в точке Б и многое другое.
Сервер геодаты может быть как встроенным так и внешним, который можно запустить на отдельном компьютере.
Геодата - понятное дело. Чтобы НПС не проходили сквозь стены? Тоже понятное дело. У них ведь клиента нет Но неужели ты думаешь, что контроль сервером непрохождения сквозь стены НПС точно также контролирует персонажа???
То, что перс не может пройти сквозь стены - это работа клиента и только. Вон в том же вов есть чит позволяющий проходить сквозь все стены. На оффе он сработает точно также, вот только античит засечёт его и моментом бан словишь. Вот только это ещё раз доказывает, что обработка идёт на стороне клиента, а сервер может лишь отследить не было ли допущено то, чего быть не должно, но не может запретить это.
Стрельба через препятствие, полёт снаряда сквозь них, возможность взаимодействия, видимость. Всё это да - на стороне сервера.
Но коллизии тел персонажей здесь при чём, если для их отработки достаточно иметь функцию в клиенте и посылать ему верные координаты местоположения?
Цитата:
Сообщение от eskaldar Посмотреть сообщение
И если коллизии нет, т.е. персонажи не проходят через друг друга, т.к. они прошли мимо, то сервер всё равно обсчитает, где они были. Так же и если коллизия была, то сервер же показал где будет коллизия клиентам, а не сами клиенты до этого додумались, они же не передавали эти данные между друг другом. Соответственно, то что ты описываешь - работа сервера, а не клиента. Понял? Представь 100 человек на карте и каждый клиент каждому будет посылать координаты где он находится? Вот в этом случае обсчёт коллизий и местоположения идет без сервера, о чем я и говорил, что это анреал и просто будет полный пиндос при большом замесе.

Координаты тел посылает сервер всем - это да. А вот коллизии между этими телами просчитываются клиентом, клиенту для этого нужны лишь координаты.
И ещё, что именно-то должен сервер в этих коллизиях просчитывать-то? Кто мне может объяснить, что он там просчитает и что отправит клиенту???
Цитата:
Сообщение от eskaldar Посмотреть сообщение
По поводу физики. Будет синхронизация клиентов, для того, что бы у всех показывалось одно и то же. Ибо клиент не знает, что у первого плеера вылетела молния, пока об этом ему не сообщит сервер. Так же как и второй клиент не узнает о том, что молния дошла до третьего плеера, если сервер это не сообщит. Получается, что бы все узнали что молния вылетела в одном месте и попала в другое, нужно всем клиентом об этом сказать. Этим занимается сервер, а не клиент, думаю это понятно? И что бы у всех отображалось это одинаково, то сервер будет это всё синхронизировать со всеми клиентами, дабы не получилось так, что у одного молния уже влетела в плеера, тогда как у другого она еще не вылетела.
1) Это не физика.
2) Это ежу понятно, что всё это шлёт и отрабатывает сервер (после того, как тот, кто касатнул молнию, послал свои сведения самому серверу).
Цитата:
Сообщение от eskaldar Посмотреть сообщение
И что бы у всех отображалось это одинаково, то сервер будет это всё синхронизировать со всеми клиентами, дабы не получилось так, что у одного молния уже влетела в плеера, тогда как у другого она еще не вылетела. Плюсом ко всему физика, если она обрабатывается только на клиенте, будет видна только тому клиенту на котором она обрабатывается, как бы масло маслянно это не звучало. Пример МО, где после смерти, тушка трупа вполне себе может быть перемещена игроком. Только вот не задача, если на одном клиенте я тушку пнул в реку, то у другого игрока, тушка так и лежит на месте или он может ей играть в футбол и запнуть скажем на дом. Т.е. у каждого будет свой объект и каждый будет видеть своё.
Надеюсь закончим на этом?
1) Чтобы у всех отображалось как надо - надо просто на клиенты передать откуда и куда вылетела плюха. Отрисуют по этому потом сами.
2) Физика, она и в африке физика. Если клиенту дают инфу, что с севера на юг до объекта Х с силой Y вылетел объект и достиг его - отрисовать. То, где бы клиенты не находились - отрисуется у всех одинаково. Заданные параметры у всех одинаковы, где бы при этом не находились разные игроки.
3) Пример с тушкой из МО - это не пример рисования физики только клиентом. Это проблема НЕ передачи инфы о том, что тело было перемещено и куда оно было перемещено. К физике как таковой отношения не имеет.
Отрисовка физики (куда как и что полетело) - это проблемы исключительно клиента. Последствий действий этой физики (где что осталось) - сервера.

Вот на этом закончим.
Засим, прощаюсь с вами в теме обсуждения коллизий и физики, "обрабатываемых на сервере". Об этой фантастике общайтесь дальше без меня
  Ответить с цитированием
Старый 01.10.2013, 20:51   #87 
Leradis Leradis вне форума
Dark Lizard
 
Аватар для Leradis

Info
Сообщений: 24,098
Всего лайков: 838
20 лет вместе!
Награжден за: 20 лет вместе! GoHa.Ru - 10 лет Зомби мутанта Победитель конкурса
Награжден за: За победу в конкурсе от Panzar и GoHa.Ru
Re: Первые впечатления о ПвП

Мощный теорикрафт.
__________________
  Ответить с цитированием
Старый 01.10.2013, 23:48   #88 
404 Not found_renamed_1074634_30122024 404 Not found_renamed_1074634_30122024 вне форума
Гуру
 
Аватар для 404 Not found_renamed_1074634_30122024

Info
Сообщений: 3,090
Всего лайков: 14
Регистрация: 27.09.2013
Re: Первые впечатления о ПвП

Поздравляю, Киря, ты упорот. Или упёрт... Один хрен.
  Ответить с цитированием
Старый 02.10.2013, 01:06   #89 
Nordgar_renamed_1066131_03052020
Guest

Info
Сообщений: n/a
Re: Первые впечатления о ПвП

Что каждый из вас имеет в виду, когда говорит "просчитать коллизию"?
Мб если вы ответите на это, вам будет проще друг друга понять.

(просто клиент просто не дает двигаться, когда координата перса совпадает с координатой препятствия. А считает их не клиент. Он ничего не считает же)
  Ответить с цитированием
Старый 02.10.2013, 01:53   #90 
404 Not found_renamed_1074634_30122024 404 Not found_renamed_1074634_30122024 вне форума
Гуру
 
Аватар для 404 Not found_renamed_1074634_30122024

Info
Сообщений: 3,090
Всего лайков: 14
Регистрация: 27.09.2013
Re: Первые впечатления о ПвП

Цитата:
Сообщение от Nordgar Посмотреть сообщение
(просто клиент просто не дает двигаться, когда координата перса совпадает с координатой препятствия. А считает их не клиент. Он ничего не считает же)
Думаю, нашего всеведущего оратора это ни коим образом не убедит. Ведь он знает о серверах лучше всех, ибо эмулятор вовача кодил.
Цитата:
Сообщение от Nordgar Посмотреть сообщение
Что каждый из вас имеет в виду, когда говорит "просчитать коллизию"?
Вообще, коллизия - это точка/площадь соприкосновения непроницаемых объектов.
  Ответить с цитированием
Старый 02.10.2013, 02:04   #91 
Nordgar_renamed_1066131_03052020
Guest

Info
Сообщений: n/a
Re: Первые впечатления о ПвП

А с другой стороны, кто координаты считает? Сервер же не знает, куда идет персонаж, например.

Как это происходит? Комп отправляет серверу, что я нажал W, а он считает?
Вряд ли, скорее комп получает координаты, а потом в зависимости от того, сколько я удерживаю, высчитывает координаты и отправляет их серверу уже... Чтоб он отправил их другим клиентам.
Вот тогда получается уже, что сервер ничего не считает. А координаты считает как раз клиент,А не сервер.

п.с. я понятия не имею, как это происходит. Вот у меня две версии.
Я не спорю,я прошу, чтоб меня просветили и сказали, есть ли смысл в том, что я говорю.

п.п.с я вообще длинные посты не читал. Только в начале, на предыдущей странице.


Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Вообще, коллизия - это точка/площадь соприкосновения непроницаемых объектов.
Нда? Ага, то есть надо пересечь два объекта просто. Увидеть, в какой точке они коснутся друг друга. Я думал коллизия - это коллизия, то есть столкновение. Не знал, что так называют точку.

Последний раз редактировалось Nordgar_renamed_1066131_03052020; 02.10.2013 в 03:23.
  Ответить с цитированием
Старый 02.10.2013, 03:00   #92 
404 Not found_renamed_1074634_30122024 404 Not found_renamed_1074634_30122024 вне форума
Гуру
 
Аватар для 404 Not found_renamed_1074634_30122024

Info
Сообщений: 3,090
Всего лайков: 14
Регистрация: 27.09.2013
Re: Первые впечатления о ПвП

Цитата:
Сообщение от Nordgar Посмотреть сообщение
Я думал коллизия - это коллизия, то есть столкновение.
Ну да, это я начудил немного с формулировкой.

Цитата:
Сообщение от Nordgar Посмотреть сообщение
Как это происходит? Комп отправляет серверу, что я нажал W, а он считает?
В принципе, да. Именно поэтому, при дисконнекте твой персонаж продолжит двигаться, пока ты не переподключишься.

Добавлено через 4 минуты
Хотя, так не во всех играх. Некоторые стопорят персонажа сразу, как прервётся поступление пакетов от клиента. Например, как в Айоне. Кстати, на фришках при дисконнекте можно было ещё какое-то время "вхолостую" по карте бегать, но не более.

Последний раз редактировалось 404 Not found_renamed_1074634_30122024; 02.10.2013 в 03:00. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 02.10.2013, 06:41   #93 
Leradis Leradis вне форума
Dark Lizard
 
Аватар для Leradis

Info
Сообщений: 24,098
Всего лайков: 838
20 лет вместе!
Награжден за: 20 лет вместе! GoHa.Ru - 10 лет Зомби мутанта Победитель конкурса
Награжден за: За победу в конкурсе от Panzar и GoHa.Ru
Re: Первые впечатления о ПвП

Цитата:
Сообщение от 404 Not found Посмотреть сообщение
В принципе, да. Именно поэтому, при дисконнекте твой персонаж продолжит двигаться, пока ты не переподключишься.
Именно поэтому во всех современных движках персонажи при дисконнекте бегут на месте, а не продолжают двигаться.
Ты упорот, можешь не продолжать.
__________________
  Ответить с цитированием
Старый 02.10.2013, 08:30   #94 
404 Not found_renamed_1074634_30122024 404 Not found_renamed_1074634_30122024 вне форума
Гуру
 
Аватар для 404 Not found_renamed_1074634_30122024

Info
Сообщений: 3,090
Всего лайков: 14
Регистрация: 27.09.2013
Re: Первые впечатления о ПвП

Цитата:
Сообщение от Leradis Посмотреть сообщение
Ты упорот, можешь не продолжать.
Ты меня, похоже, не так понял. Вот небольшой пример:
1. Ты идёшь/едешь вперёд.
2. Происходит дисконнект.
3. Ты переподключаешь интернеты.
4. Видишь, что твой персонаж уже стоит уже далеко от того места, где произошло отключение.
Такое происходит не во всех ММО, но имеет место быть.
  Ответить с цитированием
Старый 02.10.2013, 11:22   #95 
Nordgar_renamed_1066131_03052020
Guest

Info
Сообщений: n/a
Re: Первые впечатления о ПвП

А у меня еще бывало и что он не доходил до того места реально.
Вот помню на пиратке вов, где была куча дисконнектов.

Там получается, тебя как бы уже выкинуло, но ты еще бежишь.... А заходишь за пару метров до того, где с твоей точки зрения тебя кинул. Или это откаты баз данных?(каких-нить). Или что все это значит? хД Кто считает тогда?)
  Ответить с цитированием
Старый 02.10.2013, 11:54   #96 
Kirixoid_renamed_1055396_19012023 Kirixoid_renamed_1055396_19012023 вне форума
Предводитель
 
Аватар для Kirixoid_renamed_1055396_19012023

Info
Сообщений: 12,875
Всего лайков: 158
Регистрация: 18.06.2013
Игра: ESO
Сервер: EU
Ник: @KiriX
Гилд.: Aetherius Eight
Инфо: Pact, DK
Re: Первые впечатления о ПвП

Offtopic:
Цитата:
Сообщение от Nordgar Посмотреть сообщение
Там получается, тебя как бы уже выкинуло, но ты еще бежишь.... А заходишь за пару метров до того, где с твоей точки зрения тебя кинул. Или это откаты баз данных?(каких-нить). Или что все это значит? хД Кто считает тогда?)
Как я и говорил - сервер не ограничивает клиент. Сервер сначала завис, просчёт координат перестал идти, но клиент связь с ним как таковую не потерял, потому тебя не выкинул. Потом после фриза сервер окончательно лёг - тогда пропала связь и тебя уже реально кикнуло (или время фриза превысило ожидание клиента и он сам отвалился, т.к. слишком долго не было ответа от сервера). Бегал ты потому, что сервер не ограничивает клиента, как я и писал неоднократно ранее, но данные на сервер уже не поступали или не обрабатывались. Естественно, всё просчитывает клиент в это время. Только он не получает обновления с сервера - других игроков ты уже не увидишь, если бы рядом с тобой бежал другой перс, он бы для тебя просто остановился столбом.
Заходишь ты вновь в игру (или фриз у сервака прошёл и он снова стал обрабатывать входящие пакеты), сервер отвечает тебе и шлёт клиенту последние полученные данные (на момент фризза/лага) - твой клиент получает их и синхронизируется с сервером (сервер тут имеет приоритет) => телепорт на точку указанную клиенту сервером.
  Ответить с цитированием
Старый 02.10.2013, 12:07   #97 
Nordgar_renamed_1066131_03052020
Guest

Info
Сообщений: n/a
Re: Первые впечатления о ПвП

Offtopic: короче, кто считает и кто кому передает? =) И в чем их функции.
И вообще я выпиливаюсь отсюда) мы развели оффтоп просто жестоки тут.
Но я не вкидываю, я просто любопытствую.
А вы продолжайте хД
  Ответить с цитированием
Старый 02.10.2013, 12:39   #98 
Lator_renamed_1038046_24052020 Lator_renamed_1038046_24052020 вне форума
Маньяк
 
Аватар для Lator_renamed_1038046_24052020

Info
Сообщений: 790
Всего лайков: 0
Регистрация: 18.04.2013
Игра: GW2 | TESO
Сервер: RoS | EP-EU
Ник: latorus
Re: Первые впечатления о ПвП

Скорее работает как-то так:
1. Пользователь нащимает кнопку W
2. Клиент одновременно начинает отрисовывать бег вперёд, если нет известных ему препятствий и отсылает серверу информацию вида "начал движение в такую-то сторону"
3. Сервер обрабатывает информацию и отвечает клиенту одно из двух: Либо персонаж успешно движется вперёд, либо впереди появилось какое-то препятствие и пойти вперёд не удалось.
4. Клиент получает данные от сервера и корректирует прорисовку в соответствии с ними.

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

Т.е. я считаю, что обсчитывается всё и на клиенте, и на сервере. На клиенте - для прорисовки без задержек, на сервере - для собственно механики.
  Ответить с цитированием
Старый 02.10.2013, 13:49   #99 
Kirixoid_renamed_1055396_19012023 Kirixoid_renamed_1055396_19012023 вне форума
Предводитель
 
Аватар для Kirixoid_renamed_1055396_19012023

Info
Сообщений: 12,875
Всего лайков: 158
Регистрация: 18.06.2013
Игра: ESO
Сервер: EU
Ник: @KiriX
Гилд.: Aetherius Eight
Инфо: Pact, DK
Re: Первые впечатления о ПвП

Offtopic:
Цитата:
Сообщение от Lator Посмотреть сообщение
Скорее работает как-то так:
1. Пользователь нащимает кнопку W
2. Клиент одновременно начинает отрисовывать бег вперёд, если нет известных ему препятствий и отсылает серверу информацию вида "начал движение в такую-то сторону"
3. Сервер обрабатывает информацию и отвечает клиенту одно из двух: Либо персонаж успешно движется вперёд, либо впереди появилось какое-то препятствие и пойти вперёд не удалось.
4. Клиент получает данные от сервера и корректирует прорисовку в соответствии с ними.

5. При хорошем пинге это незаметно, при плохом могут появляться рывки и что-то ещё.
При дисконнекте клиент продолжает отрисовывать бег персонажа, но при реконнекте персонаж возвращается в точку, где его последний раз успел обсчитать сервер.

6. Т.е. я считаю, что обсчитывается всё и на клиенте, и на сервере. На клиенте - для прорисовки без задержек, на сервере - для собственно механики.
1. Так и есть.
2. Тоже верно, но только не начал движение в такую-то сторону, а двигаюсь по таким-то координатам (как покадровая съёмка, когда делается несколько снимков в секунду) - постоянно передаёт координаты перемещения. Определяет доступность этого перемещения, конечно, клиент сам.
3. Почти так. На сервере может существовать проверка "а действительно ли такое движение возможно"? Это НЕ обработка. Это - ПРОВЕРКА. А вот в случае неудачной проверки вариантов может быть несколько...
4. Корректирует прорисовку только в том случае, если клиент по каким-то причинам присылает значение отличные от тех, что есть в клиенте в текущий момент. Если сервер при проверке выясняет, что движение, что прислал клиент невозможно - два варианта: кик игрока с сервера, порт назад, на последнюю правильную точку. Последний вариант может вызвать множество лагов (телепортов) при малейшем фризе сервера, поэтому возможность/невозможность пробежать сквозь предметы обрабатывается клиентом.
5. Т.к. на сервере осуществляется лишь проверка, а клиент шлёт не направление, а точки - даже при плохом пинге рывков почти не будет - клиент сам проверяет корректность движения и шлёт пакеты, на сервер они приходят нормальные, проверка проходит и никого никуда не портует. А вот если бы было как говорят - всё проверялось бы действительно на сервере, рывки и порты были бы даже при довольно невысоком пинге, т.к. клиенту не успел бы прийти "запрет" на движение и он бы продолжил движение сквозь стену, а сервер потом его остановил бы... Именно поэтому обработка возможности перемещения реализована на стороне клиента.
6. Обсчитывается - широкое понятие. Да, обсчёты есть и там, и там, вот только какие именно... Взять тот же самый вов. Сервер не контролирует, может ли игрок пройти сквозь дерево, стену дома или какой-то объект (не запрещает и не разрешает это - просто игнорирует - это должен делать клиент). Но на сервере может быть установлена проверка, которую я описал выше. Это касается движения персонажа! А вот каст заклинания на цель, находящуюся за стеной или деревом - это уже проверяет сервер, хотя могло бы быть реализовано и на стороне клиента...
Для примера работы сервера в вов: у каждого спелла есть радиус действия. Так вот если цель слишком далеко - заклинание не даст скастовать сам клиент! Штатной проверкой в нём самом. Но если он даёт совершить каст - сервер всё-равно проверяет у себя возможность каста (мало ли из-за рассинхронизации клиент видит цель ближе, чем она есть на самом деле). Т.е. элементарные запреты чего-либо реализованы в самом клиенте, а если же клиент всё-таки что-то разрешает, то доступность этого действия сервер проверяет.

Все разговоры выше велись и начались с коллизии именно тел персонажей. Это тот самый пример, где участие какой-то обработки со стороны сервера попросту вовсе не требуется. Можно сделать проверку на сервере, но просчёт и обработку... Нафиг грузить этим сервер, когда сам клиент с этим справится на ура, в худшем случае серверу только проверить. Учтите: проверка и обработка - это совершенно разные вещи и первая по ресурсоёмкости много меньше второй...

Кому что ещё интересно по этой теме - в ЛС. Хватить оффтопить...
  Ответить с цитированием
Старый 04.10.2013, 01:03   #100 
ПодСолнечная_renamed_764356_18012024 ПодСолнечная_renamed_764356_18012024 вне форума
Гигант мысли
 
Аватар для ПодСолнечная_renamed_764356_18012024

Info
Сообщений: 377
Всего лайков: 10
Регистрация: 31.08.2010
Ник: SlowLove
Инфо: Эльфийка
Re: Первые впечатления о ПвП

Цитата:
Сообщение от 404 Not found Посмотреть сообщение
Ты меня, похоже, не так понял. Вот небольшой пример:
1. Ты идёшь/едешь вперёд.
2. Происходит дисконнект.
3. Ты переподключаешь интернеты.
4. Видишь, что твой персонаж уже стоит уже далеко от того места, где произошло отключение.
Такое происходит не во всех ММО, но имеет место быть.
Очень удобный баг)
__________________
Есть только два вида в жизни ошибок: непоправимые чужие и незначительные свои.
  Ответить с цитированием
Ответ

Вернуться   GoHa.Ru > Форумы > ММО Игры > The Elder Scrolls Online
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


© GoHa.Ru 2003-2025