Перейти к содержимому
Для публикации в этом разделе необходимо провести 50 боёв.
anonym_zZxkRkj66HUJ

Всё слишком большие волны

В этой теме 77 комментариев

Рекомендуемые комментарии

8 898
[WGFUN]
Участник
14 571 публикация
2 437 боёв

Потому что большие волны будут влиять на геймплей. Влияние на геймплей => синхронизация волн на сервере => проблемы с синхронизацией движения волн между клиентами. Вчера была отличная статья на хабре про синхронизацию данных при авторитарном сервере(таком как у нас) https://habrahabr.ru/post/302394/ - можно почитать, сколько проблем это вызывает. Или статью от Valve - https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking . Приведенные в качестве примера игры - синглплеер, там таких проблем нет и можно творить все что душе угодно.

Давайте я отвечу, может быть снова странно. Как я уже отвечал, выше, помимо значительного усложнения самого геймплея, волны и качка корабля вызовут еще и проблемы в техническом плане. Качку, большие волны, наклоны корабля придется синхронизировать между всеми клиентами. В случае сильных лагов будут прыгать не только корабли взад и вперед(хотя это удалось по большей части победить), но еще и вверх-вниз, будет дергаться все море. Все приведенные примеры, опять же, сингл-плеер, где нет таких проблем с синхронизацией. Не говоря уже, действительно, о игровом балансе.

Не плохая стать.

Кстати, про прыжки. в GTA Online такое частенько можно заметить на ограблении (угон Гидры), когда в лодке сидит 4 человека, а лаги от скачки по волнам просто феерические (включая полеты по воздуху и игру я подлодка).

Рассказать о публикации


Ссылка на публикацию
Участник
1 715 публикаций

Хорошо, вот мультиплеерная игра.

Ну, смогли же, и игра мультиплеерная, и всё это сервер обрабатывает. Или опять я чего-то не понимаю.

Изменено пользователем anonym_WMZipUCQ5ImX
  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
8 898
[WGFUN]
Участник
14 571 публикация
2 437 боёв

Хорошо, вот мультиплеерная игра.

Ну, смогли же, и игра мультиплеерная, и всё это сервер обрабатывает. Или опять я чего-то не понимаю.

Ты видать не видишь основной проблемы - провайдер (скорость соединения, загруженность магистрали/линии, дистанция).

Думаешь в Танках зря есть Московский, Красноярский, Новосибирский.

Конечно тут и сам сервер играет роль, но по сравнению с самим "интернетом" не такую значительную.

 

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

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

 

 

Изменено пользователем Berry_Tiger

Рассказать о публикации


Ссылка на публикацию
Участник, Коллекционер
3 910 публикаций
4 651 бой

Давайте я отвечу, может быть снова странно. Как я уже отвечал, выше, помимо значительного усложнения самого геймплея, волны и качка корабля вызовут еще и проблемы в техническом плане. Качку, большие волны, наклоны корабля придется синхронизировать между всеми клиентами. В случае сильных лагов будут прыгать не только корабли взад и вперед(хотя это удалось по большей части победить), но еще и вверх-вниз, будет дергаться все море. Все приведенные примеры, опять же, сингл-плеер, где нет таких проблем с синхронизацией. Не говоря уже, действительно, о игровом балансе.

Пардон, но... ЗАЧЕМ постоянно синхронизировать легко формализуемый процесс? В чём проблема вывести некоторые процессы за рамки авторитарного сервера? Каждый клиент моделирует волны самостоятельно по неким выданным сервером начальным параметрам, сервер периодически получает данные о том, чего там клиенты намоделировали (чтоб процесс был невзламываемым), и в случае несоответствия данных клиента данным сервера даёт клиенту отлуп. Всё.

 

Схема peer-to-peer синхронизации (когда каждый моделирует у себя одно и то же, и периодически проверяет, совпали ли результаты с другими участниками) спокойно вписывается в модель авторитарного сервера, чисто ради экономии на пересылке информации. С той лишь разницей, что тут не участник проверяет себя относительно других участников, а сервер проверяет участников на предмет соответствия со своей "контрольной моделью".

Изменено пользователем just__dont
  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
800
[TEA]
Участник, Коллекционер
1 289 публикаций
4 370 боёв

Пардон, но... ЗАЧЕМ постоянно синхронизировать легко формализуемый процесс? В чём проблема вывести некоторые процессы за рамки авторитарного сервера? Каждый клиент моделирует волны самостоятельно по неким выданным сервером начальным параметрам, сервер периодически получает данные о том, чего там клиенты намоделировали (чтоб процесс был невзламываемым), и в случае несоответствия данных клиента данным сервера даёт клиенту отлуп. Всё.

 

А теперь добавьте сюда механику попадания снарядов в воду.

Рассказать о публикации


Ссылка на публикацию
Участник, Коллекционер
3 910 публикаций
4 651 бой

А теперь добавьте сюда механику попадания снарядов в воду.

Что-то важное меняется? Клиенту надо будет сообщить свою собственную качку (предположим, она будет на что-то влиять), и качку цели. Сервер проверяет, чтоб данные по качке совпали с его собственной моделью.

 

Чувствуете отличия между "сообщить пару-четвёрку чисел" и "синхронизировать волны по всей карте каждый момент игрового времени"?

Изменено пользователем just__dont

Рассказать о публикации


Ссылка на публикацию
800
[TEA]
Участник, Коллекционер
1 289 публикаций
4 370 боёв

Что-то важное меняется? Клиенту надо будет сообщить свою собственную качку (предположим, она будет на что-то влиять), и качку цели. Сервер проверяет, чтоб данные по качке совпали с его собственной моделью.

 

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

Рассказать о публикации


Ссылка на публикацию
Участник, Коллекционер
3 910 публикаций
4 651 бой

Ну, как минимум, нужно серверу еще знать факт попадания снаряда в воду и под каким углом к поверхности воды это произошло.

Эм. Вообще-то "как минимум" это всё происходит уже сейчас, все параметры стрельбы и подробности пробития обсчитывает сервер. БЕЗ какого-либо участия клиента, клиент лишь сообщает, когда он стреляет, чем, и в какую точку.

Изменено пользователем just__dont

Рассказать о публикации


Ссылка на публикацию
800
[TEA]
Участник, Коллекционер
1 289 публикаций
4 370 боёв

Эм. Вообще-то "как минимум" это всё происходит уже сейчас, все параметры стрельбы и подробности пробития обсчитывает сервер. БЕЗ какого-либо участия клиента, клиент лишь сообщает, когда он стреляет, чем, и в какую точку.

 

и ко всему этому надо будет добавить всю информацию по всевозможным симулируемым волнам близ кораблей и качке кораблей по ним.

Рассказать о публикации


Ссылка на публикацию
Участник, Коллекционер
3 910 публикаций
4 651 бой

и ко всему этому надо будет добавить всю информацию по всевозможным симулируемым волнам близ кораблей и качке кораблей по ним.

Зависит от сложности моделирования волн же. Если просто "нарисовать волны на карте", без учёта влияния островов и кораблей, то это тривиальнейшая математика. Более того, поперечная качка у нас уже учитывается при попадании, корабли наклоняются при манёврах. Осталось учитывать еще и продольную, и всё.

Изменено пользователем just__dont

Рассказать о публикации


Ссылка на публикацию
Участник
3 201 публикация

 

А если сделать декоративные волны, просто чуть побольше? Чтобы море хоть как то волновалось без влияния на геймплей?

Вы рассматривали такой вариант?

В таком случае такая волна будет визуально заливать нос Айовы вместе с башнями(и идти дальше по корпусу) - а игрок при этом спокойно вести огонь, стоя ровно на киле. Что на красоте игры и впечатлении(а ведь именно это идёт как обоснование "сделайте волны круче!") скажется резко отрицательно.

Если делать исключительно визуальные волны с визуальной качкой на них - то станет вопрос "а почему я страляю в корабль на гребне волны - а снаряды пролетают насквозь?"(потому что на самом деле корабль в это время расположен ниже). Что ещё хуже.

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

 

Так что пока быстрого хорошего решения нет.

  • Плюс 6

Рассказать о публикации


Ссылка на публикацию
Участник, Коллекционер
3 910 публикаций
4 651 бой

Так что пока быстрого хорошего решения нет.

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

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

 

Это так и вовсе чисто визуализация.

Изменено пользователем just__dont
  • Плюс 2

Рассказать о публикации


Ссылка на публикацию
Гость
Гость
0 публикаций

Странно, а я думал, что у нас вода устроена так:

RFz-MHtEVOc.jpg

И у каждого клиента она своя и отрисовывается на клиенте.

Рассказать о публикации


Ссылка на публикацию
8 898
[WGFUN]
Участник
14 571 публикация
2 437 боёв

 

А можно узнать как сейчас обстоят дела с "детерминированностью" у студии?

09:37 Добавлено спустя 2 минуты

Странно, а я думал, что у нас вода устроена так:

RFz-MHtEVOc.jpg

И у каждого клиента она своя и отрисовывается на клиенте.

Это верно ,при условии отсутствия влияние воды на объект.

Рассказать о публикации


Ссылка на публикацию
Участник
3 201 публикация

А можно узнать как сейчас обстоят дела с "детерминированностью" у студии?

Не понял вопроса, потому что у слова достаточно много значений. Что именно Вы имеете в виду под "детерменированностью" по отношению к студии?

Рассказать о публикации


Ссылка на публикацию
8 898
[WGFUN]
Участник
14 571 публикация
2 437 боёв

Не понял вопроса, потому что у слова достаточно много значений. Что именно Вы имеете в виду под "детерменированностью" по отношению к студии?

Работы в направлении перекладки ("дублирования") части информации с сервера на клиент, для устранения лагов.

Как-то так.

Рассказать о публикации


Ссылка на публикацию
Участник
1 916 публикаций
16 170 боёв

А вот так устроит?

UPD: Или я неправильно понял? Вас соотношение масштабов смутило? Кажется что корабли сильно велики по отношению постойкам.

Подскажите где етот модик взять.:rolleyes:

Рассказать о публикации


Ссылка на публикацию
143
[DF]
Бета-тестер
324 публикации
3 336 боёв

Не хватает атмосферности,графичности,наворотов,но на BW вы этого никогда не увидите,к сожалению. Стрелялочка-каталочка с упором на иные совсем вещи.

10:25 Добавлено спустя 2 минуты

Подскажите где етот модик взять.:rolleyes:

 

Этот и многие иные моды куда то запропали давно.Полагаю что те кто их поддерживал забили на игру.
  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
758
[22CM]
Старший бета-тестер, Коллекционер
1 660 публикаций

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

Можно такой вопрос?

 

Шторм на море - это же волновая функция (волна - есть функция от времени боя). Так в чём проблема её запустить одновременно на сервере и всех клиентах и забыть про неё? Барашки - не учитывать из-за их незначительности и отсутствия влияния пены на поведение снаряда.

 

Понятно, что читеры постараются эту функцию изменить для улучшения видимости противника, но серверу то пофиг. и он будет обсчитывать правильно, а значит снаряды на уровне ватерлинии (или даже выше) будут влетать не под теми углами или даже недолетать из-за попадания в невидимую читеру волну.

 

Изменено пользователем Bespomoschnyj

Рассказать о публикации


Ссылка на публикацию
Участник
457 публикаций

Подскажите где етот модик взять.:rolleyes:

 

 

Этот и многие иные моды куда то запропали давно.Полагаю что те кто их поддерживал забили на игру.

http://aslain.com/index.php?/topic/2020-0561-aslains-wows-modpack-installer-wpicture-preview-v56101-02062016/ вот здесь модпак.

Рассказать о публикации


Ссылка на публикацию

×