Ледовая арена. Доработка NHL 08
В последнее время EA Sports в своих спортивных играх все чаще стремится навязать PC-игрокам приставочные стандарты. Особенно это заметно в хоккейной серии NHL. Результат весьма печален — неполное и нерациональное использование возможностей компьютера. Начиная с NHL 2005 владельцам персоналок пришлось распрощаться с управлением мышью, одновременно отошло в мир иной и перетаскивание объектов по системе drag’n’drop. А выставлять составы команд с помощью клавиатуры — настоящая каторга.
Ну а в NHL 08 все стало совсем уж грустно. Исчезли сохранения повторов сыгранной ситуации, напрочь забыта возможность мультиплеерной командной игры, канула в Лету отмена взятия ворот при неправильно забитых голах, возможность переназначения кнопок клавиатуры имеет функциональные ограничения, о достоверности регламента чемпионата мира вообще говорить не приходится…
Но все же, вопреки недостаткам, из NHL 08 получился увлекательный спортивный симулятор. Ну а недоработки и ошибки… что ж, некоторые из них мы с вами сегодня поправим.
Теоретические изыскания
За пятнадцатилетнюю историю серии NHL сложилась вполне определенная и достаточно понятная структура построения файлов игры. Для начинающих модификаторов немного расскажем о структуре NHL-овских файлов.
Все графические, звуковые файлы, файлы настроек и баз данных NHL 08 упаковываются в архивы с расширениями *.big и *.viv. Когда-то они отличались друг от друга, но с годами различия нивелировались и теперь разница состоит лишь в том, что у формата *.viv чуть больший приоритет, то есть иногда несколько архивов *.big упаковывают в архивы *.viv (получается архив с двойным вложением).
Просматривать, извлекать и упаковывать содержимое данных архивов нам поможет специальная утилита BigGUI v0.4r1 (есть версии BigGUI и поновее, но для NHL 08 мы рекомендуем именно v0.4r1 ). Существует также консольная утилита ImpBig , — поскольку она не имеет графического интерфейса, рассматривать ее мы не будем. Но имейте в виду, это неплохая альтернатива BigGUI.
Открыв при помощи BigGUI любой файл *.big или *.viv, вы увидите перечень файлов архива. Можно импортировать и экспортировать любой из них, доступны опции компрессии/декомпрессии.
EA старается соблюдать свои стандарты, но все же иногда вносит в них изменения. Например, в NHL 08 (как, впрочем, и в NHL 07 ), видимо, для ускорения процесса загрузки архивов *.viv, имеются файлы заголовков *.bh , без перестроения которых не может обойтись ни одна модификация. Для их автоматического перестроения нам пригодится специальная консольная утилита BHimport.
Форматы используемых в игре файлов весьма разнообразны. Вот основные из них: графические имеют расширение *.fsh , звуковые — *.asf , *.ast , *.abk , файлы баз данных — *.tdb. Также в игре существуют множество файлов с другими форматами ( *.bin , *.ebo , *.mgd и ряд других). Теорию мы изучили, переходим к практике.
Пернатая камера
Представьте себе ситуацию на ледовой площадке: Овечкин прорывается по левому борту, не глядя делает прострельную передачу в центр, но партнера на месте не оказывается — и следует контрвыпад. Камеры в NHL 08 показывают либо ограниченную зону площадки (не видно партнеров), либо настолько отдалены, что с трудом можно различить шайбу и разглядеть, какой же угол прикрывает вратарь соперника. А для успеха в игре необходимо хорошо представлять положение игроков и видеть ситуацию на хоккейной площадке.
Что ж, попытаемся исправить ситуацию, займемся редактированием камер. Есть в игре камера под названием Classic , ее главный недостаток это, скажем так, ограниченность — если игрок с шайбой находится в углу площадки, то невозможно рассмотреть всех партнеров по команде: въезжают ли они в зону или уехали на смену, закрывают ли синюю линию или рванули на пятачок. Возьмем эту камеру за основу и внесем в нее несколько изменений.
Нам понадобятся следующие инструменты: NHL08 Camera Changer , BigGUI и BHimport. Запускаем игру, в настройках выбираем тип камеры (в нашем конкретном случае — Classic), опцию AutoZoom лучше временно отключить. Обратите внимание, настройки камер для различных типов арен различаются. Поэтому выбираем тип арены и переходим в режим матча.
Итак, команды стоят на вбрасывании, судья нервно теребит в руках шайбу, а мы спокойно сворачиваем игру (клавиши ALT+Tab или клавиша WIN ) и запускаем NHL08 Camera Changer. В главном окне программы на панели Select Camera выбираем тип камеры (Classic), а на панели Param to Change — изменяемый параметр камеры, для начала выберем Distance (дистанция). Не забываем выбрать и тип арены, соответствующий нашему матчу (поставим флажок International Rink Type — если мы играем на площадке международного стандарта).
Необходимый минимум настроек произведен, нажимаем кнопку In Game и попадаем в игру. Матч начался, хоккеисты рьяно забегали, судья высматривает нарушителей, а мы нажимаем клавиши « + » и « - » на цифровой части клавиатуры (это рядом с кнопочкой Num Lock ). В результате наших манипуляций происходит приближение или отдаление камеры. Добившись оптимальной дальности, сворачиваем игру и выбираем другой параметр изменения в Camera Changer — Angle (угол наклона), нажимаем на кнопку In Game и снова клавишами « + » и « - » добиваемся оптимальных значений.
Программа позволяет изменять значения следующих параметров:
TopBorder — расстояние от центра камеры до лицевого борта арены;
BottomBorder — расстояние от центра камеры до заднего борта;
LeftBorder — расстояние от центра камеры до левого борта;
RightBorder — расстояние от центра камеры до правого борта;
Angle — угол наклона камеры относительно льда;
Distance — расстояние от шайбы до наблюдателя.
Камера настроена, игра в разгаре, но нужно подумать о будущем и сохранить наши новые настройки, чтобы можно было их использовать в любой момент. Для этого сворачиваем игру, в Camera Changer нажимаем кнопку Save. Все наши изменения сохранятся в файл merlib.mgd , он находится в директории с программой и легко понимается игрой.
Остается чисто техническая сторона вопроса — импортировать файл merlib.mgd в архив gmisc.viv.
Для начала необходимо закончить матч и выйти из игры, после чего произвести подготовительные работы, а именно — создать резервную копию архива gmisc.viv (находится в папке \ preload ). Если резервная копия готова, займемся импортом нашего merlib.mgd. Открываем архив gmisc.viv с помощью утилиты BigGUI, нажимаем кнопку Import и выбираем наш новый файл merlib.mgd , на вопрос о замене данного файла в архиве gmisc.viv отвечаем утвердительно. Далее необходимо провести сжатие файла merlib.mgd внутри архива, нажав кнопочку Compress.
Осталось всего ничего: произвести перестроение заголовка архива gmisc.viv , в этом нам поможет утилита BHimport. Обратите внимание, программа должна быть установлена в каталог с игрой, иначе ничего не заработает. Чтобы перестроить заголовки, достаточно запустить файл BHimport.bat. Наша новая камера готова к работе.
Геймпады-скакуны
Когда решаешься на приобретение геймпада, без которого, чего уж греха таить, довольно сложно играть даже в некоторые компьютерные игры, то меньше всего задумываешься о совместимости. О совместимости геймпада и конкретной игры. Игроку даже в голову не может придти, что здесь могут быть какие-то проблемы. Однако именно тут отважных экспериментаторов и подстерегает подвох. NHL 08 поддерживает далеко не каждый геймпад. Правильнее будет сказать, что игра адекватно работает всего с несколькими «породистыми» моделями.
Если вы не счастливый обладатель геймпадов от Logitech или Microsoft , то NHL 08 преподнесет вам несколько неприятных сюрпризов: безостановочные скачки контроллера по пунктам игрового меню и эдакий «радикулит» полевых игроков во время матча (хоккеисты, размахнувшись для удара по шайбе, так и остаются стоять в нелепой позе, как будто их парализовало).
Попытаемся устранить эти проблемы — убедим игру, что она имеет дело не с беспородным контроллером, а с геймпадом чистых кровей. Идея заключается в смене названия контроллера в операционной системе. Пусть игра думает, что наш старенький Genius — это не что иное, как Microsoft SideWinder.
Названия контроллеров хранятся в реестре, в ветке *HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM * (например, HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_0583 &PID_A00C, где VID_0583 &PID_A00C — раздел, содержащий имя джойстика в ключе OEMName ).
Сменить название можно вручную с помощью редактора реестра ( regedit.exe ) или воспользоваться специальной утилитой NHL06-08 Joystick Renamer. Но прежде всего с помощью редактора реестра создайте резервную копию ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet.
Давайте разберемся, как переименовать манипулятор в программе NHL06-08 Joystick Renamer. Для начала подключите геймпад и обязательно выйдите из игры. В окне утилиты, на левой панели Your Joysticks , выберите ваш геймпад (если подключен всего один контроллер, то в списке особого выбора не будет — всего одна строка). На правой панели EA Support Joysticks необходимо выбрать один из вариантов нового имени контроллера. Для переименования сначала нужно нажать кнопку « < <», а затем Apply (запомните или запишите имя джойстика до переименования — это может пригодиться). В окне New Name можно задать оригинальное имя джойстика или восстановить старое. Далее необходимо проверить функционирование геймпада в игре и, если он все еще «скачет», выбрать другой вариант имени.
Управление — залог победы
Все мы рабы собственных привычек. Играя несколько лет на клавиатуре в одни и те же игры, например серию NHL, у любого геймера складываются свои предпочтения, появляются любимые кнопки управления на клавиатуре. И отказываться от этих предпочтений без боя мы не намерены, несмотря на настойчивое желание некоторых девелоперов (не будем показывать пальцем) навязать нам свои стереотипы.
В NHL 08 при переназначении действий на кнопки клавиатуры некоторые клавиши использовать банально запрещено. Например, изначально недоступны функциональные и цифровые клавиши, Alt, Ctrl и некоторые другие. Справиться с этой напастью нам помогут программы NHL 08 Key Redefiner или Key Remapper for NHL 2005/08. Утилиты эти очень похожи, поэтому мы рассмотрим только одну из них — NHL08 Key Redefiner. Для начала создаем резервную копию файла User.log , проживающего в каталоге Мои документы\NHL08. После этого запускаем утилиту и выбираем в ней для редактирования файл User.log.
В главном окне доступны для переназначения все действия игры NHL 08. Справа указаны их названия, слева — соответствующие им кнопки на клавиатуре. Просто кликаете по названию клавиши, которую нужно переназначить, и нажимаете новую кнопку. Когда подстроите управление под себя, нажмите клавишу Write для подтверждения внесенных изменений.
* * *
Теперь вы имеете клавиатурную «клюшку» с правильным загибом и камеру, отлично отражающую ход хоккейной баталии, остается пожелать успеха вам и вашей «ледовой дружине» в ратном деле. Да, чуть не забыли: все вышеописанные правки можно с успехом проводить и на NHL 2005, NHL 06 и NHL 07. Алгоритм изменений точно такой же.