Удар. Удар. Гол! FIFA 07
В апрельском выпуске «Игромании» мы опубликовали статью о вскрытии FIFA 07. Начиная с этого момента к нам в редакции пошел неиссякаемый поток писем с просьбами написать еще одну статью об изменении этого замечательного футбольного симулятора. Мы довольно долго готовились, выбирали наиболее интересные моменты, и вот наконец новое вскрытие игры перед вами.
Одна из слабых сторон FIFA 07 — неразвитый искусственный интеллект компьютерных игроков. Даже на самом высоком уровне сложности нападающие и защитники, находящиеся под управлением компьютера, ведут себя иногда крайне примитивно. В некоторых ситуациях с ними даже играть становится неинтересно: заранее знаешь, что вот именно сейчас они поведут себя откровенно глупо.
Даже если вы еще не доросли до уровня настоящего профи, вам есть что улучшать в искусственном интеллекте FIFA 07. Прямо сейчас мы изготовим лекарство ото всех AI-болезней.
Излишне искусственный интеллект
В предыдущем вскрытии FIFA 07 мы работали с главным архивом игры — config.dat. Сегодня нам предстоит разбираться с ним же. Однако теперь наши интересы несколько расширятся: мы распотрошим и файл ini.big , который прописался в папке < Каталог игры>\data\cmn. Подобно config.dat , он вскрывается с помощью утилиты File Master 07. Если у вас еще нет этой полезной программки, вам прямая дорога на наш DVD , где вы также найдете набор библиотек Microsoft .NET Framework 1.1 , без которых File Master просто не заработает.
Первая наша модификация поднимет AI ваших компьютерных противников до нового уровня. Для реализации этой идеи нам первым делом понадобится выдернуть из архива ini.big файлы cpudiff.ini и userdiff.ini. Оба содержат параметры, которые в зависимости от уровня сложности отражают силу одной из сторон: в первом случае — компьютера, во втором — живого игрока.
Эти два файла имеют идентичную структуру. В каждом по пять блоков. Первый раздел (именующийся в файлах, соответственно, как CPUBG и USERBG ) относится к любительскому уровню сложности (Amateur), второй ( CPUAM и USERAM ) — к полупрофессиональному (Semi-Pro), третий ( CPUPR и USERPR ) — к профессиональному (Professional), четвертый — ( CPUWC и USERWC ) — к мировому классу ( World Class ) и пятый ( CPUPF и USERPF ) — к сложности Uber (секретный уровень, который мы открыли в прошлом вскрытии игры). В каждом блоке вы найдете один и то же набор атрибутов, но с разными значениями.
Делать мод мы будем на материале четвертого уровня сложности (World Class). Соответственно, и править будем разделы CPUWC и USERWC.
Чужие
Начнем с интеллекта компьютерных игроков, то есть с файла cpudiff.ini. Прежде чем приступать к его правке, ознакомьтесь с некоторыми из атрибутов ваших виртуальных соперников:
CPU_BAD_PASS_PERCENT — процент ошибок в передачах;
CPU_SETPLAY_AGGRESSION — агрессивность команды;
CPU_SETPLAY_ACCURACY — меткость футболистов;
CPU_GOALIE_SKILL — мастерство вратаря;
CPU_BAD_TACKLE_PERCENT — процент неудачных подкатов (от общего числа);
CPU_INTERCEPT_SKILL — навык перехвата;
CPU_NORMAL_SPRINT_PERCENT — прибавка к быстроте бега игрока при совершении им ускорения. Рассчитывается в процентах от максимальной скорости без ускорения;
CPU_MIN_TIME_UPDATING_RELAY_TACTIC — время (в секундах), уходящее на тактическое перестроение команды по ходу матча;
CPU_FREQUENCY_USING_SPECIAL_DRIBBLE — частота использования футболистами дриблинга;
CPU_ACTION_ERROR_RATE — частота совершения оплошностей;
CPU_SHOT_ACTION_SKILL — развитость способности бить по воротам;
CPU_PRESS_MAX_DIST_NORMAL_TACTICS — максимальное расстояние, на котором игроки прессингуют владеющего мячом соперника при стандартной тактике;
CPU_PRESS_MAX_DIST_PRESS_TACTICS — то же самое для тактики с активным использованием прессинга;
CPU_MAX_NUM_DRIBBLER_COVERER — максимальное число игроков, накрывающих использующего дриблинг соперника;
CPU_MARK_ATTACK_MAX_NON_SPRINT_SPEED — максимальная скорость, которую развивает владеющий мячом игрок без использования ускорения (sprint);
CPU_MARK_ATTACK_MIN_DIST — минимальная дистанция между футболистом и владеющим мячом соперником (вне штрафной площади), при которой первый станет подкатываться под второго. Если дистанция меньше указанной, компьютер применяет «мягкий отбор»;
CPU_MARK_ATTACK_MIN_DIST_IN_BOX — дальность подката в штрафной площадке. В оригинале значение данного параметра несколько выше предыдущего, поскольку в штрафной, как известно, есть риск схлопотать пенальти в свои ворота. И только в экстренном случае, когда защитник по-другому достать оппонента уже не может, первый использует подкат. Если хотите, чтобы компьютер перестал подобным образом осторожничать, придайте этому показателю то же значение, что и у CPU_MARK_ATTACK_MIN_DIST.
Работая со всеми этими параметрами, можно легко изменить поведение компьютера и подобрать себе равного противника (какие значения ставить местным параметрам, решайте исходя из уровня собственного мастерства), с которым вам будет действительно интересно соперничать. Для этого отрегулируйте должным образом эти настройки в пределах того раздела, который соответствует сложности, на которой вы играете.
Дабы добавить осмысленности и разумности действиям вашего виртуального оппонента (а соответственно, и усложнить игру по сравнению с уровнем World Class), проделаем в блоке CPUWC следующие операции. Первым делом придадим действиям компьютера большую агрессивность, присвоив атрибуту CPU_SETPLAY_AGGRESSION значение в интервале 80-95. Далее сделаем чуть более классным вратаря противника, поставив характеристике CPU_GOALIE_SKILL число в промежутке 95-100. Не забудем и о показателе CPU_INTERCEPT_SKILL , значение которого стоит довести до 3.
Дабы слегка повысить скоростные качества компьютерного соперника, придадим характеристикам CPU_NORMAL_SPRINT_PERCENT и CPU_MARK_ATTACK_MAX_NON_SPRINT_SPEED значения соответственно 60 (или другое число в интервале от 55 до 65 ) и 12. Чтобы ваши виртуальные оппоненты палили по вашим же воротам, как из пушки, атрибуту CPU_SHOT_ACTION_SKILL задайте значение в промежутке 95 - 100.
Теперь сделаем более мощным прессинг со стороны компьютера, определив параметрам CPU_PRESS_MAX_DIST_NORMAL_TACTICS и CPU_PRESS_MAX_DIST_PRESS_TACTICS значение в интервале 15-22 в первом случае и 22-27 во втором. Играть при таком давлении будет ой как непросто. Без быстрой перепасовки просто не обойтись.
Если вам и всего этого недостаточно, предлагаем свести к минимуму ошибки в действиях компьютера. Для этого показателям CPU_BAD_PASS_PERCENT , CPU_BAD_TACKLE_PERCENT , CPU_ACTION_ERROR_RATE пропишем значения 1 , 3 и 1. Вот с таким компьютером сможет справиться только настоящий мастер!
Кроме того, если вы хотите, чтобы соперник вел себя на поле в высшей степени агрессивно, выставите параметрам CPU_SETPLAY_AGGRESSION , CPU_PRESS_MAX_DIST_NORMAL_TACTICS , CPU_PRESS_MAX_DIST_PRESS_TACTICS и CPU_MAX_NUM_DRIBBLER_COVERER соответственно значения 100 , 25 , 30 и 3. Последние три изменения не столько усложнят игру по сравнению с оригинальным World Class, сколько изменят манеру поведения компьютера.
Свои
Настало время обратиться к другому файлу из архива ini.big — userdiff.ini. В каждом из пяти блоков, соответствующих различных уровням сложности, вы найдете всего по три показателя, влияющих на действия футболистов под руководством игрока:
HUMAN_GOALIE_SKILL — мастерство вратаря;
HUMAN_TACKLE_DIST — дальность подката;
HUMAN_INTERCEPT_SKILL — навык перехвата.
Если в результате всех предыдущих преобразований игра стала для вас слишком сложной, попробуйте поднять уровень своих футболистов. Все-таки для игры против грозного соперника нужны достойные силы. Первой характеристике из раздела USERWC присваиваем значение 100 , второй — 110 и третьей — 3. В результате ваши футболисты станут куда более ловкими и умелыми.
Теперь вы можете опробовать все нововведения. Не забудьте выставить уровень сложности на отметку World Class. Отныне вам противостоит опаснейший противник: быстрый, агрессивный, меткий, практически без слабых мест. Дерзайте!
Вратарь — полкоманды
Второй сегодняшний мод заметно повысит уровень вратарей. Для этого нам потребуется немного повозиться с файлом ai.ini из архива config.dat. Напомню, что в прошлом вскрытии игры мы уже повысили мастерство голкиперов, задав характеристике ABSOLUTELY_PERFECT_GOALIES значение 1. Но этого для некоторых оказалось недостаточно. Стражи ворот по-прежнему грешат несвоевременными выходами, запоздалыми прыжками и прочими оплошностями. Подобных ошибок будет меньше, если в файлах cpudiff.ini и userdiff.ini показателям HUMAN_GOALIE_SKILL и CPU_GOALIE_SKILL (в блоке, соответствующем уровню сложности, на котором вы играете, либо сразу во всех разделах файла) придать значение 100.
В принципе, можно ограничиться этими преобразованиями. Уровень вратарей теперь вполне приличный. Но отдельные элементы их игры все еще нуждаются в небольшой корректировке. Так, желательно развить у голкиперов умение четко просчитывать полет мяча (оно очень пригождается в парировании дальних ударов). В этом нам поможет регулировка настроек MAX_BALL_PREDICT_TIME и BALL_PREDICT_RANGE , которым следует придать значения в интервале от 50 до 60 (чем они будут выше, тем сильнее будет вратарь).
Неплохо бы также обучить стражей ворот подальше сбрасывать мяч рукой в поле, приписав характеристике MAX_CONSERVATIVE_THROW число в промежутке 70-80.
Только после всех этих операций высказывание о том, что вратарь — это полкоманды, обретает истинный смысл. Суперсейвы в исполнении здешних голкиперов перестанут быть чем-то из ряда вон выходящим. Головокружительных прыжков и эффектных полетов за мячом станет значительно больше.
Кроме того, хоккейные счета, как и в реальном футболе, при средней длине таймов (4, 6 минут) станут огромной редкостью. Однако если вы думаете, что поразить ворота соперника теперь невозможно, то вы ошибаетесь. Просто для этого придется здорово попотеть и проявить хотя бы чуточку изобретательности. А вот случайные мячи залетать в ворота практически перестанут.
Зрительские овации
Итак, мы усовершенствовали поведение компьютерного игрока и вратарей. А как вам идея проделать подобный фокус с болельщиками? Футбол ведь, как известно, для них и существует. Повысить зрительскую активность нам поможет файл common.ini (его вы найдете в архиве config.dat ), а точнее — находящийся в нем параметр BASE_EXCITEMENT. Область значений — от 0 до 1. Чем больше это число, тем активнее ведут себя люди на трибунах. В оригинале здесь стоит ноль — поэтому-то болельщики и почти не подают голос. Поставьте сюда единицу, и они будут весь матч кричать как заведенные, поддерживая свои любимые команды. Играть при такой поддержке стадиона куда приятнее.
К слову, нынешняя активность зрителей вполне объяснима. Команды-то теперь демонстрируют значительно более качественную и зрелищную игру. Во всяком случае, это касается компьютерных игроков и вратарей — и те, и другие здорово прибавили после всех сегодняшних преобразований), заводя своими действиями публику. Словом, налицо все признаки отменного футбольного действа.