Игорь Ржевкин
Работает в индустрии c 1996 года. Участвовал в разработке всех игр серии «Противостояние»/Sudden Strike. С 2005 года и до завершения руководил разработкой проекта Sudden Strike 3 (Arms for Victory). С 2008 года занимается браузерными и социальными играми.
Откуда что берется
Sudden Strike — успешно издававшаяся серия игр жанра RTS. Основные отличия от других игр жанра — практически полное отстутствие стадии строительства, подробная модель боя.
Данная статья носит познавательно-развлекательный характер, при этом содержит большое количество технических подробностей. К сожалению, в одной статье не рассказать о серии Sudden Strike подробно — игры делал большой коллектив на протяжении многих лет. Я расскажу коротко о нескольких аспектах геймдизайна серии — игровой модели юнита, AI, балансе. В этом тексте практически ничего не сказано о дизайне карт и миссий, но надо иметь в виду, что успех серии от них зависит никак не меньше, чем от баланса или достоверности ТТХ.
Модель
В детстве, у вас, возможно, были игрушечные машинки и солдатики. Всегда ценились машинки и солдатики, которые, во-первых, круто выглядели, во-вторых, в какой-то степени имитировали реальный прототип — имели подробный интерьер, открывающиеся двери и капот (у машинок), подвижные части тела и съемное оружие (у солдатиков). Игровая модель в этом смысле имеет много общего с обычной игрушкой: чем больше юнит в игре напоминает реальный прототип, тем больше шансов, что это «зацепит» игрока. Я сейчас говорю не о видимой модели, той что бывает «хай поли» и «лоу поли», модели военной техники — предмет отдельной статьи.
Под игровой моделью я понимаю параметры юнита в игровом мире: скорость движения, габариты, огневую мощь, броню, живучесть и законы, по которым рассчитываются изменения этих параметров.
Реалистичная модель поведения подразумевает большее число настроек. В простейшем случае мы имеем скорость движения, скорость поворота, габариты (для поиска пути и расчета попаданий), мощность выстрела, живучесть, защиту. С этим набором вполне можно играть (вспомните такой хит как WC2), но для хардкорной игры про Вторую Мировую — маловато, так как даже у солдат обычно имеется хотя бы 2 вида оружия (например, гранаты и винтовка). У танков и три орудия — не редкость.
Усложнение модели автоматически приводит к уменьшению масштабов карты и количества войск. Во-первых, это связано с тем, что игрок не может держать в голове картину происходящего, если параметров, за которыми надо следить, слишком много (представьте себе управление в игре батальоном полком при игровой модели Close Combat). Во-вторых, ресурсы компьютера все еще не безграничны, и чтобы посчитать сложный игровой мир, придется жертвовать количеством юнитов.
В первом случае могло бы помочь управление вида «командир – подчиненные», иначе говоря, организация в отряды. К сожалению, в RTS, где этот принцип был бы грамотно применен, я пока не играл. Такая полумера как группирование бойцов в «неразъемные» отряды по трое (по сути, упаковка 3-4 солдат в один юнит), по моему мнению, убивает атмосферу (хотя мы видим ЭТО с завидной регулярностью со времен Dune II). Спасает появившееся в первых RTS «изобретение» — произвольную группу можно запомнить под номером от 1 до 9.
Вторая проблема, помимо тщательной оптимизации, решается при помощи правильного дизайна миссии. Например, чтобы вызвать у игрока ощущение участия в масштабной битве, не обязательно сталкивать на карте по тысяче юнитов с каждой стороны. Две волны по пятьсот решат задачу не хуже.
Еще одно замечание: усложняя модель, приходится заботиться о ее видимом представлении — выносить информацию в UI и разъяснять игроку, как этот новый параметр работает. В одной из игр серии после настойчивых просьб игроков добавили топливо и мораль: элемент GUI, показывавший разные статы юнитов в виде полосок, превратился в салат «селедка под шубой» в профиль.
Баланс
Основные инструменты балансировки — тестирование миссии человеком и игра по сети. Однако Sudden Strike претендует на роль игры, которая реконструирует настоящий бой (по крайней мере некоторые тактические его аспекты), поэтому скажу подробнее о том, как получены основные параметры.
В отличие от игр с фентезийным или футуристическим сеттингом в Sudden Strike у каждого юнита существует его реальный прототип. В первой игре серии воплощение прототипа ограничивалось, в основном, похожей картинкой, вручную подобранными скоростями и силой выстрела (как правило, она зависела от калибра и веса боевой части). На момент создания игры Sudden Strike 2 у нас уже был специальный инструментарий и база данных с прототипами. Для прототипов хранились такие параметры как вес, скорость, схема бронирования, вооружение. На каждую единицу вооружения хранились калибр, длина ствола, начальная скорость снаряда, вес боевой части, скорострельность. При балансировке эти параметры пересчитывались в игровые — «здоровье», броню, скорость движения и поворота, сила выстрела, темп ведения огня и т.д.
Что вообще нового в этом подходе: мы не настраиваем отдельный юнит, подгоняя его под свои представления о прототипе — это можно сделать при небольшом количестве юнитов и несложной модели. Вместо этого мы настраиваем только скрипт, который транслирует ТТХ прототипа в игровые параметры. Выигрыш в том, что добавляя новый юнит, мы можем быть уверены, что он не «выпадает» из баланса. Представьте себе, что испытал бы геймдизайнер, исправляя, скажем, неправильно рассчитанную скорость движения в четырех сотнях юнитов. Еще этот подход позволяет автоматически назначить новому юниту звуковые схемы и подобрать системы частиц для выстрелов и взрывов. Любопытно, что после внедрения такого способа балансировки на форумах моддеров начались разговоры, что «баланс игры стал похож на один известный мод», над которым работало большое количество фанов. Это подтвердило, что мы на правильном пути. При помощи системного подхода мы добились того же результата, что и полсотни моддеров — вручную. Конечно, никакая автоматизация не освобождает от многократной обкатки любых изменений баланса. И еще — в играх самое главное все-таки фан, поэтому иногда приходится искать компромиссы между реалистичностью и аркадностью.
Как правило, в RTS два, редко больше, вида наносимых снарядом повреждений: splash damage и direct hit. Первый наносит повреждения в некотором радиусе, притом величина повреждений обратно пропорциональна расстоянию до эпицентра. Второй тип наносит ущерб «здоровью» юнита напрямую. Оба способа учитывают броню юнита. Но в реальной жизни существуют подкалиберные снаряды, мины осколочного и фугасного действия, кумулятивные заряды, огнемет и т.п. Все это пришлось моделировать, так как игра претендует на реалистичность (это одна из USP). Конечно, без допущений не обошлось: если придавать танку исторически достоверный боекомплект (скажем, 10 бронебойных плюс 20 осколочно-фугасных снарядов), это потянет за собой разработку соответствующего интерфейса. И к тому же, что делать, если при обстреле танка противника кончатся бронебойные снаряды — стрелять фугасными? Не стрелять вообще? Поэтому, приняли такую схему: считается, что по танку мы стреляем всегда бронебойным снарядом (противотанковые САУ — подкалиберным, при наличии у прототипа этого типа снаряда), а по пехоте и небронированным целям — осколочно-фугасным. Если у юнита есть пулемет, он стреляет в первую очередь по пехоте и небронированным целям.
Начиная с Sudden Strike 2, в серии имитируется пробитие брони. Дело в том, что при недостаточной энергии снаряд может не пробить броню, а отскочить от нее. В классической RTS слабый юнит может завалить сколь угодно сильный, стреляя по нему достаточно долго. К примеру, чтобы уничтожить средним танком тяжелый, надо стрелять в борт или корму — лобовая броня либо не будет пробиваться, либо запас живучести снизится незначительно. У техники есть понятие экипажа и пассажиров — некоторые виды снарядов не наносят значительных повреждений машине, но вредят экипажу (например, кумулятивные снаряды при стрельбе по бронированным целям, пулемет — по легкобронированным). Эта же схема работает и с пехотой, укрывающейся в домах — миномет быстро развалит деревянный домик, а бетонный ДОТ служит вполне надежным укрытием, если у врага нет огнеметов или крупнокалиберной артиллерии. Огнемет уничтожит расчет ДОТа, но само укрытие почти не пострадает.
Снаряды и взрывы в SS3, как и в жизни — энергия метаемого снаряда убывает с расстоянием, то есть его пробивающая способность снижается. Правда, происходит это гораздо быстрее, так как все дистанции стрельбы тоже уменьшены для играбельности.
[size=20]AI
[color=yellow]В Sudden Strike игрок испытывает организованное сопротивление компьютерного игрока благодаря совместной работе дизайнеров карт и microAI. Компьютерный игрок, управляющий всеми войсками врага, отсутствует в принципе, microAI управляет строго одним юнитом. Настройкой microAI управляет дизайнер карты, задавая желаемое поведение. MicroAI «умеет» прятать бойцов в домах, устраивать засады (не открывать огня первым), позволяет оперировать понятием «группа» (в группе осталось менее 30% танков от первоначального значения — отступаем в заданное место). Атмосфера игры создается во многом при помощи microAI — именно он генерирует события, на которые завязана озвучка. По моему мнению, microAI — одна из самых сложных и интересных вещей в игре.
К примеру, вот одна из задач microAI — выбор цели. Нужно учесть следующие факторы:
1) Принципиальная возможность атаковать цель: a) расстояние до цели; b) мертвая зона; c) свободна линия огня или нет; d) наличие снарядов для оружия, которое может нанести повреждения цели; e) возможность навести орудие на цель (у самоходки, например, может быть заклинена гусеница); в зависимости от типа юнита, могут быть дополнительные условия.
2)Поиск наиболее выгодной цели по следующим критериям: наибольший шанс нанести повреждения, наименьшее время атаки (может потребоваться поворот орудийной башни), наличие живой силы в бронетранспортере, наименьшее количество «здоровья».
3)Выбор орудия для стрельбы: например, есть курсовой пулемет (на корпусе танка) и два на башне. Нужно решить, что выгоднее — довернуть башню на пол-оборота, или корпус на четверть?
В Sudden Strike 3 мы вынесли дополнительное управление microAI в интерфейс: у бойцов есть осторожное поведение, обычное и агрессивное. При осторожном поведении бойцы стремятся залечь и передвигаться ползком. При атаке с агрессивным поведением наоборот будут игнорировать ранения, стремясь быстрее добежать до указанной точки. Боец ведет себя по-разному в зависимости от того, окружен ли он врагами или товарищами, есть ли численное превосходство и т.п.
Разное
Хочу сказать пару слов о самолетах и кораблях. Эти типы юнитов вызывают проблемы вследствие своих габаритов (корабли), либо масштаба скоростей, на порядок отличающихся от скоростей других юнитов (самолеты). Тем не менее, в Sudden Strike 3 мы добились того, что масштаб моделей выдержан досконально (для сравнения — например, в первой игре Sudden Strike солдатики были ростом 2,5 м, чтобы их вообще можно было разглядеть). Правда, самолетам в SS3 приходилось влетать в камеру на предельно низкой высоте, чтобы их вообще можно было увидеть. Зато серия Sudden Strike — первая RTS, где реализованы взлет и посадка самолетов.
В SS3, где корабли — это КОРАБЛИ (например, двухсотдвадцатиметровый USS North Carolina), для более-менее правдоподобного их движения программистам пришлось проделать огромную работу. И они достойно прошли это испытание: патфайндинг и движение работают весьма грамотно, несмотря на усложнившуюся физическую модель (в трехмерной версии игры при движении учитывается ускорение, угловая скорость, радиус разворота, тип поверхности).
Игру неоднократно упрекали за перевес в соотношениии сил — в пользу СССР, сил Оси (в основном, конечно, Германии), союзников. Эти стороны в игре представлены наиболее полно, потому что по этим сторонам больше всего информации. Трудности возникали, например, при создании миссии, где русские воюют с японцами — русских или немецких тяжелых танков можно с ходу назвать несколько, а вот японский вы можете вспомнить? Или итальянский? Поэтому приходилось японцам, итальянцам и французам либо одалживать у своих союзников технику, либо использовать трофейную. Кстати, именно захват трофейной техники добавляет азарта игре (этим приемом пользуется и microAI).
Кстати, полезное об именах: вы не можете использовать в игре в качестве названий юнитов зарегистрированные торговые марки. Зато вы можете использовать общепринятые армейские названия и индексы (M1, PzKpfw. IV и т. п.) — за своевременную подсказку спасибо Ю. Пашолоку.
В заключение, перечислю некоторые цифры и факты:
Самый большой юнит в игре — японский линейный корабль Yamato (еле влезает в игровую камеру).
Самая большая пушка — 240mm Theodor Bruno.
В играх серии реализованы десантные суда (которые могут перевозить пехоту и технику), понтоны, железнодорожный транспорт, окопы, «выкопанные» в поверхности.
Уникальных моделей домов в Sudden Strike 3 — 120. Каждая модель полностью разрушаема и состоит из 4-12 частей.
Уникальных моделей юнитов в SS3 — более 450 (вместе с пехотой).
Художник на спор способен прокусить коробку толщиной до 5 мм (гофрированный картон) из-под монитора с диагональю 19". Несколько раз.
В игре есть юниты, сделанные по проектам не воевавших прототипов — например, Maus, мало воевавших: Me-163 Komet, Т-35, M26. В серии есть «Фау-II» (V2).
«Википедия» с недавних пор относит игру Sudden Strike к жанру RTT.
Каждая из сторон, учавствующих в игре, имеет озвучку на родном языке.
Единственный род войск, отсутствующий в игре — кавалерия.