Как сделать танковый ход

Добавил пользователь Владимир З.
Обновлено: 03.10.2024

Чертежи в World of Tanks – это игровые элементы, с помощью которых можно открывать новые машины без необходимости зарабатывать опыт на танке предыдущего уровня.

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

Для танков 1 уровня Чертёж не требуются
2 уровень 4 фрагмента
3 уровень 4 фрагмента
4 уровень 4 фрагмента
5 уровень 6 фрагментов
6 уровень 6 фрагментов
7 уровень 8 фрагментов
8 уровень 8 фрагментов
9 уровень 10 фрагментов
10 уровень 12 фрагментов

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

Где все мои чертежи в World of Tanks

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

Бывает сложно понять, сколько нужно тех или иных частей для создания фрагмента чертежа. Чтобы не высчитывать их количество, поставьте галку на пункте Можно создать фрагмент. Игра покажет ту технику, для которой их хватает.

Как получить фрагменты чертежей

Ежедневные задачи в WOT

Проблема в том, что фрагменты нельзя купить за реальные деньги, голду или кредиты.

Фрагменты и их части предлагаются в качестве награды за ежедневные задачи, задачи игровых событий, которые проходят в праздничные дни в течении года. В ранних версиях игры они выпадали в виде довольствия. Сейчас чертежи – это только наградной элемент.

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

Универсальные и национальные фрагменты

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

II уровень 4 универсальных, 1/6 национальных
III уровень 4 универсальных, 1/6 национальных
IV уровень 4 универсальных, 1/6 национальных
V уровень 6 универсальных, 2/12 национальных
VI уровень 6 универсальных, 2/12 национальных
VII уровень 8 универсальных, 3/18 национальных
VIII уровень 10 универсальных, 3/18 национальных
IX уровень 12 универсальных, 3/18 национальных
X уровень 12 универсальных, 4/24 национальных

Фрагменты чертежей универсальные

В старых версиях WOT можно было использовать только национальный фрагмент для создания чертежа. Например, для польского танка IV уровня нужно было использовать 4 универсальных фрагментов и 1 нации Польша. Поэтому много национальных частей остаётся, тогда как универсальных всегда не хватает.

Wargaming решили дать возможность использовать национальные фрагменты тех веток, которые игрок не открывает. Таким образом, если у вас в аккаунте есть универсальные фрагменты, но нет национальных той машины, которую хотите открыть, можно использовать фрагменты Коалиции, Блока, Союза или Альянса. Приведу пример: для танков Польши могут быть использованы фрагменты США и Великобритании, но со штрафом в количестве.

Как создавать фрагменты

Танки с фрагментами

Игрок может посмотреть в разделе Исследования имеющиеся элементы для всей техники в своём аккаунте. Танки, для которых вы уже получили хотя бы 1 фрагмент выделяются голубой каймой со знаком %.

Количество фрагментов танка в WOT

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

Предыстория

Хочется сказать отдельное спасибо человеку под ником Griever за труды по декомпиляциии игры. Прежде всего благодаря полученным им исходникам стало возможно настолько подробно вникнуть в суть.

Карты уровней

Карты в Battle City состоят из тайлов — блоков размером 8x8 пикселей. Весь фон, видимый на экране, является картой — гипотетически даже со счётчиком жизней можно взаимодействовать, но по факту это, конечно же, не удастся.

Однако, в сериализованном виде уровни хранятся более компактно: для этого тайлы компонуются в блоки размером 2x2 тайла. Всего имеется 16 разновидностей блоков, которые приведены в таблице ниже. Хранится только основная часть карты (13x14 блоков), по которой и ездят танки — нет смысла сохранять статичные стены и вспомогательную информацию. Для записи одного блока используется 4 бита, таким образом, вся карта занимает 91 байт.

Блок Код Блок Код Блок Код Блок Код

0
1
2
3

4
5
6
7

8
9
A
B

C
D
E
F

В отличии от блоков, разновидностей самих тайлов гораздо больше, а именно — 256, т.е. ровно столько, сколько вмещает одна страница знакогенератора — участок видеопамяти, где каждому тайлу соответствует индекс от 0 до 255. Тайлы используются как для создания окружения уровня, так и для отображения информации о количестве вражеских танков, жизней и т.п. Но непосредственно в элементах уровня их используется всего 22 — из них 6 для формирования перечисленных блоков, остальные 15 — дополнительные тайлы кирпичных блоков, о них стоит рассказать подробнее.


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

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

Генерация случайных чисел

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

В итоге на конечное значение числа влияет множество факторов: нажатые игроком кнопки, координаты всех танков и пуль на экране, количество очков обоих игроков, состояние множества таймеров (таких как бонусные) и даже состояние звуковых каналов! Конечно, это далеко не полный список.

Само выражение, по которому высчитывается очередное случайное число, довольно простое. Не буду вдаваться в подробности, просто покажу, как это выглядело бы на языке C:


Как видно из кода, мы можем в любой момент получить псевдослучайное значение в диапазоне от 0 до 255. При том его распределение достаточно адекватно, в чём можно убедиться по нетленному геймплею.

Бонусы


Кстати, в пиратских версиях с пистолетом присутствует ещё один бонус — корабль, который позволяет передвигаться по воде. Также в некоторых модификациях бонусы могут брать и противники, что в корне меняет баланс игры. Существовали даже целые сборники подобного рода модификаций, где версии различались разными подобными мелочами.

Судя по всему, изначально планировалось включить в игру восемь бонусов, но в итоге их осталось шесть. Однако, при появлении бонуса берётся случайное значение по модулю 8 (от 0 до 7), которое является индексом в таблице бонусов, где место не включенных в игру бонусов повторно заняли звезда и граната. В итоге вероятность их выпадения равна 1/4, в то время как вероятность выпадения остальных бонусов равна 1/8.

Бонусы часы и каска действуют 10 секунд (при респауне игрока каска действует 3 секунды, включая время на респаун), бонус лопата — 20 секунд.

Сами носители бонусов — мигающие танки — появляются, если у врага в ангарах остаётся 17, 10 или 3 танка. Т.е. танки под номерами 4, 11 и 18 — бонусные.

Стоит упомянуть, что секунда по меркам игры длится немного дольше обычной: у NTSC-версии консоли частота обновления экрана составляет 60 кадров в секунду, и самым простым способом вести счёт секунд является в каждом кадре увеличивать номер секунды, если счётчик кадров по модулю 60 равен нулю. Но для упрощения вычислений, а также, чтобы обнуление счётчика кадров в результате переполнения не влияло на подсчёт таким способом, это число округлили до 64 (0x40) — для взятия числа по этому модулю достаточно произвести логическое умножение на 0x3F. Получается, что игровая секунда составляет 1.06 реальной секунды, но это не касается временных отрезков, которые измеряются количеством кадров.

Интеллект противников

Конечно, AI в танчиках не представляет собой тактический анализатор, но кое-какая логика всё же высчитывается.

Начнём с того, что игра имеет динамическую сложность. В качестве показателя сложности используется значение задержки между респаунами врагов, которое зависит от уровня и количества игроков — чем больше эти значения, тем быстрее будет происходить респаун. Время респауна в кадрах для заданного уровня (нумерация с нуля) и количества игроков можно вычислить по следующей формуле: 190 - level * 4 - (player_count - 1) * 20 . Чтобы получить время в секундах, надо просто умножить результат на 60.

Существует три периода поведения танков: сначала они движутся хаотично, затем они преследуют игроков, и, в конце концов, начинают атаковать штаб. Длительность первых двух периодов одинакова и равна восьми периодам респауна. Т.е., поделив время респауна на 8, мы получим длительность в секундах (или, умножив на 8, получим то же самое время в кадрах) — например, для первого уровня и одного игрока это будет 23 секунды. Третий же период будет длиться до тех пор, пока счётчик секунд не обнулится (достигнув 256), и цикл периодов не начнётся заново.

Вся эта вражеская тактика основана на системе команд, для чего выделено 8 байтов: два под танки игроков и шесть под вражеские танки. Четыре старших бита такого байта используются под команду, оставшиеся четыре младших — под её аргументы (как правило это направление движения). В итоге получается 16 команд, под каждую из которых существует обработчик. Обработчики вызываются раз в кадр для каждого танка после обработки движения.

  • 0 — NOP (танк отсутствует)
  • 1..7 — обработать взрыв танка (по команде на кадр анимации)
  • 8 — обработать статус (скольжение по льду и т.п.)
  • 9 — изменить направление
  • A — проверить на пересечение границы тайла
  • B — двигаться к штабу
  • C — двигаться к танку второго игрока
  • D — двигаться к танку первого игрока
  • E..F — команды управления респауном

Существует функция смены направления, которая при вызове в первом периоде поведения меняет направление танка случайным образом, во втором периоде даёт танкам с чётными номерами команду двигаться к первому игроку, с нечётными — ко второму, а в третьем даёт команду двигаться в сторону штаба.

При пересечении вражеским танком границы тайла (когда обе коодринаты становятся кратны восьми), существует вероятность 1/16, что для танка будет вызвана эта функция. Если же координаты танка не были кратны восьми, либо же не была вызвана функция смены направления, и при всём этом танк упирается в препятствие, то с вероятностью 1/4 произойдёт следующее: танк сменит направление на противоположное, если хотя бы одна из координат не кратна восьми, в ином случае танку будет дана команда смены направления.

При выполнении команды смены направления происходит несколько другое: с вероятностью 1/2 вызывается описанная выше функция, иначе с равными вероятностями циклически берётся либо предыдущее, либо следующее направление из списка: вверх, влево, вниз, вправо (т.е. танк поворачивается либо по часовой, либо против часовой стрелки).

Можно представить всю эту логику в виде такого псевдокода:


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

Не менее интересно обстоят дела с вражескими выстрелами. Сами по себе они происходят абсолютно обособленно от танков — у каждого врага есть одна пуля, а выстрел в каждом кадре сам решает, запустить эту пулю или нет. Если пуля уже в полёте, то выстрела не происходит, иначе существует вероятность 1/32, что танк выстрелит. В таком случае, пуля оказывается на передней границе танка по её центру и наследует направление своего танка.

Стоит сказать пару слов и о поведении танков игроков в режиме демонстрации. Тут всё просто: если на экране есть бонусы, танки стремятся к ним (при этом могут застрять по пути, если пуля пролетает мимо препятствия, в которое они упираются). Иначе они просто преследуют первый доступный танк, а если таковых не осталось — стоят на месте. Снаряды выпускаются по тем же правилам, что и у вражеских танков. Огонь по своим в демо-режиме не даёт эффекта.

Обработка коллизий


При попадании снаряда одного игрока по другому, второй теряет управление движением на 192 кадра, т.е. на три игровых секунды. Но в режиме демонстрации этого не происходит.

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

Ещё одна интересная вещь: медленные пули (подробнее о скорости чуть ниже) обрабатываются не каждый кадр, а через кадр. Теоретически может возникнуть ситуация, когда игра будет тормозить в каждом нечётном кадре, и процессор не будет успевать дойти до обработки коллизий такой пули, откладывая её. А ведь в следующем кадре он и вовсе не должен будет её обрабатывать! Из-за подобного стечения обстоятельств медленные пули в некоторых чрезвычайных случаях могут пролетать стенки насквозь, когда игра сильно притормаживает.

Движение

Скорость в игре обуславливается количеством пропускаемых кадров при изменении координат. Так, например, у игрока координата меняется каждые три кадра из четырёх, у самого быстрого врага в игре — каждый кадр.

То же самое касается и снарядов — их существует два типа: быстрые, летящие со скоростью 4 пикселя в кадр, и медленные, имеющие скорость 2 пикселя в кадр.

Танк Скорость, px/frame Тип снаряда Танк Скорость, px/frame Тип снаряда

3/4 Медленный
2/4 Медленный

3/4 Быстрый
4/4 Медленный

3/4 Быстрый
2/4 Быстрый
3/4 Быстрый
2/4 Медленный

Поскольку при движении необходимо обрабатывать и коллизии, то уместно было бы оптимизировать рассчёты, как можно более равномерно распределив их по кадрам. При самом простом подходе достаточно было бы в чётных кадрах обрабатывать перемещение всех врагов, а в нечётных только передвижение шустрого БТР. Но тогда нечётные кадры могли бы быть перегружены, и игра бы просто лагала.

И немного информации о скольжении на льду. Тут всё просто: после того, как игрок отпустит кнопку направления на льду, танк будет ехать сам ещё 28 кадров (т.е. проедет 21 пиксель) или пока не выедет со льда. В этот период состояние его гусениченого трака не меняется и звук езды не проигрывается, а если нажать кнопку направления уже на льду — будет проигран характерный звук, если таймер скольжения в этот момент равен нулю.

Пасхальные яйца

Пасхальные яйца встречаются во многих играх того времени, не обошли стороной они и Battle City.

Кроме того, в игре можно встретить неиспользуемые данные — имена разработчиков (RYOUITI OOKUBO, TAKEFUMI HYOUDOU, JUNKO OZAWA) и иероглифы, означающие имя главного героя лавстори и название улицы (возможно, на которой жил он сам или его возлюбленная).


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

Эпилог

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

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

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

Поэтому отвлечемся от реек и насосов и поговорим о системах управления движениями танков.

История танковых систем управления

Первым танком, который использовали в боевых действиях, стал британский тяжелый танк Mark I. Это произошло 15 сентября 1916 года во время битвы на реке Сомма. В первой в истории танковой операции участвовало 144 танкиста на 18 танках Mark I.

Первый в мире танк - английский Mark I

Первый британский тяжелый танк Mark I

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

Так как же выглядит рулевое управление танков? Сейчас узнаете.

Сразу уточним, что и в старых, и в современных танках нет рулевого управления в обычном понимании этой фразы. Нет рулевой рейки или редуктора, нет электроусилителей или гидроусилителей руля.

Начнем с рулевого управления первых танков, таких как Mark I. Чтобы управлять первым британским танком, нужна была слаженная работа половины команды (т.е. 4-х из восьми членов экипажа):

  • водитель танка переключал центральную механическую 2-х ступенчатую коробку передач и координировал работу остальных членов команды;
  • командир танка управлял бортовыми тормозами;
  • два помощника водителя отвечали за работу бортовых коробок передач.

Бортовые коробки передач и тормоза соединяли с ведущими задними колесами. Когда танк двигался прямо, оба колеса крутились с одинаковой скоростью за счет работы центральной коробки передач.

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

Когда танк заканчивал поворот в нужную сторону, помощники водителя переключали коробки на одинаковые скорости и выравнивали боевую машину. Бортовые тормоза использовали, чтобы уменьшить угол разворота и быстрее повернуть танк в нужную сторону. У первых танков не было заднего хода, поэтому чтобы поехать в обратном направлении, танк разворачивали на 180 градусов.

Прорывом стало рулевое управление танка Mark V, ведь управлять танком мог один человек. Mark V стал первым танком, в котором избавились от бортовых коробок передач, заменив их бортовыми фрикционами, и оборудовали полноценное рабочее место для водителя.

Трофейный английский танк Mark V на постаменте в Луганске

Трофейный британский Mark V на постаменте в Луганске

Теперь, чтобы повернуть танк в нужную сторону, водитель просто дергал за рулевые рычаги, которых было два – правый и левый. Рычаги отвечали за работу, соответственно, правой и левой гусениц. Нужно повернуть вправо? Водитель тянул правый рычаг на себя, правый фрикцион замедлял скорость движения правой гусеницы, и танк поворачивает вправо. К слову, на Mark V уже стояла не 2-х, а 4-х ступенчатая механическая коробка передач и теперь водитель мог лучше корректировать угол поворота на разных скоростях.

После первых удачных полевых испытаний рычажную систему управления начали использовать и в других танках. Британцы, французы, русские, немцы, итальянцы, шведы, американцы, японцы и китайцы устанавливали рычажную систему или ее модификации в свои танки. Конструкция системы настолько простая и неприхотливая, что советские танкостроители использовали рычаги для управления танками вплоть до 1980-х годов. Китайские и японские танки также долгое время оснащали только рычажными системами управления.

В то же время инженеры других стран постоянно работали над новыми системы управления боевыми машинами. Снова отличились британцы, которые в 1919 году провели первые полевые испытания танков с рулем, а не рычагами. Первыми танками с рулевым, а не рычажным управление, стали машины Vickers A4E11 и A4E12. Кстати, оба танка были плавающими.

В 1933 году уже советские ученые заменили рычаги на руль. Первым советским танком с рулем стал плавучий Т-37А. Однако, такая система управления была дороже и сложнее привычной рычажной. Поэтому в СССР от рулей в танках быстро отказались.

А вот союзники, а затем главные соперники СССР во Второй мировой войне оказались гораздо дальновиднее. Еще в 1930-тые годы немцы начали массовую модернизацию танков и других боевых машин. В результате немецкие танки стали первыми не плавающими танками, которыми управляли с помощью штурвалов, похожих на обычный руль. А самым популярным немецким танком с такой рулевым управлением стал Panzerkampfwagen VI Ausf. H1 или проще говоря "Тигр".

Немецкий

Отреставрированный немецкий "Тигр"

Органами управления "Тигром" были руль, педали газа, сцепления и тормоза, два рычага основного и вспомогательного стояночного тормоза, рычаг коробки передач. По бокам от сиденья устанавливали аварийные рычаги управления, которые использовали, когда основная система управления выходила из строя. По сути, чтобы научиться управлять танком, достаточно было уметь управлять автомобилем.

Теперь водителю танка, чтобы повернуть машину вправо или влево, нужно было просто повернуть руль в нужном направлении. Как и прежде угол поворота зависел от скорости движения танка. "Тигры" оборудовали 12-ти ступенчатыми коробками передач – 8 передач для движения вперед и еще 4 передачи для заднего хода. И хотя немецкие "полосатые" были очень тяжелыми, опытный механик-водитель мог развернуть танк на 360 градусов практически на месте. И все благодаря задним передачам. Во время разворота одна из гусениц двигалась вперед, а вторая – назад, чтобы обеспечить разворот на месте. Во время поворотов в движении одна из гусениц просто двигалась быстрее другой.

Немецкие тяжелые танки, которые строили после "Тигра", оснащали рулями. А во время Второй мировой войны немцы переоборудовали большое количество средних и легких танков, самоходных противотанковых и артиллерийских установок, и заменили старые рычажные системы управления на более совершенные рулевые системы.

Как вы думаете, кто еще догадался массово заменить старые рычаги в танках на руль? Нет, не британцы. Этими умниками стали американцы, хотя они пришли к такому решению намного позже немцев. Самым массовым американским танком со штурвалом был М4 "Шерман". Танки "Шерман" участвовали во Второй мировой войне и были намного подвижнее и маневреннее немецких тяжеловесов.

Американский танк Sherman M4A4 во французском музее

Американский Sherman M4A4 в одном из французских исторических музеев

Рабочее место водителя "Шермана" было оборудовано штурвалом, двумя рычагами тормозов (для правой и левой гусениц), педалью сцепления, рычагом 5-ти ступенчатой коробки передач, ручным стояночным тормозом, а также ножным и ручным акселератором. Рычаги тормозов были оборудованы сервотроником, которые выполняли роль усилителей. У МКПП было 4 скорости для движения вперед и одна задняя передача.

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

Современные системы управления танками

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

Яркий пример современной боевой машины со штурвалом – украинский танк БМ "Оплот", который входит в десятку лучших танков мира. Экипаж танка состоит из 3-х человек – командира, механика-водителя и наводчика. Место водителя танка "Оплот" оборудовано штурвалом, педалями газа и тормоза, рычагами 12-ти ступенчатой автоматической КПП и стояночного тормоза.

Bспытания украинского танка

Полевые испытания украинского танка БМ "Оплот"

Французский AMX-56 Leclerc – еще один представитель танковой индустрии с отлично сбалансированной системой управления. К слову, французский танк считается одним из самых маневренных в мире.

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

Начиная с 2013 года российские инженеры работают над новой системой управления для танка Т-90МС, которая позволит заменить штурвалы технологичными и высокоточными джойстиками. Такая модернизация позволит сократить количество экипажа до 2-х человек – командира, который также будет выполнять роль водителя, и наводчика. При этом в танке прозапас оставят оборудованное место водителя со штурвалом. Таким образом, если джойстик выйдет из строя, командир может пересесть на старое место водителя и продолжить управлять танком.

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

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

Физика в играх сейчас и десять лет назад — это небо и земля. В 2020 году никого уже особо не удивишь реализмом и проработкой деталей физического аспекта виртуального мира, но раньше всё было совсем иначе.

К десятилетию игры разработчик World of Tanks Игорь Галай рассказал, какой путь проделала физика в многопользовательском симуляторе от первых версий до современного состояния.

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

Самая первая версия физики движения танка, которую мы сделали, не использовала готовый физический движок. Это была очень простая модель, написанная на Python. Танк мог перемещаться только по поверхности ландшафта и имел лишь три степени свободы: два ортогональных вектора движения вдоль ландшафта и поворот вокруг оси перпендикулярной ландшафту. То есть, по сути, это была двухмерная симуляция — в трёхмерном пространстве у тела есть шесть степеней свободы.

На скриншоте из геймплейного видео про обновление 0.8.0 отлично видно, что изменилось больше всего — танки наконец оторвались от земли

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

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

Например, танк может быть задан двумя выпуклыми многогранниками: корпус и башня – этого в принципе достаточно для игровой симуляции. Физический движок, который отвечает за взаимодействия тел в игре, берёт эти данные у всех тел на игровой сцене и с определённой частотой делает перерасчёт, продвигая всю сцену в будущее. Каждый шаг соответствует очень маленькому промежутку времени. На каждом новом шаге движок находит все пересечения объектов, и прикладывает к телам такие силы реакций, чтобы тела двигались физически корректно.

Коллизии были одной из главных проблемой первой модели физики в World of Tanks — они были нереалистичными, а также не было честного контакта с землей. Однако уже тогда все расчёты происходили на сервере, что исключало возможность читов.

Мы сделали важный переход на новые принципы симуляции в сентябре 2012 года, в патче 0.8.0, когда впервые изменили физическую модель движения танка. Тогда стало можно спрыгнуть с холма, упасть в воду и затонуть, толкнуть вражеский танк, увидеть покачивание подвески, подпрыгнуть на неровности при быстром движении и так далее.

Мы написали небольшой физический движок и интегрировали его в наш игровой движок BigWorld на серверной стороне. Это позволило сделать полноценную трёхмерную симуляцию, на тех же принципах что заложены PhysX или Havok. Свой движок также позволил оперативно добавлять требуемые фичи и очень тонко настроить нашу модель. Например, мы использовали новую технику soft constraints для стабильной симуляции пружин большой жёсткости. Также мы сделали оптимизацию под наше серверное железо, чтобы сервера могли рассчитывать масштабные сражения.

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

Еще больше мы усовершенствовали физическую модель в версии 9.14. Форма корпуса стала более детальной. Вместо материальных точек появились настоящие катки. Для имитации гусениц все катки связаны между собой, как будто между ними протянут ремень. Таким образом, все катки на каждом из бортов вращаются синхронно.

Есть разные факторы, определяющие это соотношение. Для глубокого вовлечения игра должна вызывать эмоциональный отклик у игрока. В World of Tanks мы пытаемся показать что-то знакомое: как двигаются знакомые танки из фильмов и видео. У большинства игроков представление о военной технике сложилось именно благодаря фильмам, а также опыту взаимодействия с обычными автомобилями. Из-за этого, конечно, у них есть некоторые предубеждения.

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

Другое предубеждение: танк, падая с обрыва, должен очень быстро лететь вниз. Люди могут знать законы гравитации, но не вполне осознавать размеры танка. Игрок может неосознанно представлять, что средний танк примерно размером с машину, а МС-1 это такой квадроцикл. В действительности даже небольшой по танковым меркам МС-1 имеет внушительные размеры: 4,38 x 1,76 x 2,12 метров. Поэтому визуально может казаться, что танк слишком медленно падает, в то время как на самом деле он пролетает большое расстояние. В таких спорных случаях мы старались ориентироваться на эмоции игроков, на то, чего они ожидают.

Такие же небольшие внешние силы добавили для тормоза и старта. Танки в игре тормозят чуть быстрее, чем в реальности. Сцепление с грунтом сделали сильнее, чем в реальной жизни — коэффициент больше единицы. Поэтому заносы получаются не такие мощные, как в реальности. Чтобы танки падали с обрыва чуть быстрее, мы также увеличили силу гравитации на 25%.

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

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

Например, танк едет на холм. Угол подъёма увеличивается, и при некоторых предельных значениях, когда нужно было бы переключать передачу, происходит резкое падение скорости. Это явление непонятно игроку, который привык к старому геймплею, но вполне очевидно для любого автовладельца.

Если говорить про физику в играх в целом, то сейчас продолжает расти значение сетевых онлайн-игр, что накладывает ограничения на развитие физики. В однопользовательских играх с этим проще. Например, в World of Tanks мы просчитываем небольшое количество геймплейно значимых объектов на сервере, а мощные визуальные эффекты, например, разрушение домов — на клиенте. Это следствие того, что существуют ограничения сетевого канала. Мы не можем передавать изменения координат сотен и тысяч объектов.

Если эти ограничения удастся победить, игровая физика, да и игры в целом, могут существенно поменяться. Уже появляются облачные игровые сервисы, где всё, вплоть до рендера картинки, происходит на сервере. Теоретически можно было бы сделать масштабную симуляцию с большим влиянием на геймплей. Но захотят ли разработчики ориентироваться только на облака и делать сложную физику, которая влияет на игровой процесс? В ближайшем будущем, наверное, ждать не стоит.

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

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

Как работает физика танков в World of Tanks
В зависимости от версии - "как говно" или "как форсаж"

Они это называют - ВБР.
Великий Белорусский Рандом.

нее, вбр это про то как закидывает в боях и как урон проходит)

Можно было бы начать и закончить "Как работает физика в World of Tanks - вы задонили, у вас будет 100% пробитий хоть в гуслю. Вы не доните? Ловите 100% рикошетов. Всем спасибо, все свободны".
При всем уважение, описание физической модели может быть неплохо, но вспоминая пакет танкиста, сразу понимаю - партнерский материал. Так что ставьте это в заглавие сразу, иначе можно считать введением в заблуждение (скрытая реклама).

А там пофиксили тот момент когда можно стелять в выступающий болт на танке и дамаг проходит?

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

Ну, реалистично, что еще добавить.

Игра никогда не позиционировалась как симулятор.

Когда только выходила, прям так и позиционировалась. Реализм, учеты толщины брони итп. Рассказывали что прям чуть ли не ручками танки щупали перед созданием.

С элементами реализма она позиционировалась. А как симулятор - никогда.

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

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

Не спорю, но уничтожать танк выстрелами в пимпочку. совсем не серьезно. Поиграл с релиза, года 2-3 и бросил

Вот как раз в эти пимпочки кв (и нынешний кв2) никогда не пробивался с уроном.

Так, неужели они исправили? С релиза, лет 5 КВ (когда он еще был 1м танком) можно было разбирать стреляя в эти штучки.

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

Там 75мм во лбу башни, которые пробиваются чем угодно. Никто их никогда не выцеливал.

Легкими танками раньше нельзя было КВ пробить, только в ушки.
А еще КВ-2 кидало к 3-4 уровневым танкам и он там был не убиваемым.

Дооо, особенно какой-нибудь т28 с ф-30 вот совсем ничего сделать ему не мог.

Ну т28 это ещё терпимо. Самый ад тогда было попасть к кв-1 НА 3-ем уровне (или кв-2? Не помню уже, кажется раньше это был один танк, а после уже по башне разделили). Ты ему ничего не мог сделать, тупо пытался сбить гусеницу чтобы задержать его хоть немного пока союзники базу захватят.

Самый ад был попасть на всяких 5 уровнях против мауса. Раш по центру на малиновке, внезапно, становился самой действенной тактикой из возможных.

Наверное с этих времен многое изменилось :)

Изменилось и правда многое, но вот ф-30 у т28 была как раз первые ~2 года игры.

А ну разойдись!
Оно только деградирует!

Так забавно наблюдать как челы меряются сколько времени они потратили на эту дрочильню

Вот сволочь, опоздал на пару месяцев, так бы тоже похвастался этой медалькой.

Всего чуть раньше чем на недельку с небольшим, такой себе бета-тостер. А вот такое у тебя есть?)

Я ушёл после введения золотых снарядов и нерфа моего любимого Льва :(

Нерф очень быстро откатили, а потом и вовсе апали 2 раза, вроде.

Ну все, поди обниму (*_*)
Ну вот :) странно что ты не помнишь всякие выступающие части :D танков в которые стреляешь если пробить не можешь во все остальное.

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

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

У них же механика подробно описана. В ролике 254 метра, стреляет подкалиберными, а у них пробитие с расстоянием падает намного быстрее обычных ББ.

Там в башне приведёнки меньше 90мм в самом толстом месте в такой позе. У крышки корпуса 160мм приведёнки при 89 градусах встречи. Подкалибер, конечно, неплохо теряет с расстоянием, но не настолько сильно.

Ну так тестовый бой создай и постреляй. Результаты те же будут.

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

Почему невозможно? Это же игра и у неё есть своя механика, что на 250-280 метров у БП пробития не хватает.

Не существует в игре такого подкалибера, у которого на 250 метрах 100мм пробития сожрутся.

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

Ну да, про варгейминг на удивление плохо высказываются. Фиг знает почему, может из-за того что наша фирма (ну белорусская, рядом же). Хотя по сути они очень большой прогресс сделали с игрой за годы спустя релиза. У них никогда не было такого, что донат решает. Был момент в начале с донатными снарядами, но они давали совсем мизерный бонус, а в большинстве случаев никакой. В итоге эти снаряды стали доступны всем.

Самая главная проблема, которая появилась кучу лет назад и до сих пор остаётся, - это баланс. Когда были самые первые 3 нации - баланс был хорош. После того как ввели французскую ветку и до сих пор, на протяжении 8 примерно лет, они так и не смогли в баланс. Хотя изменения баланса проводятся постоянно.

но они давали совсем мизерный бонус

От нажимания на "2" руки, конечно, не выпрямляются, но про мизерный бонус это лукавство.

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

С балансировщиком всё заебись как раз. Самые большие проблемы это, в порядке убывания: фугасы, +/-25% на всё, карты.

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

Я всегда готов изменить своё мнение, если на то будет причина. Озвучь свои аргументы, поговорим.

Ну про первый пункт я готов поменять своё мнение возможно. Так как на тот момент, когда голдовые снаряды ещё не ввели за серебро, я играл как мне кажется ещё не очень хорошо. И в рандомных боях встретить человека с прямыми руками это была редкость. Допускаю вариант, что на 10 уровнях большее количество людей было которые могли с умом использовать донатные снаряды, но на тот момент ядо качался только до 8 или 9 уровня.

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

Всё это касается только рандомных боев. Клановые сражения, турниры и всякое такое это уже отдельный разговор.

На момент 2010-2011 годов просто было не особо много десяток. И да, когда балансировщик кидал десяток против пятёрок, и несколько позже, когда уже ввели +/-2, но десятки продолжали играть против восьмёрок постоянно (из-за упомянутого недостатка десяток), голда, по сути, нужна не была. Далее, по мере роста среднего скила, когда каждый первый умел играть от башни, ставить ромб и прятать нлд голда стала давать ощутимое преимущество. Особенно до апа влд иса7, когда ббхами он через раз пробивался в щёки, а голдой считай, что гарантированно. Ну а там уже е5 и е100 со своими прекрасными кумулями, 50б с прекрасными подкалиберами и стрельбой сверху вниз, и так чем дальше, тем сильнее голда влияла результативность. Сейчас дошло до того, что некоторые танки без голды либо на грани неиграбельности (50б, хэви, е100, поляк, 705а, бориска), либо неиграбельны вовсе (кран, юдес 15/16).

Нет, количество турбобоёв и боёв в одну калитку увеличивалось очень плавно. Не было такого, что играли нормально, а через патч пиздец. Тем более, что барабаны играются сложнее, хороших игроков тогда было мало, а брони у французов не было. Сейчас ситуация такова, что нынешний рандомный рак в 2010 был бы как минимум хорошим игроков, а каждый нынешний хороший был бы как минимум достойным киберспортсменом. Это выливается в то, что ошибки, в среднем, не прощаются, потому и равные позиции мгновенно превращаются в выигранные/проигранные. Как хороший пример можно привести шахматы, где на клубном уровне можно встретить огромное количество реальных игр, когда ход назад любой шахматный движок оценил бы по позицию в рамках +/-0.5 (относительно людей, которые не компьютеры, это можно считать равной позицией), а сейчас говорит, что есть форсированный мат в 3 хода. Т.е. такие вещи для игр нормальны.

Хм, ну если смотреть с позиции того, что средний скилл игроков возрос то возможно. Но это тем более значит, что нужно что-то придумывать с балансом. Я бы не отказался от делений в рандомных боях по рангам - ну как в Доте ММР или как в CS по званиям. Да даже чисто по проценту побед.

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

Навыки экипажа

Выбор умений для экипажа – дело непростое, ведь нужно выбрать перки, которые идеально подойдут для определенного танка. Исправлять ошибки — значит тратить драгоценное время.

Порядок прокачки перков для легких танков

  • Командир :Шестое чувство, Боевое братство, Орлиный глаз, Маскировка, Мастер на все руки.
  • Водитель :Маскировка, Боевое братство, Король бездорожья, Ремонт, Плавный ход.
  • Наводчик :Маскировка, Боевое братство, Плавный поворот башни, Ремонт, Пожаротушение.
  • Радист :Маскировка, Боевое братство, Радиоперехват, Ремонт, Пожаротушение
  • Заряжающий :Маскировка, Боевое братство, Ремонт, Пожаротушение, Бесконтактная боеукладка.

Танк на поле боя

Порядок прокачки перков для средних танков

  • Командир :Шестое чувство, Боевое братство, Орлиный глаз, Мастер на все руки, Ремонт.
  • Водитель :Король бездорожья, Боевое братство, Плавный ход, Ремонт, Маскировка.
  • Наводчик :Снайпер, Боевое братство, Плавный поворот башни, Ремонт, Маскировка.
  • Радист :Радиоперехват, Боевое братство, Ремонт, Маскировка, Пожаротушение.
  • Заряжающий :Бесконтактная боеукладка, Боевое братство, Ремонт, Маскировка, Пожаротушение.

Готовность танка

Порядок прокачки перков для тяжелых танков

  • Командир :Шестое чувство, Боевое братство, Орлиный глаз, Мастер на все руки, Ремонт.
  • Водитель :Чистота и порядок, Боевое братство, Мастер тарана, Ремонт, Маскировка.
  • Наводчик :Злопамятный, Боевое братство, Плавный поворот башни, Ремонт, Маскировка.
  • Радист :Радиоперехват, Боевое братство, Ремонт, Маскировка, Пожаротушение
  • Заряжающий :Бесконтактная боеукладка, Боевое братство, Ремонт, Маскировка,Пожаротушение.

Танк готов к бою

Порядок прокачки перков для ПТ-САУ

Противотанковая самоходка в игре

Порядок прокачки перков для артиллерийских самоходок

Читайте также: