RomasAlmighty Обрабатывать траекторию ракет нужно для того, чтобы: 1) убедиться, что ракета в полёте не столкнулась с объектами мира: домами, скалами, деревьями 2) убедиться, что ракета вышла на цель и может попасть по цели 3) убедиться, что цель сманеврировала/повернула корпус чтобы минимизировать количество попавших в неё ракет 4) убедиться, что никто из стреляющих/целей не окажется случайно в другом месте, учесть разницу пинга
_________________ Большой кот. Пушистый. Полосатый. Чёрно-белый.
Member
Статус: Не в сети Регистрация: 23.02.2013 Откуда: г. Орел
saxasha писал(а):
Хавок физический движок, он работает на процессорах, а не на видеокартах.
расчеты 1к частиц легче сделать на "цпу" у которого много ядер - графические процессоры именно такие. не надо путать нарисованные частицы и частицы рассчитанные... я могу нарисовать шерсть животному (методом клонирования волосков) но она не будет двигаться с учетом скелета и мышц и порывов ветра (например) - количество ядер в цпу слишком мало чтоб рассчитать в реал тайме, а так да ядра цпу быстрей и вроде как легко могут справиться с задачей.
Tiger.711 писал(а):
Это тоже надо делать с умом. Ведь опыт физикса нвидии показывает, что так можно вдвое убить fps.
давайте так завтра это 5 fps а послезавтра уже 100... фишка в том что ресурсы графики/центральный процессоров должны расти или ни кто не побежит покупать новые видеокарты и цпу. игры щас очень быстро из класса "крисиз 3" переходят в раздел "квейк 3" и с этим ничего не поделать.
Tiger.711 писал(а):
Они с нуля написали отсутствующий в крайдвигле сетевой код.
ммм ну а вам не кажется что они просто его плохо написали? дальше идет список я так понял чего должен делать сервер? потому что клиенту это не зачем делать. по пунктам: 1. клиент отдает только точку запуска ракеты на сервер. на сервере есть все физические характеристики ракеты ему не зачем получать траекторию от клиента он ее посчитать и сам сможет. на сервере нет графики есть математическая модель объекта - если ракета угодит в нее то сервер отдает "неудача" и точку этой не удачи - клиент строит "графический полет ракеты" на основе точки стара и точки попадания. 2, 3, 3 - координаты цели передаются на сервер (с учетом пинга целы если это игрок) туда же попадают и координаты всех игроков. я не вижу смысла плодить 2 системы обработки координат - от первого клиента координаты попадают на сервер с сервера на второй клиент где считаются и передаются обратно серверу... это полная бредятина - или поясните что вы имели ввиду, а то что то совсем не понял. 4. разницу пинга можно компенсировать, но только в определенных приделах. скажем был пинг 100 в какой то момент скакнул до 1000 то его можно компенсировать - дальше это уже будет не компенсация, а подмена.
_________________ Мертвый киберпанк с улыбкой мутанта... (:
mag_ai Пинг у меня 290-300. Я должен 600мс ждать, пока сервер мне пришлёт координаты траектории ракеты? Всё правильно, траектория посчиталась на клиенте, потом сравнилась с сервером, который тоже просчитал траекторию. У людей с пингом в районе 400 часто бывало так, что траектория ракет на клиенте не совпадает с реальной (серверной) на малых дистанциях (когда ракеты летят меньше секунды). А ещё есть баллистика, которая километр пролетает быстрее секунды и гаусс, снаряд которого делает четыре звуковых скорости. ИХ тоже ждать, пока сервер посчитает? А если вокруг меня лёгкий мех носится, как тогда? Ведь этому меху должно быть реально всадить гаусс в кокпит, и сервер должен корректно это отработать. И пираньи сделали так, что сервер это корректно (в большинстве случаев) отрабатывает даже тогда, когда у двух мехов разный пинг.
_________________ Большой кот. Пушистый. Полосатый. Чёрно-белый.
Member
Статус: Не в сети Регистрация: 23.02.2013 Откуда: г. Орел
Tiger.711 писал(а):
Пинг у меня 290-300. Я должен 600мс ждать, пока сервер мне пришлёт координаты траектории ракеты?
да вы ждете или вам на первом этапе показывают заглушку графическую (скажем прямой старт ракеты в небо). Мили секунды пинга и Кадров в секунду - ничего не смущает? более того приведу пример частый из онлайн игр - персонаж бежит (тут у человека рвется соединение) и он по инерции бежит потом встает без движения у других игроков. при этом на клиенте где был разрыв перс не реагирует на нажатие клавиш. дополнение либо он двигается, но вокруг него ни кто не двигается.
Tiger.711 писал(а):
что траектория ракет на клиенте не совпадает с реальной (серверной) на малых дистанциях (когда ракеты летят меньше секунды)
я ж говорю:
mag_ai писал(а):
а вам не кажется что они просто его плохо написали?
вы это и подтвердили вместо того что положенно отдать серверу берет на себя клиент, но происходят вот такие баги - но зато экономия на серверах их в 4-5 раз меньше нужно профит!
_________________ Мертвый киберпанк с улыбкой мутанта... (:
SRM эффективно применяется на дистанциях до 270м, но обычно эту дистанцию сокращают до 100м, чтобы гарантированно уложить всю пачку ракет в одну секцию корпуса и тем самым разворотить её. От нажатия кнопки мыши до попадания проходит где-то четверть секунды, иначе говоря время, меньшее пинга у почти 40% игроков. Какие графические заглушки тут могут быть?
_________________ Большой кот. Пушистый. Полосатый. Чёрно-белый.
Member
Статус: Не в сети Регистрация: 23.02.2013 Откуда: г. Орел
Tiger.711 я не знаю на что вы жмете там, но в большинстве игр где пользуются мышью - это графическая иконка. сигнал от нажатия этой пентаграммы летит в движок где формируется 2 вещи анимация и пакет данных о произведенных действиях который улетает на сервер. для картинки без лагов точней количество кадров которое воспринимает мозг это 24 и выше. то если если ниже то это "залипания". делаем вывод что нам достаточно сделать анимацию начала действия в 24 кадра и у нас будет в кармане 1 секунда времени. да растянуть ее можно хоть на 120 смысла в этом ноль будет - секунда уже есть. за 0,4 секунды это ваше реакция, а пакет сможет обработаться за 0,8 секунд еще 0,2 остались на всякие залипания сервера. какая графическая заглушка может быть в 1 секунду надеюсь мне не надо рассказывать?
_________________ Мертвый киберпанк с улыбкой мутанта... (:
mag_ai Ясно. Вы - не играли, но судите. Напишу ещё раз - от нажатия на кнопку мыши до попадания по цели проходит меньше секунды. В четыре раза меньше секунды. Если не верите - посмотрите ролики, где катапульта с шестью SRM6 крутится среди нескольких врагов, раздавая альфы направо и налево. На ютубе есть.
_________________ Большой кот. Пушистый. Полосатый. Чёрно-белый.
RomasAlmighty mag_ai Я Вам уже сказал, что нужно рассчитывать. Расскажите мне, как это сделать правильно. Только не надо опять про секундные заглушки. За секунду мех может выжить или быть разобранным на части. А лучше, не мне, а пираньям. Они к хорошим советам прислушиваются.
_________________ Большой кот. Пушистый. Полосатый. Чёрно-белый.
Member
Статус: Не в сети Регистрация: 12.12.2011 Откуда: Самарская обл Фото: 11
Tiger.711Сижу на ростелекоме, пинг с российскими серверами 30-40 мс, с европейскими около 90-110мс, причем это полный пинг в обе стороны. Проблемы с вашими большими пингами это либо провайдер либо линия связи у сервера. В ближнем бою конечно должен быть и предварительный просчет данных на клиенте, но глобальные данные (т.е. то что происходит в далеке и видно у всех игроков) должен обрабатывать именно сервер - это архитектура толстый сервер, она наиболее подходит для игровых серверов.
_________________ Hard work - Hard play! ищу корпус GMC High Five. или аналог с передней панелью НЕ ИЗ ДРУШЛАКА и 5 карлсонами.
RomasAlmighty Проблема с нашими большими пингами это канадский сервер. Из России в Канаду нет прямого роутинга.
RomasAlmighty писал(а):
В ближнем бою конечно должен быть и предварительный просчет данных на клиенте, но глобальные данные (т.е. то что происходит в далеке и видно у всех игроков) должен обрабатывать именно сервер
Вы, похоже, даже не представляете, что такое мехвариор. И, да, и ближний и дальний бой должен считать сервер, чтобы всё было честно. Но в то же время, эти же данные должен успевать посчитать клиент, чтобы игроку хотя бы видеть, что происходит, а не ждать по секунде реакции сервера на такие события как выстрел из баллистики, к примеру. Ещё раз, реалии баттлтека это выстрел в кокпит, в прыжке, на мехе, несущемся на скорости за сотню километров в час. Или выстрел в меха, подлетевшего над зданием с точным попаданием в актуатор ноги, к примеру. Или, опять-таки, в кокпит. Или в последний момент заложить 90-градусный поворот, чтобы выбежать из облака в 60 LRM (ракет дальнего действия) Или, на центурионе, вовремя повернуть корпус, приняв снаряд гаусса на щит левой руки, а не в потерявший броню корпус. Вот для этого всего можно придумать заглушки? Я понимаю, можно подвести мех под прицел, когда на альпийских горках стреляешь на полтора километра из гаусса. Но в мехвариоре дальнобойного оружия, способного стрелять дальше километра ровно две штуки. Остальное - меньше километра, а это средний ближний бой и меньше секунды до попадания в большинстве случаев. (ЛРМ летят две секунды без артемиса, да) Глобального-то пока и нет ничего в МВО. И не скоро будет.
_________________ Большой кот. Пушистый. Полосатый. Чёрно-белый.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения