Дневники разработчиков

Удары по воротам и новое ядро игры

Джо Бут (ведущий продюсер)
Сегодня автор записи в нашем дневнике - дизайнер и инженер программного обеспечения Гари Пэтерсон. Когда Гари Пэтерсон не празднует в Абердине победу Шотландии в Кубке мира по футболу (я имею в виду Кубок мира по футболу для бездомных), не злорадствует, говоря об очередной неудаче Лидс Юнайтед, и не рассказывает в мельчайших подробностях, как команда Шотландии победила команду Англии, он занят усовершенствованием ударов по воротам и доработкой ядра нашей игры. Теперь поговорим серьезно. Гари расскажет вам о новой механике нанесения ударов по воротам, а также о некоторых изменениях, которые коснулись ядра игры. Что меня действительно радует - новая система ударов по воротам добавила в игру ощущение непредсказуемости. Теперь все удары по мячу уникальны: когда вы бьете по воротам, невозможно быть до конца уверенным, полетит ли мяч гораздо ниже перекладины или над ней, отправится в угол или по центру. Это привносит в игру некую драматичность, присущую реальному футболу. Раньше в футбольных играх удары были совершенно предсказуемыми, поэтому мне кажется, что новая модель ядра для FIFA 08 создает так необходимую нам атмосферу неожиданности.
Также в новой системе ударов мне нравится, что движения игроков – это точное отражение ваших действий. Учитывается множество различных условий и факторов: так, например, если ваш игрок потерял равновесие, он все еще может нанести удар по мячу, однако сразу же после этого он споткнется – тем самым, вы получите наглядное подтверждение того, что игрок не очень удачно обработал мяч. Теперь в игре все закономерно, и вы не будете больше недоумевать, почему вдруг мяч полетел не в том направлении. Сейчас Гари расскажет вам обо всем поподробнее.

Гари Пэтерсон (инженер программного обеспечения)
Спасибо тебе, Джо, за такое «теплое» вступление. Да, победа в Кубке мира по футболу стоила того, чтобы ее отметить, улицы Глазго той ночью были переполнены. Не расстраивайся по поводу выступления английской команды. Я слышал, что в следующем году у вас будут играть несколько игроков из Лидс Юнайтед, которые скоро станут бездомными, так как им уже 2 месяца не платят зарплату.

Удары по воротам

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

Факторы, которые необходимо учитывать

Перед тем, как нанести удар, необходимо учесть следующие факторы:

Скорость мяча

Чем больше скорость мяча при ударе, тем меньше его точность. Перед ударом следует определить, нуждается ли мяч в обработке. Помните: игроки, хорошо бьющие с лета, имеют больше шансов точно пробить по «неудобному» мячу.

Высота мяча при ударе

Удары с лета выглядят очень эффектно, однако нанести такой удар не так-то просто. «Свечи» еще сложнее, и редко когда получаются удачно. Если вам кажется, что вы не сможете успешно пробить по мячу головой, попробуйте принять его на грудь для последующей обработки.

Подскакивание мяча

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

Сила удара

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

Скорость игрока

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

Прессинг

Чем активнее действуют защитники соперника, тем сложнее сохранить спокойствие и не совершить ошибки. Это особенно верно, если игроки соперника начинают играть грубо. Только физически крепкие футболисты могут выдержать подобный натиск.

Равновесие

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

Правша и левша

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

Ваш игрок

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

Мы также изменили всю анимацию игроков в момент нанесения удара. Мы хотели добиться того, чтобы по динамике движений игрока было уже видно, хорош удар или нет. С этой целью мы создали больше движений в момент удара. Может показаться, что это отрицательно скажется на управлении, так как скорость отклика устройств управления заметно уменьшается, однако это не наш случай. Если вы когда-либо смотрели игру Ливерпуля и видели, как Стивен Джеррард получает мяч на достаточно близком расстоянии от ворот, метрах в 20-ти, вы, наверное, обращали внимание на то, что толпа в этот момент замирает, потому что все знают – до ворот недалеко, и у Джеррарда есть время и возможность нанести по-настоящему хороший удар. Подобный эффект мы попытались создать и в FIFA 08. Принцип нынешней игры состоит в том, чтобы получить мяч в такой позиции, где бы у вас было время и возможность нанести точный удар по воротам.

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

Определяя, какой удар точен, а какой нет, мы не ограничились строгой системой. В реальной жизни вы, наверняка, видели неудачные удары по воротам, которые, тем не менее, заканчивались голами. Приведем один пример, который показывает, чего, собственно, мы хотели добиться. В матче открытия последнего Чемпионата мира по футболу, когда сборная Германии обыграла сборную Коста-Рики со счетом 4:2, четвертый мяч за сборную Германии забил Торстен Фрингс. Немцы получили право исполнить штрафной, до ворот было приблизительно 27 метров, после розыгрыша Фрингс неудачно пробил по мячу, послав его точно в то место, где стоял вратарь, но через несколько секунд траектория полета мяча изменилась, и он влетел в верхний угол ворот. Вот так, казалось бы, неудачный удар завершился голом.

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

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

Инерция

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

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

Передачи

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

Другим примером данной системы является передача на ход. Если ваш игрок бежит, то для выполнения передачи ему не придется останавливаться – мяч будет катиться перед игроком, точно так же не придется останавливаться футболисту, принимающему пас, так как мяч будет передан ему на ход. Опять же, эта система делает игру более живой, а управление более простым. Как и в FIFA 07 в игре присутствуют функции полуавтоматического паса, паса вручную и паса в разрез, что дает больше свободы пользователям в выборе манеры передач.

Физика мяча

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

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

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

Игра вратарем

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

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

Столкновения

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

Распределение игроков на поле

Нам пришла куча писем, в которых говорилось, что игроки выбирают невыгодные позиции на поле, поэтому мы потратили очень много времени, улучшая эту систему. Мы также усовершенствовали IQ игроков, с тем, чтобы они более адекватно реагировали на опасные ситуации, возникающие при атаке со стороны противника. Мы назвали эту систему Threat Map (Карта угрозы). Нашей целью при усовершенствовании ядра игры было использовать все возможности консоли Xbox 360, поэтому теперь каждый игрок видит футбольное поле через новую систему «Карта угрозы», анализируя и прогнозируя свыше 1000 действий в секунду. Теперь, помимо опеки игрока противника или контроля своей зоны, они будут действовать по всему полю, прессингуя нападающих и борясь за мяч.

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

Каждый футболист будет действовать по схеме «это зона, которую я контролирую» и, исходя из данных карты угрозы, принимать соответствующее решение – делать ли забегание, отход назад или же оставаться на месте. Особое внимание мы уделили поведению защитников. Так если четыре защитника побегут в зону, из которой может исходить угроза для ворот, то другие защитники будут учитывать эту ситуацию при выборе своих позиций.

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