Мир танков - Part 2

  • Автор теми Автор теми SLAVIK
  • Дата створення Дата створення
Два боя подряд на типе как под копирку :клас:

Победа!
Бой: Эль-Халлуф 22 августа 2012 г. 19:05:29
Танк: Type 59
Получено опыта: 1*860
Получено кредитов: 100*951
Достижения в бою: «Стальная cтена»

Победа!
Бой: Вестфилд 22 августа 2012 г. 19:11:20
Танк: Type 59
Получено опыта: 1*869
Получено кредитов: 110*419
 
Интересно какой у них физический движок... Я в своё время много перепробовал, во всех глюки есть ))) Но для автосима мне хватало выше крыши. Машины довольно прилично ездили и реалистично сталкивались. Без повреждений есессно
 
Только вывел перша в топ - и сразу Мастер (кстати дался легче, чем на т20... по кол-ву опыта)

647a586019d7.jpg
 
У всех работы на тестовом сервере?
 
gtx480 загрузка gpu в игре 20-30% всё упирается в проц, FX в игре уныл, нереально уныл, не важно сколько Ггц 3.4, 4, 4.4 вообще ничего не меняется.
в принципе должна повышаться частота на загруженном ядре автоматически до предела тпд,но если проц разогнан-тпд выбран до упора.Хотя там сдвонные ядра,я думаю оптимизации под бульдозе не будет.У самого 965 фен без разгона+460 хоук при разрешении 1680+1050, все на максе, фпс 50
 
На самом деле элементарно. Надо всего лишь чтобы траеткория обоих танков было одинаковой,а координаты разные.

Хм, ну навскидку. Пусть верхний танк стоит на нижнем, опираясь на него четырьмя катками и нижний стоит на земле, опять же на четырех катках. Если по минимуму, каждый каток - это линейное дифуравнение второго порядка, каждая точка контакта - линейное уравнение третьего порядка. Итого имеем систему из 24 линейных уравнений и 8 дифференциальных уравнений второго порядка. Причем система, как правило, слабообусловленная. И с ограничениями. Если для Вас - это элементарно - то я снимаю шляпу. :D
В принципе, конечно, вся эта шняга уже давно более или менее успешно решена. Как по мне, главный гемор - это, собственно, система которая составляет все эти уравнения. Т.е. вместо того, чтобы считать отдельно физику пообъектно их надо разбивать на взаимодействующие группы и т.д. А, учитывая, что все это должно считаться на серваке, который денежку стоит, то я бы на месте варгеймингов просто не заморачивался бы, а старался бы сделать максимально просто и быстро.
 
Эээээ... Извиняюсь, вы физические движки видели? И понятие о collision detection имеете? И кстати, обрабатывать их надо каждый фрейм. Иначе физика будет писец как зависима от пинга, а это недопустимо. Вылезет куча глюков. Скорее всего физика передвижения будет обрабатываться локально, а столкновения - на сервере. Обычно для того чтобы не тратить процессорное и прочее время сначала обрабатывают расстояние от объекта до объекта, это проще всего. Потом при уменьшении расстояния обрабатывается простейший bounding box, а потом уже непосредственно физическая модель, которая обычно примерно напоминает видимую, но с кучей упрощений. Высчитывается точка пересечения треугольников в пространстве моделей, при её нахождении - дальше уже высчитывается физика. Импульс тела, нахождение точки относительно центра масс и т.д.
 
Останнє редагування:
Эээээ... Извиняюсь, вы физические движки видели? И понятие о collision detection имеете?

И видели и делали. Имеем. Обнаружение коллизий - это стадия которая идет перед всей той прелестью что я описал.
 
Я как-то делал свой, но забил. Слишком муторно и разлагает моск ))) Проще взять что-то относительно готовое и допилить. В танках на самом деле не такая сложная физика, многие бесплатные движки справятся. После некоторых правок есессно. Да, кстати, каток - это цилиндр. Можно даже проще - шар. И обрабатывать его "столкновение" с каким-либо полигоном просто как 5 копеек )))
 
И кстати, обрабатывать их надо каждый фрейм. Иначе физика будет писец как зависима от пинга, а это недопустимо. Вылезет куча глюков. Скорее всего физика передвижения будет обрабатываться локально, а столкновения - на сервере.

Нет, так не выйдет. Рассинхронизация будет дикая. Все будет считаться на сервере.

Да, кстати, каток - это цилиндр. Можно даже проще - шар. И обрабатывать его "столкновение" с каким-либо полигоном просто как 5 копеек )))

Ну если бы он был намертво приварен к корпусу то так бы и было. Расчет коллизии в 1 точке - это система линейных уравнений 3 порядка. Действительно, справится и студент. Но, боюсь, что у подавляющего большинства танков есть такая шутка как подвеска. И, если нужно, чтобы один танк стоял на другом, то потребуется не менее 3 точек.

В танках на самом деле не такая сложная физика, многие бесплатные движки справятся.

Учитывая, что
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
мне кажется, что они могут позволить себе даже самый дорогой из имеющихся физ двигов. :D
 
Физика должна считаться каждый фрейм. По крайней мере движения. У тебя например считается, всем остальным передаются твои координаты и ориентация. И остальных тебе тоже. Сейчас например так и есть. И танк считается движущимся с той же скоростью и в том же направлении пока не прийдут новые данные, поэтому при чьём-то вылете если танк ехал - то он так и едет пока куда-то не врубится. Вот сюда ещё надо подвязать физику движения. А если пинг например 500мс, т.е. полсекунды физика не считается - то на том же т-50-2 можно будет проехать сквозь текстуры на полном ходу ))) Кстати в некоторых автосимах на полной скорости можно пролететь сквозь небольшие столбы именно из-за того что в предыдущем фрейме машина была перед столбом, а в следующем - уже за столбом. А вот если в следующем столб посередине машины - то начинается песдец с глюками

Ну если бы он был намертво приварен к корпусу то так бы и было. Расчет коллизии в 1 точке - это система линейных уравнений 3 порядка. Действительно, справится и студент. Но, боюсь, что у подавляющего большинства танков есть такая шутка как подвеска. И, если нужно, чтобы один танк стоял на другом, то потребуется не менее 3 точек.

До недавнего времени подвески в танках не было, была её имитация. Да и сейчас не уверен что есть... На самом деле кинематика подвески - довольно сложная для описания вещь, я даже используя движок заебался кодить работу подвески автомобиля. Тут же скорее всего какое-то сильное упрощение. И что сложного в 3 точках? Вы же не будете писать столько процедур обработки сколько точек ))) Для каждой точки расчёты однотипны, в цикле, вот комп - да, это на его плечи ляжет нелёгкий труд по расчёту
 
Физика должна считаться каждый фрейм.

Фрейм понятие растяжимое. Особенно когда ничего не рендерится :D. Правильнее сказать, что необходимо ограничение на максимальный шаг времени. На практике же, в большинстве случаев используется фиксированный такт.

У тебя например считается, всем остальным передаются твои координаты и ориентация. И остальных тебе тоже. Сейчас например так и есть.

Сейчас так не есть. Вся физика считалась и будет считаться только на сервере. И никак иначе.

До недавнего времени подвески в танках не было, была её имитация. Да и сейчас не уверен что есть...

:ніні: Параллельная вселенная?

На самом деле кинематика подвески - довольно сложная для описания вещь, я даже используя движок заебался кодить работу подвески автомобиля.

Демпфировання пружина. Дифур 2 порядка. У торсиона, правда, траектория получается не прямая, но все равно поведение на 99% похоже.

И что сложного в 3 точках? Вы же не будете писать столько процедур обработки сколько точек ))) Для каждой точки расчёты однотипны, в цикле, вот комп - да, это на его плечи ляжет нелёгкий труд по расчёту

Сложного то, что рассматривать 3 точки по отдельности нельзя. Только общей системой 9 порядка.
 
Блин, аж снова захотелось чего-нить написать :)))) А то я уже отстал от всего лет на 7... Насколько я помню, я делал в цикле обработку пересечения, если оно происходило - брал положение относительно центра масс и скорость по 3 осям, и в зависимости от этого применял новые векторы скорости по осям плюс вращение. Это например при столкновении с препятствием. Если произошло столкновение во второй точке - то по такой же схеме. Танк же не одновременно 3 точками касается. Но потом задолбался и заюзал движок. Надо бы щас порыть что выпустили из новых опенсорсных графических и физических движков, руки зачесались...

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

У меня была привязка физики ко фреймам насколько я помню. Графики, вернее скоростей перемещения и т.д. - нет. А вот обработка столкновений каждый графический фрейм

Демпфировання пружина. Дифур 2 порядка. У торсиона, правда, траектория получается не прямая, но все равно поведение на 99% похоже.
я говорил не про деталь подвески - аммортизатор, а про кинематику в целом. С учётом многих других параметров
 
Танк же не одновременно 3 точками касается.

Думаете он подпрыгивает поочередно на 3 катках? :D

я говорил не про деталь подвески - аммортизатор, а про кинематику в целом. С учётом многих других параметров

Вот для компьютерной игры кинематики в целом а ля демпфированная пружина вполне достаточно в 99,9% случаев. А какие еще нужны другие параметры?
 
Я пытался делать *******, у меня реально были рычаги и ступица, и колесо наклонялось при работе подвески, можно было задавать развал-схождение, была рулевая трапеция и угол поворота колёс был разным, как оно реально и есть. Но, как говорится, программа имеет свойство многократно усложняться пока не превысит способности программиста ))) В итоге я забил
 
:попкорн:
 
Всё равно мне кажется что всю обработку физики на серверах делать не будут. Всем известные телепорты скорее всего именно из-за этого и были, т.к. с сервака получались только данные о положении и ориентации, и всё, а сам клиент никак не "сглаживал" это не получая данные о скорости и векторе движения. И в зависимости от пинга они приходили с разными интервалами, поэтому то танк был в одном месте, потом раз - и в другом, а сейчас передаётся и скорость и направление движения, и именно клиент поддерживает эти значения и отрисовывает модель и её движение пока не прийдут другие
 
Всем известные телепорты скорее всего именно из-за этого и были, т.к. с сервака получались только данные о положении и ориентации, и всё, а сам клиент никак не "сглаживал" это не получая данные о скорости и векторе движения.

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

и именно клиент поддерживает эти значения и отрисовывает модель и её движение пока не прийдут другие

Проверяется очень легко, разгоняетесь на Т-50-2 и выдергиваете сетевой шнур. Профит. Никто ничего не поддерживает.
 
Назад
Зверху Знизу