На чем написаны танки
Три причины, по которым мне пришлось бросить игру World of Tanks и в чем суть патента В. Кислого
реклама
Игроком игры World of Tanks я явлюсь с 2012 года, вернее уже являлся, видел, так сказать воочию, как игра менялась на протяжении девяти лет. И на мой взгляд игра изменилась только к худшему, причем за последние года просто катастрофическими темпами. В какой-то момент играть в нее стало просто невозможно, чаша терпения переполнилась, и я решил бросить эту игру. Расскажу про причины, которые побудили меня это сделать.
1. Патент Виктора Кислого и Ивана Михневича.
Суть этого патента заключается в так называемой «поддержке интереса к игре». Как всегда, компании Wargaming мало прибыли, которую они имеют, и хочется еще большего. И эта технология призвана, не допустить ухода игроков из игры и повысить доходы компании. Она напрямую определяет алгоритмы игры, правила баланса, пробитий, промахов, рикошетов и т.д., и случайности здесь нет никакой. Помогая этим одним игрокам, и угнетая других, тем самым стирая разницу в игре между игроками, которые плохо играют, например, только начали играть, и опытными игроками. По мнению Wargaming здесь все логично, игрокам не нравится постоянно выигрывать в легких боях или постоянно проигрывать. Если опытные игроки попадают в бой с неопытными новичками, то новички разочаруются, а опытным игрокам станет скучно, и они оба могут бросить игру. Статистика игроков не должна сильно различаться, не должно быть побед у одних игроков 90 %, а у других 40%.
2. Жадность компании Wargaming
Повторюсь, что я являюсь игроком этой игры с девяти летним стажем. И помню те времена, когда игра была размеренной, новая прокачиваемая и премиальная техника выходила с периодичностью позволяющей игрокам понять эту технику, изучить ее, привыкнуть к ней. Хоть как то поддерживалась историчность игры, не было этой несуразной, не имеющей к историчности никакого отношения, колесной и некоторой другой техники. Не нерфили, и не апали технику в интересах Wargaming так беспардонно и бесцеремонно, как сейчас. Wargaming раньше жил с перспективой на будущее, думал о последствиях, к которым могут привести его действия и решения. А сейчас у меня сложилось такое впечатление, что Wargaming живет только сегодняшним днем, заботясь только о сегодняшних сверхдоходах, вовлекая World of Tanks в полный игровой хаос. Как будто завтрашнего дня уже не наступит, и весь куш нужно срубить именно сегодня. Но завтрашний день неминуемо наступает, и чтобы опять срубить по максимуму, игру ввергают в еще больший хаос, и так дальше происходит падение в пропасть хаоса и безумия.
реклама
Или еще другой вариант как вынудить игроков донатить. Выпустить новый премиальный танк, например тяжелый танк Crysler K GF (яркий пример нагиба за деньги), который практически не имеет в броне слабых мест, а в лоб так вообще бронебойными снарядами не пробивается. И только при использовании подкалиберных (голдовых) снарядов появляется шанс с ним справиться, тем самым совсем ненавязчиво подталкивая игроков покупать за реальные деньги голдовые снаряды, ведь не у всех имеется много игрового серебра для их покупки. И у самого Crysler K GF «запилено» суперпробитие на голдовых снарядах, хотя пушка такая же, как и у Т32, но пробитие при использовании голдовых снарядов значительно выше. Что и подталкивает лишний раз их владельцев на покупку голды за реальные деньги. Опытные игроки начавшие играть давно, видя, как сейчас, некогда культовая игра, просто катится в пропасть хаоса и безумия просто уходят из нее навсегда. А новички, на которых Wargaming делает ставку, всячески заманивая их в игру, немного покуражатся и все равно уйдут из нее, потому что без опытных игроков игра будет неинтересна.
3. Читы (запрещенные модификации) в игре
Читы – это официально запрещенные модификации, которые тем или иным способом дают значительное преимущество игроку в бою перед другими игроками.
реклама
Или еще пример, остаюсь я в конце боя наедине с одним или двумя противниками, и не знаю их место нахождения. Так находятся союзники, которые начинают мне подсказывать место положения врага, и действительно он оказывается там. Как они это узнают, да очень просто, используют чит «поваленные деревья и разрушенные объекты на миникарте», который на миникарте отображает условными знаками эти места.
реклама
Можно конечно и дальше очень долго продолжать приводить разные примеры использования игроками читов, с которыми я лично сталкивался в боях, но думаю для понимания масштабности катастрофы в игре World of Tanks этого достаточно.
Скачиваются и устанавливаются читы вообще, без каких либо проблем, и это вызывает у меня большое разочарование в этой игре.
По моему мнению, точка невозврата игрой World of Tanks уже пройдена, и вернуть ей ту прежнюю популярность и любовь игроков уже невозможно.
Надеюсь, статья для вас была интересна, и вы сделаете правильный выбор игры для себя.
Пишите в комментариях, часто ли вы сталкивались в игре со случаями читерства, и что думаете о дальнейшей судьбе игры World of Tanks.
Разбор протокола World Of Tanks
Часть первая: инструментарий мелкосерийного изобретения велосипедов
Почему и зачем: длинная и необязательная преамбула
Хорошо, что опыта игрового модостроительства у меня было немного — так, пару кастомных прицелов для Deer Hunter 2005 и «нелицензионный» недоклиент VATSIM/FSD с сопутствущим «взломом» протокола последнего. Ещё лучше, что ни разу не приходилось с головой погружаться в сколь-нибудь трудоёмкую и длительную отладку и дизассемблирование. То есть, с IDA и OllyDBG я поверхностно знаком, но не как с ежедневными рабочими инструментами.
Итак, я уверен, что в обозримом будущем никаких планов по введению полноценного режима спектатора в WOT нет и не будет. Под полноценным режимом спектатора я понимаю множественные подключения игроков в сеанс боя изначально как невзаимодействующих на игру «привидений»-наблюдателей, а не на технике. Это тот самый режим, из-за отсутствия которого комментаторы на чемпионатах WOT вынуждены заходить в бой 15-м танком, убиваемым своими на базе. Это тот самый режим, из-за которого появились моды «командирского zoom» и «кинематографической камеры» — по сути, просто костыли. А нужен такой режим затем, чтобы командир роты занимался командованием, а не скакал впереди на лихом танке по-чапаевски, чтобы он видел ситуацию на карте в целом непрерывно, а не отвлекался на неё в пылу нападения из засады. В идеале, командиру даже не нужны красоты трёхмерного мира — достаточно одной большой карты на весь монитор с игровой ситуацией в реальном времени — HP, повреждениями модулей, членов экипажа, направлениями стволов и прицелов союзной техники, засвеченных в каждый момент вражеских юнитов и прочей вспомогательной информации.
WOT предоставляет широкие возможности модостроительства, но такая идея выходит за рамки классического «заменить пару swf-файлов на свои». Потребуется перехват и разбор самого игрового протокола для того, чтобы иметь возможность передать на командирский планшет своё видение игровой ситуации.
Обход шифрования 0x0A-й дорогой
Первые робкие попытки пролезть в протокол танков я предпринял ещё в 2011 году. Начинать это, как и везде в подобных задачах, стоит с хорошего сниффера (кстати, в случае с VATSIM/FSD на этом можно и остановиться — внезапно оказалось, что протокол там текстовый), и я, вооружившись Microsoft Network Monitor’ом, ринулся в бой. За отчётные 3 года в схеме входа ничего кардинально не поменялось, кроме количества игровых кластеров. Сервис авторизации у каждого кластера живёт на одном IP, к нему уходит один пакет с логином-паролем, и от него приходит один пакет — как минимум, с идентификатором конкретного игрового сервера из этого же кластера, на который клиенту надо переключиться, и с чьим IP происходит весь дальнейший обмен. Выглядит это всё приблизительно так
Помеченные октеты, судя по тому, что изменяются они мало и более-менее предсказуемо — заголовок пакета. После них идёт равномерный битовый шум, то есть там уже включается шифрование. Тут можно было вспомнить, что записи боёв в WOT шифруются BlowFish’ем, и что ключ шифрования не изменялся с того момента, как стал известен широкой публике, и покопаться глубже — но смысла в этом особого не вижу. Для задуманного гораздо важнее то, что ходит между клиентом и сервером в процессе игры, чем то, как он авторизуется при входе.
Итак, если трафик проходит потоковое шифрование, логично предположить, что где-то в глубинах программы есть функция наподобие SendToServer(), в которой есть вызов вроде EncryptBuffer() и в которой, в конечном счёте, выполнение доходит до конкретного sendto(). Наша задача, для начала — найти, где это происходит. Загружаем танки в OllyDbg и перед нажатием на кнопку «Войти» ставим логирующий брейкпоинт на sendto().
Через несколько десятков срабатываний, уже в ангаре, вызовы sendto() становятся более монотонными, в том плане, что адрес буфера для отправки данных не меняется:
Чтобы узнать, где шифруется этот буфер, я сначала пошёл по неправильному пути — начал изучать графы вызовов в IDA и отслеживать вручную возвраты из функций. Где-то на 15-й такой функции мне это надоело, я полностью заблудился в коде и поставил брейк на запись по адресу буфера.
Брейк сработал внутри вот такой чудесной функции по адресу 0x00BAF76F, чудесность которой состоит в том, что в неё передаются 3 параметра — два адреса буфера и ещё один — их одинаковая длина. Тот самый EncryptBuffer(ptr_src,ptr_dest,len), который нам нужен. Что там лежит в незашифрованном виде, мы пока смотреть не будем, об этом позже.
Это что касается отправки данных. Как быть с приёмом? Немного сложнее, но, в целом, так же, поэтому не буду утомлять вас большими и страшными скриншотами отладчика. Схема такая — ставим брейк на recvfrom(), смотрим адрес буфера, куда складывается принятый зашифрованный пакет. Ставим брейкпоинт на чтение с адреса буфера и тут нам в очередной раз повезло — брейк срабатывает на вызове функции по адресу 0x00BAFB79, которая занимается расшифровкой блоков по 8 байт и находится, в свою очередь, в теле функции по адресу 0x00BAFB30. А уже эта функция почти такая же чудесная, как и та, что мы нашли выше: она принимает 4 параметра — два адреса буфера, их длину и какой-то флаг.
Назовём её DecryptBuffer(ptr_src,ptr_dest,len,flag). Адреса буферов, как видно, совпадают. Что полностью логично, так как при потоковом шифровании стоит ожидать одинаковой длины блоков исходного и шифротекста.
Осталась одна тонкость. Если функцию EncryptBuffer() достаточно перехватывать непосредственно перед её вызовом (т.е. ставим INT3-брейкпоинт вместо CALL) вытаскивая память по адресу ptr_src длиной len, то в момент вызова DecryptBuffer() оба указателя покажут на один и тот же блок, который ещё пока зашифрован. Поэтому перехватывать эту функцию надо перед самым возвратом, который у неё происходит командой RETN 10 по адресу 0x00BAFBA8. В этот момент на стэке лежат те же параметры, за исключением того, что ptr_src равен нулю (это нововведение версии 0.8.11, в предыдущей указатели как-то оставались равны) и адрес возврата. И ptr_dest, конечно, показывает на расшифрованный буфер. Теперь, когда мы знаем, где в клиенте WOT сообщения ещё не зашифрованы и где уже расшифрованы, нужно их оттуда автоматически вытаскивать для дальнейшего анализа.
Что же там внутри?
Здесь матёрые гуру реверс-инжиниринга, в духе «There’s an emacs command to do that» подумают: «ага, ну теперь можно написать на питоне\эзотерическом языке вот такой скрипт\плагин для ольки\иды, который будет делать с этими данными всё что хочешь и даже за пивом сбегает». Но мы пойдём другим путём. Я хочу сразу ориентироваться на то, что ещё до того, как дело дойдёт до разработки командирского планшета, то есть даже для самого полноценного разбора протокола WOT мне понадобятся помощники и тестировщики, далёкие от мира программирования. Им нужен будет простой инструмент с понятным интерфейсом, выдающий легко читаемые данные.
Так что предвидя скептические ухмылки, я засел за Lazarus и набросал в нём специализированный win32-отладчик, основной функцией которого является поставить два INT3-брекпоинта в нужных местах и по их срабатыванию вытаскивать данные по адресу и длине буфера, лежащим на стеке по известным смещениям. Ещё он умеет вести txt.gz лог с hexdump’ами пакетов и записывать все прошедшие пакеты так, что их потом можно заново «проиграть» через парсер. Вот что получилось. Так WOT клиент только начинает входить в ангар.
А вот так он себя ведёт уже находясь в ангаре.
Какие выводы можно сделать, даже не смотря на пояснения к пакетам, которые я поленился убрать для этих скриншотов? Сразу несколько.
Во-первых, видно, что все пакеты начинаются либо с 0x48, либо с 0x58, либо с 0x78; какой-нибудь закономерности на этот счёт я ещё не уловил, кроме того, что пакеты с уже известной функцией свой значащий байт не меняют.
Во-вторых, почти в каждом пакете есть один или несколько счётчиков сообщений; например, в keep-alive и ответах на них этим занимается третий и четвёртый байт в заголовке, кроме того сам пакет содержит ещё счётчик сообщений общий (включая keep-alive) и какой-то специфический (считающий пакеты без учёта количества keep-alive); всё это имеет отношение к контролю доставки пакетов, который пришлось прикрутить к UDP, вероятно, для оценки потерь и пересылки BLOBов (об этом позже).
Размеры всех пакетов выравнены по границам 8 байт, что ненавязчиво указывает нам на размер блока всё того же BlowFish; пока я до этого догадался, прошло немало времени в попытках обьяснить странную «контрольную сумму» в конце, да ещё и переменной длины. В конце концов, получив в этом паддинге вместо простого мусора слово «Flags» я, наконец, прозрел.
Ну и в лучших хакерских традициях, в конце каждого пакета находится сигнатура мёртвой говядины; кто бы мог подумать где мы её найдём 🙂
После получения Session ID от сервера приезжает пакет, содержащий номер игрока в неожиданно текстовом формате (792067). А вот пакет, который начинается на 0x78 0x00 на первом скриншоте — особо интересен. Сочетание сигнатуры 0x80 0x20 вкупе с тем, что перед каждым строковым литералом в нём стоит 0x55 и байт длины строки, а после каждого 0x71 находится возрастающий номер, должно насторожить опытных питонщиков — это же, чёрт побери, Python Pickle со своим запихиванием всего подряд в мемо! Вот он такой:
В следующей части, если она заинтересует уважаемых обитателей Хабра, я расскажу о том, как в протоколе WOT передаются файлы, размеры которых намного больше реалистичного размера UDP пакета и MTU. И о том, что эти файлы оказывается сжатыми zlib’ом а внутри у них всё тот же Python Pickle с разными неожиданными вещами.
Спасибо за внимание!
UPD. Свежие новости! По агентурным данным из самого сердца КВГ, мой лёгкий намёк на потенциал коммерческого использования командирского планшета поднял «небольшой бугурт» (дословно), в результате чего кровавые модераторы в полнейшей панике наконец заметили и слили в мусорник тему проекта на официальном форуме танков, а мне было доверительным шёпотом посоветовано замылить данные своего аккаунта на скриншотах.
Кто придумал «Танки»? Большое интервью с Петром Битюковым, одним из создателей World of Tanks
В этом году легендарной игре World of Tanks исполняется 10 лет. В мире существует не так много проектов, которые, имея столь внушительный возраст, остаются популярными у игроков. В честь этого значимого события в «Танках» был организован масштабный ивент «Десятилетие», который стартовал в апреле и кульминация которого запланирована на август. Во время события игроков ждет множество активностей, призов, подарков, а также приятных воспоминаний.
Почему изначально упор был именно на сетевые игры? В первую очередь это касается Iron Age, DBA и Massive Assault. Тогда ведь не только интернет, но и персональный компьютер был далеко не у всех. Во всяком случае за пределами столицы. Или же ставка делалась в первую очередь на зарубежных игроков?
В Iron Age я включился, когда она уже была на этапе предварительного тестирования, да и официально в релиз-то она не вышла. Игру делала группа друзей-студентов на основе бумажной игры, которую они разрабатывали еще в детстве и играли, что называется, на полу. Потом, как я понял из разговоров, появилась идея разработать ее компьютерную версию. А так как она была отчасти похожа на шахматы, в ней два оппонента по очереди делали свои ходы и пересылали их, это подразумевало близость к жанру игр типа PBEM (play by e-mail). То есть ее сетевой вариант был вполне логичен, тем более что это позволяло игрокам выбирать удобное время для своего хода, который просто хранился на сервере. Игрок, подключаясь, скачивал его, а затем в режиме офлайн мог продумать и сделать свой ход и таким же образом отправить его через сервер.
Игра была сделана англоязычной. Правила достаточно просты, больших усилий, чтобы вникнуть, не требовалось. Она была про древние времена: условную Древнюю Грецию и Древний Рим, хоть и без конкретной исторической привязки, мир был вымышленным. Но юниты имели аналоги из тех эпох: мечники, лучники, конники, три вида кораблей… Объем клиента был около 2 мегабайт, так что даже dial-up позволял ее скачать. Пересылаемый ход измерялся буквально несколькими килобайтами, то есть даже при самом плохом интернете его все равно можно было отправить, а также получить назад ход оппонента. Была возможность вести несколько боев одновременно с разными оппонентами, как в шахматах — сеанс одновременной игры, а значит, всегда был шанс подумать, попробовать разные тактики.
Я почему так подробно рассказываю про эту игру, потому что, во-первых, как раз на этом этапе я познакомился с Виктором Кислым. Во-вторых, многие из технических решений и в целом вот эта идеология пересылки хода и сохранения его на сервере очень сильно пригодились, как я понимаю, в ходе работ над следующей официальной игрой Wargaming — DBA online. Она также была сделана с пересылкой ходов через сервер, но уже с более четкой исторической привязкой, по правилам распространенной на Западе настольной игры DBA (De Bellis Antiquitatis), которую мы реализовали в виде компьютерной программы. Пригласили художников, чтобы воспроизвести достаточно достоверно внешний вид воинов и сделать иллюстрации. Настольная версия требовала относительно большого объема площади для игры и сам бой занимал порой несколько часов, что достаточно сложно с точки зрения организации: не всегда было место и время. И если не удавалось отыграть за один присест, то сохранить игру до следующей встречи было проблематично. А тут появилась идея сделать такую же игру, но чтобы пересылка хода осуществляется через интернет, а сами ходы хранились на сервере. Забрав их, ты отключаешься от интернета, делаешь ход в удобное время и отсылаешь оппоненту.
Игра осваивалась достаточно быстро и получила определенную популярность — в первую очередь в сообществе игроков, которые увлекались ее настольной версией. Распространение было условно бесплатное: игру можно было скачать на сайте и играть, но были ограничения в виде количества действий, после чего она фактически замораживалась, и редко когда игроки успевали доиграть до логического конца — победы одной из сторон. Весь же функционал был доступен по подписке: если хотелось пройти полноценную битву, до финальной развязки, нужно было приобретать подписку. То есть уже тогда нами была опробована подписочная модель. В эту игру играло, наверное, несколько сот пользователей.
Время шло. И если Iron Age приходилась приблизительно на 1996–1997 годы, DBA — на 1998–1999-й, то Massive Assault — на нулевые, когда возросли требования к графике. В ней появились трехмерность, звук (впервые в играх Wargaming), различные технические новшества — фэнси-камера, игровая кампания, в которой рассказывалось об этой игровой вселенной, политике и перипетиях личной жизни главных героев, чтобы людям было интересно играть.
Вышла игра сначала в виде готовой кампании, несколько отдельных сценариев, и сетевая версия. А затем появилась идея: поскольку у нас уже есть сетевой режим и опыт оперирования играми по подписке DBA Online, давайте сделаем сетевой вариант Massive Assault. Он вышел под названием Massive Assault Network, где была удалена большая часть синглплеерной составляющей: кампания, отдельные сценарии, зато более глубоко была проработана составляющая сетевая. Игроки могли посылать вызовы друг другу или общие вызовы, появились различные чаты, турниры, к организации которых я был причастен. Счет игроков уже шел на сотни и тысячи. В ней тоже была внедрена двойная система: игра была условно бесплатной, с ограничением по продолжительности боев. А по подписке в распоряжении игроков появлялось большее количество карт, бои становились более продолжительными, расширялся доступный функционал.
Вся предыстория потихоньку подводила к тому, что интерес к играм по сети возрастал, но все они были в жанре пошаговых стратегий. Предназначались для аудитории, которая любит подумать, у которой есть на это время. Причем играть можно было, когда удобно — ходы делаются не в режиме онлайн, что вынуждает тебя вместе с оппонентом быть одновременно в сети, а пересылаются через сервер, а значит, можно играть хоть с другим континентом, с колоссальной разницей в часовых поясах. В то время такого жесткого разделения на отечественную и зарубежную аудиторию не было. Просто в начале нулевых платежные системы, и вообще электронные платежи, на территории бывшего Союза были менее распространены. Поэтому многие отечественные игроки пользовались таким полусуррогатным вариантом: покупали диск, в котором содержался код на месяц игры по сети, вводили его и играли. А уже позже появилась возможность использовать какие-то отечественные платежные системы для оплаты подписки.
Насколько сильно компания рассчитывала на западную аудиторию? В самом начале пути, при работе над «Миром танков». Как менялись приоритеты и соответственно разрабатываемые игры от этого? К примеру, «Мир танков» ведь намеренно изначально был заточен на нашу аудиторию, так ли это?
Скажем так, когда в декабре 2008 года шло обсуждение по поводу того, какую игру лучше делать, вопрос о том, что создаем проект, ориентированный только на отечественную или только на западную аудиторию, не ставился. Все предыдущие игры Wargaming, как правило, делались сразу и на ту, и на другую аудиторию. На самых первых проектах не всегда делалась русскоязычная версия, но зачастую потом появлялась русификация. Еще была попытка сделать игру в жанре RTS (real time strategy) — это « Операция „Багратион»», она была ориентирована именно на отечественную аудиторию. Игра получила хорошие отзывы и в целом вышла неплохой. Конечно, может быть, что-то можно было сделать и лучше, но с учетом того, что это был первый опыт компании в данном жанре, игра получилась, на мой взгляд, очень достойной. И после этого, если немного забегать вперед, началось сотрудничество со Square Enix, по заказу которой была сделана игра Order of War, уже под западную аудиторию, и только потом ее вариант вышел для аудитории русскоязычной.
Обсуждались и корабли русско-японской войны, и корабли после 1945 года. Но лезть в ту нишу, где уже находилась Navy Field (а в то время уже была анонсирована Navy Field 2), было не очень логично. Опыта разработки корабельной игры у нас на тот момент не было, а делать все в том же сеттинге, в котором уже существует достаточно популярная игра с десятками тысяч игроков по всему миру, не очень хотелось. А может, сделать корабли, но эпохой раньше или чуть позже? А может, парусники? А не будет ли сложным для игроков учет ветра, течений? А если про самолеты сделать? А давайте про шагающих роботов! Но все-таки более интересным показался вариант, которого еще в таком виде — онлайн-игры, с прокачкой, рандомными боями — не было. И вариант этот был про танки.
При этом даже определенные допущения в плане прокачки были бы вполне достоверны, потому что многие танки в реальной истории менялись в процессе своего производства, а порой даже в процессе эксплуатации. Помню, как я показывал прокачку танков на примере готовых пластиковых моделей, которые стояли у меня на стеллаже в той комнате, где все это обсуждалось. Вот, говорю, Т-34 раннего, а вот Т-34 позднего выпуска, у них менялась башня, могли быть разные орудия и т. д. Вот такую прокачку можем организовать, у игрока будет соответствующая прогрессия, плюс можно будет все выстроить по уровням: прокачка внутри уровня, между ними. Также, говорю, было много машин, вышедших в серийное производство, но еще больше существовало в виде опытных образов либо нереализованных проектов, о которых многие слышали и знают, но оценить их возможности не было. В нашей игре такая возможность появится: а как бы оно было, если бы их все-таки удалось запустить в производство? И вот в ходе этого обсуждения решили, что да, это очень любопытный вариант сеттинга. Удалось убедить Виктора, ну и самих себя отчасти. При этом мы чувствовали, что у нашей, русскоязычной аудитории будет интерес к военной истории и военной технике. Но такого, что мы будем делать игру только для бывшего Союза, не было.
Мы предполагали, что подобный сеттинг вызовет положительный отклик у игроков по всему миру. Тем более что изначально, когда начали рисовать со Славой первые деревья, появились такие нации, как СССР, Германия, а затем США и Англия. Французы и другие страны появились позже. Так что мы думали, что в игре будут представлены сразу несколько участников Второй мировой с их танковыми школами. Но, конечно, дальнейший ход событий показал, что интерес у аудитории на территории бывшего Советского Союза был значительно выше, чем у зарубежной. Тем не менее игра вышла и за рубежом, где имеет неплохой успех.
Так кто же придумал «Танки»?
Если уже совсем хронологически точно, то ситуация была следующая. Сначала Слава познакомил меня с корейской игрой — Navy Field. Проанализировав ее и исходя из того, что мы искали, какой бы сетевой вариант сделать для Order of War, я предложил: а давайте попробуем использовать наши юниты из OOW, элементы ММО-геймплея от Navy Field и сделаем свою игру, с прокачкой и прочим, но с танками. Все это в виде письма я отправил Виктору Кислому, Кириллу Малю и Антону Ситникову где-то в октябре-ноябре 2007 года. Потом шла вялотекущая переписка. Каких-то реальных телодвижений в этом плане не было.
Осенью 2008 года состоялся разговор в аське со Славой: может, сделать ММО про роботов или про танки… Короче говоря, на этом уровне снова появились танки, их уже предложил Слава. Я говорю, что уже предлагал их, мол, мысли сходятся! А потом Виктор написал, что он будет в Москве и что нужно встретиться и обсудить, чем компания будет заниматься. Я ему сказал, что есть знакомый спец в онлайн-играх, с которым я всех познакомлю. В субботу, 8 декабря 2008 года, мы встретились у меня на квартире, где и началось бурное обсуждение всех возможных вариантов. И роботы, и космические корабли, и обычные, и самолеты. Но танки показались наиболее интересными и оригинальными для массовой аудитории.
Почему решили остановиться на военной технике середины ХХ века, а не более современной или танках Первой мировой? Дело только в уже существующем опыте работы с моделями танков времен Второй мировой войны или есть иные причины?
Да, действительно, опыт работы с моделями танков уже был, но тут скорее ситуация в другом. Все-таки когда мы говорим «танки», то основная ассоциация в голове, по крайней мере у подавляющего большинства выросших в Советском Союзе или на территории бывшего Союза, связана со Второй мировой. При этом родословная танков Второй мировой берет свое начало от танков Первой мировой. Поэтому говорить, что у нас в игре их нет, тоже неправильно. Например, во французском дереве первым танком идет Renault FT — это машина Первой мировой. Другое дело, что британских ромбов, которые были первыми танками, пошедшими в бой, у нас нет. Но здесь нюанс в том, что они были бы слишком сложны и неудобны для игрока: у них нет башни, их и самоходкой не назовешь, орудия не направлены вперед, а расположены с боков корпуса, управлять машинами сложно, их скорость чрезвычайно мала. Поэтому из соображений того, что такие машины не получили дальнейшего прямого развития, что логичную ветку из них не построить и что они сложны для управления, их и не включили в дерево. Но в игре был ивент, посвященный 100-летию танков, в нем эти машины действовали под управлением искусственного интеллекта.
А более поздние танки не стали включать из-за того, что произошел серьезный качественный скачок и в целом изменение систем танкового боя, как его понимали в игре. Противостояние брони и снаряда в 1930–1940-е годы находилось в более-менее одинаковых условиях. А то, что произошло во второй половине 1960-х — 1970-е годы, с массовым распространением кумулятивных снарядов, появлением комбинированной брони, а затем активной защиты и т. д., привело к тому, что сама система боя и параметры танка принципиально изменились, и это была бы совершенно другая игра. Мы подумали, что это плохая идея — совмещать все в одной игре, и решили, что она будет охватывать период от зарождения танков (конец Первой мировой) до 1950 года, когда были созданы машины под впечатлением опыта боев Второй мировой, пока еще не произошел качественный скачок.
Чуть позже, по мере роста количества наций и веток, возникла необходимость несколько сдвинуть временной интервал — просто в силу того, что у ряда стран не было машин для высоких уровней, чтобы завершить их деревья развития. Скажем, Германия, Италия, Франция и Япония после войны танки либо вообще не строили, либо это были настолько сырые проекты, что их успели реализовать только в 1950–1960 годы. По этой причине пришлось сдвигать временные рамки, и сейчас в игре появились машины чуть ли не 1970-х годов. Но мы пока стараемся брать танки, которые более-менее укладываются в параметры, принятые нами в самом начале. К ним относятся: отсутствие безоткатных и гладкоствольных орудий, динамической защиты, комбинированной защиты, лазерных дальномеров и тому подобного. Это необходимо, чтобы сбалансировать танки разных стран, пусть и разных лет, но оказавшихся на одном поле боя, чтобы никто не получал чрезмерного преимущества. Сложности бывают и сейчас, когда какой-нибудь танк VIII уровня попадает к «десяткам». Но если бы это были еще и, скажем, танк второй половины 1970–1980-х против, условно, танка 1940-х, то там бы вообще соотношение сторон было ужасающим. То есть проще сделать новую игру, чем пытаться впихнуть в нее танки, принципиально отличающиеся по своим параметрам.
Почему на тот момент идея сделать танковую ММО показалась неоднозначной издателям и СМИ? Как бы могла сложиться судьба игры, если бы издатель все же нашелся?
Наверное, потому что это было что-то принципиально новое, с таким раньше никто не сталкивался, и никто такого не делал. На одной из выставок прозвучала эта легендарная фраза: «Никто не будет ассоциировать себя с танком» — потом она стала мемом, вспоминали с улыбкой, как нас убеждали в провальности проекта и что в это никто не будет играть. Скепсиса у окружающих хватало. Тут нужно отдать должное Виктору Кислому: он поверил в идею, рискнул. И, как показала жизнь, выиграл.
Впервые World of Tanks закрыто показали прессе и жюри на КРИ-2009, там же и получили приз от прессы и титул лучшего разработчика — за Order of War в первую очередь. Первый миллион регистраций в игре появился в течение первых пяти месяцев, причем без всякой рекламы, на органике и word of mouth, а ровно через год в World of Tanks было уже 5 миллионов регистраций.
Пресса, кстати, уже потом в целом хвалила игру, когда она вышла, но это было позже.
Практика показывает, что требования издателя зачастую могут исказить задумки гейм-дизайнеров, и не всегда в долгосрочной перспективе это идет на пользу игре. Но бывают и успешные проекты. История не знает сослагательного наклонения. Желательно, чтобы взаимодействие между паблишером и системой разработки, гейм-дизайна существовало. Но когда издатель — это какая-то внешняя структура, с которой сложно взаимодействовать, общаться и объяснять, что этого лучше не делать, когда нет взаимодействия, тогда и результат может получиться отрицательным. Это в дальнейшем скажется и на продолжительности жизни проекта, и на его успешности.
Wargaming удалось поработать со Square Enix. Получила ли компания какой-нибудь полезный опыт? В том числе такой, который мог бы в дальнейшем помочь в самостоятельной работе в качестве издателя.
Лично я не занимался этим партнерством, но могу сказать, что благодаря Square Enix мы с Order of War впервые показались на большой сцене Gamescom. Через 2 года повторили этот успех самостоятельно, уже с World of Tanks. Безусловно, это дало нам новые знакомства среди партнеров и прессы, позволило подняться в рейтинге разработчиков. Square Enix не повлияли на то, как мы делаем игры, благодаря сотрудничеству с ними мы узнали больше об издательстве игр.
Одна из особенной WoT — скрупулезный подход к истории, особенно в части проработки техники. Что было самым сложным в проработке веток? Какие ветки или отдельные танки дались особенно тяжело, какие сложности возникали при сборе материала и воплощении реальных машин в виртуальном пространстве?
Сложным в проработке веток было то, что в самом начале еще не по всем нациям и образцам техники хватало информации. В процессе мы продолжали работать с архивами, закупали отечественную и зарубежную литературу, работали с материалами, которые только появлялись в Сети, искали обрывочные данные о каких-то образцах. Потом, уже зная, что был такой проект, начинали копать, углубленно искать по разным архивам подробности о нем. Так было и по французским танкам, и по американским, и по советским, и по британским. Тяжело шла работа по итальянским машинам. Не все там получилось так, как хотелось. Сложности были связаны с тем, что часть информации не сохранилась, часть еще не была опубликована в то время, когда была нам необходима. Мы бы и хотели что-то поменять, но изменения в то, что уже введено в игру, всегда болезненно воспринимаются аудиторией. Так что в плане историчности одной из серьезных проблем был недостаток информации либо ее позднее появление.
Сложности были в том, что некоторые машины существовали в реальности, были построены в металле, но по ним можно было найти буквально 1–2 фотографии, никаких чертежей и подробностей больше не было. Нужно было проводить очень подробный анализ имеющихся фотографий, изучать биографии создателей этого образца, чтобы посмотреть, над какими машинами они работали ранее или позднее. Может быть, какие-то технические решения они могли воспроизвести в более ранних образцах либо в более поздних. Необходимо было найти родственные машины, чтобы восполнить пробелы и понять, как эта машина выглядела в целом, а не с одного ракурса, как на фотографии, причем еще и не очень четкой.
Какие интересные наработки так и не попали в игру? Самые необычные модели танков, возможно, какая-то другая техника или даже целые механики. Что из этого особенно жалко?
Из необычных сразу можно вспомнить танк, который был анонсирован еще на этапе альфа-теста. Точнее, это даже не танк, а самоходная установка — «Штурмтигр». Но она была настолько уникальной (имела самый большой калибр, который мог бы появиться в нашей игре, 380 мм), что ее было бы очень сложно сбалансировать, придумать для нее какое-то место в World of Tanks, чтобы, с одной стороны, на ней было интересно играть, а с другой — чтобы она не аннигилировала все живое.
Были интересные наработки (и, может быть, они даже частично моделировались) по танкам с системами залпового огня или с пусковыми установками для пары ракет. Такие материалы собирались, но в итоге в игру не пошли.
Еще из интересного: были в свое время, в самых первых деревьях, запланированы варианты трофейной техники. То есть танки, захваченные противником, которые в ходе ремонта были переработаны и затем снова отправлены на фронт, чтобы воевать уже против своих бывших хозяев. Такие машины изначально планировались и даже частично моделировались, но в итоге от их ввода по разным причинам отказались. Из трофейных машин в игре реализовано всего несколько французских танков в качестве немецких «премов».
Больше всего жалко, пожалуй, штурмовые самоходные установки. Если бы удалось придумать и реализовать их в виде оригинального геймплея, то это была бы новая ниша, новая ветвь развития, потому что это не совсем обычные самоходки, не совсем обычные танки или противотанковые самоходки. Это что-то оригинальное, свое, при этом реально существовавшие и воевавшие машины.
А были ли когда-то мысли сделать танковый симулятор? Типа Abrams Battle Tank и т. п.
На уровне шутки ответ на этот вопрос был дан еще на этапе прототипирования, в 2009 году. По-моему, второй ролик об игре был как раз по поводу реалистичного танкового симулятора.
Лучше не придумаешь, как более лаконично и доходчиво объяснить, что бы такое получилось, если бы делали симулятор. Это был бы очень нишевый продукт, интересный буквально считанным процентам от нынешней аудитории. Потому что если делать его достоверным, то это было бы очень сложно и очень «больно». Потребовался бы совершенно иной подход к созданию самих моделей, те же бумажные машины было бы сложно воспроизвести, так как пришлось бы тогда не только реконструировать внешний вид, но еще и внутреннюю обстановку машины. Это все усложнило бы и удлинило разработку, а реально востребовано было бы меньшим количеством игроков.
Какие самые интересные предложения фанатов в итоге воплотились в игре. А возможно, были действительно интересные случаи, когда фанаты как-то влияли на игру или развитие сообщества. К примеру, как известный случай с напильником.
Ну, случай с напильником вообще канонический. Когда игроки пробрались с толщиномером в Кубинку, чтобы замерить, насколько Wargaming занерфил ИС-7 по сравнению с реальными характеристиками. Из других примеров были случаи полезного взаимодействия, например, с европейскими игроками, которые присылали интересные материалы из французских архивов. Через общение с игроками получили контакты шведских историков и музеев, насколько я помню. Через игроков вышли на контакт с британскими историками, работающими в архивах, это помогло получить много интересной информации по британским проектам. Через игроков получили полезную информацию по немецким послевоенным легким танкам, благодаря чему удалось реализовать машины, которые есть сейчас на VII и VIII уровнях.
Наше комьюнити, наши игроки — это вообще главное наше достояние. Мы им очень благодарны за то, что они были и остаются с нами все это время.
Как решали финансовые проблемы в первые годы жизни компании и где нашли деньги на разработку World of Tanks?
Вопрос скорее не ко мне, могу коротко сказать, что до образования Wargaming ребята-студенты собирались и делали Iron Age на свои карманные деньги. В то время я с ними и познакомился. Тогда сделали полукоммерческий исторический проект по истории бронетехники: в нем был краткий список танков и бронированных машин нескольких стран времен Второй мировой, их характеристики, иллюстрации, несколько фотографий — такой англоязычный сайт, для которого Женя Кислый (брат СЕО Wargaming — прим. ред.) сделал, так скажем, свой вариант филиала «Амазона». Зарегистрировавшись там, мы разместили рекламу их книг и дисков, связанных со Второй мировой, и, переходя по ссылкам на нашем сайте, народ что-то там покупал, а мы получали небольшие деньги в виде комиссионных. Это позволило, например, приобрести какие-то книги, сканеры, еще что-то — начальное накопление оборудования и информации.
Сделав DBA Online, начав ее распространять, мы смогли получить какие-то деньги на дальнейшую разработку. Сделали Massive Assault, расширились еще чуть-чуть, выпустили ее дисковые версии — так появились оборотные средства, и мы смогли сделать Massive Assault Network 2. То есть игра предыдущая финансировала игру следующую. Так продолжалось достаточно длительное время.
Были игры, которые делали сами, пару игр делали по заказу — «Обитаемый остров: Послесловие» (по заказу «Акеллы» — российского издателя) и Order of War (Square Enix). Тогда за счет этих контрактов появились средства на разработку своей ММО. К концу этапа разработки «Мира танков» уже реально возникли финансовые сложности, месяцы перед релизом буквально на последние деньги дорабатывали. При этом у нас была принципиальная позиция, что мы не будем брать деньги с игроков за то, чтобы получить доступ на альфу или закрытый бета-тест, что мы не будем продавать им какие-то «ништяки» на этапе открытого бета-теста.
Однако, когда деньги совсем заканчивались, а до релиза еще было время, появилась идея сделать для игроков пакеты предзаказа: они могли приобрети игровое имущество, которое должно было им начислиться после релиза игры. Какие там были составы пакетов, то ли «голда», то ли прем-подписка, я сейчас и не вспомню. Суть в том, что пакетов была два: в одном — немецкий танк Pz.Kpfw. V/IV без буквы А (вариант с буквой А предназначался как награда для участников альфа-теста). А во втором — советский танк А-32. На деньги от предзаказов нам удалось протянуть до релиза игры и до того, как она начала приносить прибыль.
Можно ли сегодня повторить успех Wargaming или рынок слишком изменился?
То, что рынок изменился, не значит, что нельзя повторить успех. Просто нужно не только найти уникальную нишу, сейчас необходимо искать новые решения, новые площадки. Я бы не сказал, что повторить невозможно, но и нельзя сказать, что это будет легко. В нашем случае сложилось много важных факторов. У нас уже была сплоченная профессиональная команда, которая на протяжении 10 лет формировалась, притиралась. Ребята были, с одной стороны, очень опытные, а с другой — по-хорошему голодные до успеха, до интересных проектов и реально горели этим, общались неформально, не было жесткого разделения работы, шло взаимодействие, все были заинтересованы в конечном результате. При этом команда была относительно небольшой, все друг друга знали.
На это наложился всплеск распространения интернета в стране, рост числа компьютеров, плюс относительная стабилизация экономической ситуации в стране: у людей появилось свободное время и свободные деньги. Был спрос на информацию, связанную с военной историей, и при этом в данной нише отсутствовало предложение. Вот так сочетание целого ряда факторов сыграло нам на руку.
Сказать, что успех невозможно воспроизвести, я не могу. Сказать, что это легко сделать или что есть рецепт стопроцентного попадания в такую же успешную нишу, тоже нельзя. Тут есть еще определенная доля везения, упорства и интереса к окружающему миру. Идея сделать игру именно такой появилась благодаря тому, что мы не были зациклены на уже существующих играх, а смотрели, чем интересуются люди, сопоставляли их интересы с тем, что есть в игровой сфере. И мы увидели, что есть спрос, но нет предложения.
Какие проекты могут заинтересовать Wargaming как издателя? Реально ли инди-студии попасть в семью Wargaming?