02 июня 2004
Обновлено 17.05.2023

Бандитский Нью-Йорк. Вскрытие Max Payne 2

Бандитский Нью-Йорк. Вскрытие Max Payne 2 - изображение обложка

Боль. Только боль. И больше ничего… Боль в сердце Макса Пейна — отъявленного преступника, у которого бандиты убили самых близких людей. Который сошел с ума и которого разыскивает вся полиция города. Который бесцеремонно расстреливает всех: мафиози, блюстителей порядка и даже мирных граждан, — оставляя за собой лишь груды трупов и гигантские лужи крови… Думаете, бред сумасшедшего? Это модификация для Max Payne 2, которую мы будем создавать в течение двух статей. Точнее сказать — одна из возможных модификаций, так как их может быть огромное количество. Косметические преобразования Читая этот материал, думаю, вы не раз обращали внимание на то, что упомянутые в нем графические файлы обладают специфическим расширением dds. Впрочем, оно вряд ли покажется странным тем, кто регулярно читает статьи во “Вскрытии”. Остальным же поведаю, что файлы этого загадочного на первый взгляд формата обрабатываются в пакете утилит DXT Tools (он, как вы, наверное, уже догадались, стал гостем нашего CD/DVD ) и в нем же успешно превращаются в tga -файлы (кстати, некоторые графические файлы игры представлены именно в tga-формате — с такими файлами работать проще), для изменения которых подойдет Photoshop, а также ряд других современных графических редакторов. “Общение” с DXT Tools осуществляется достаточно просто. В папке с программой имеются файлы readdxt.exe и nvdxt.exe , запуская которые с параметром в виде пути и названия графического файла (если вы скопировали файл в папку с программой, достаточно указать его имя), вы в первом случае переводите последний из формата dds в tga , а во втором — наоборот, из tga в dds. Например, набрав в командной строке сочетание “readdxt.exe Painkiller.dds” (при этом вы, естественно, должны находиться в директории с программой), вы конвертируете файл Painkiller.dds в tga-формат. Следует учитывать, что указанный файл сменит свое название на test.tga , так что после перевода файла в формат tga вы должны присвоить ему то имя, которое он имел до конвертирования. В общем же, чтобы перерисовать любую игровую текстуру или картинку иного рода, имеющую формат dds, нужно сначала перевести ее в формат tga с помощью утилиты readdxt.exe, а затем, подправив рисунок в графическом редакторе, присвоить ему изначальное имя и вернуть в формат dds, запустив файл nvdxt.exe.

Бандитский Нью-Йорк. Вскрытие Max Payne 2 - фото 1

После проведенных преобразований Max Payne 2, пожалуй, не уступает по кровавости даже Postal 2.
А теперь о самих графических файлах и о том, где их искать. Большая часть dds -файлов сосредоточилась в архиве MP2_Data.ras , внутри которого находится директория \data. Зайдя в последнюю, вы обнаружите ряд подкаталогов. В папке \crosshair\files\textures вы найдете набор прицелов, в \graphicnovel\bitmaps — кнопки и прочую графику для экрана “комиксов” (сами “комиксные” картинки сюда не входят), \hud\bitmaps — картинки для HUD’а (экрана героя): индикаторы здоровья и bullet time, всевозможные значки и т.д., \hud\introductions — крупные надписи с именами героев, появляющиеся на экране при представлении последних, \menu\bitmaps — графическое оформление меню (курсоры, фоновые рисунки и т.д.), \sharedtextures — графические отображения игровых шрифтов (часть местных файлов записана в форматах pcx и tga ). Теперь заглянем в директорию \database , расположенную здесь же. В ней располагаются следующие подкаталоги: \decals — различные виды повреждений (отверстия, проделываемые пулями, пятна крови и т.д.), \projectiles\SharedTextures — снаряды для различных стволов, \skins\Sharedtextures — скины игровых персонажей (файлы с элементом _Face в названии содержат скин лица героя, _Legs — скин ног, _Body — тела, _ Fullbody — всего персонажа с ног до головы), \skin_items\sharedtextures — скины предметов быта (телефоны, полотенца и т.д.), \weapons\sharedtextures — скины оружия, \worldspheres\files\textures — текстуры неба. Естественно, все эти скины, текстуры и прочие картинки можно запросто перерисовать. Правка скинов героев игры поможет вам придать последним новый облик, видоизменение экрана героя — переоформить интерфейс, а редактирование пулевых отверстий и прочих типов повреждения — сделать игру более эффектной. Другой архив, насыщенный графическими файлами, называется MP2_English.ras. В нем нас интересует папка \data\database , в которой вы обнаружите следующие подкаталоги: \graphicnovelpages — картинки для “комиксов”, \levels — загрузочные картинки для различных уровней. Если вы задались целью полностью перекроить сюжетную линию игры, вам не обойтись без какой-никакой правки оригинальных “комиксов”, во всяком случае их текстового элемента, то бишь реплик персонажей и “закадровых” комментариев. А при добавлении в игру новых миссий очень желательно изменить загрузочные картинки карт.
Свист пули В Max Payne 2, как и в первой части игры, для хранения основной массы игровых ресурсов используются ras -архивы. Они представлены следующими файлами, лежащими прямо в директории с игрой: MP2_Data.ras , MP2_English.ras , MP2_Init.ras , MP2_Levels_A.ras , MP2_Levels_B.ras , MP2_Levels_C.ras , MP2_Music.ras и MP2_Sounds.ras. Там же находится файл RASMaker.exe , позволяющий совершать различные преобразования над этими архивами. Если у вас первая английская версия игры (первая партия компактов, сошедших с конвейера), его может и не быть — в этом случае обратитесь к нашему CD/DVD и скопируйте приложение в игровой каталог. Изменяя файлы с расширением h из папки \subtitles , вы полностью русифицируете субтитры, а заменяя wav-файлы из директории \sounds , переозвучите диалоги. Изменяя только эти параметры, можно получить полноценный мод с новым сюжетом, музыкой и оригинальными сюжетными вставками.
Чтобы распаковать ras-архив, запустите файл RASMaker.exe с параметрами: RASMaker -x <имя архива> <каталог для распаковки> (например, RASMaker -x MP2_English.ras C:\Temp\MaxEng ). Для упаковки файлов в архив используйте следующую команду: RASMaker -a <название упаковываемой папки> <имя архива> (например, RASMaker -a C:\Temp\MaxEng MP2_English.ras ). Впрочем, можно и не запаковывать измененные файлы обратно в архив, а просто положить их в игровую директорию в той папке, в которой они лежат, и убрать архив,

Бандитский Нью-Йорк. Вскрытие Max Payne 2 - фото 2

Результат изменения всего одной строчки текста в файле из директории \subtitles.
откуда вы их ранее извлекли, из игрового каталога. Например, при распаковке архива MP2_Init.ras вы получите папку \data. Если вы подредактируете какие-то из содержащихся в ней файлов, вам следует скопировать эту папку со всем ее содержимым в директорию с игрой и убрать из последней архив MP2_Init.ras. Только после этого внесенные вами изменения вступят в силу. Правда, при таком способе хранения отредактированных файлов вы тратите больше дискового пространства, зато загрузка карт происходит несколько быстрее. Приступим к изучению содержимого игровых архивов. Файл MP2_Sounds.ras содержит звуковые эффекты, помещенные в папку \data\database\sounds и поделенные на следующие категории: \Au (крики и смех игровых персонажей), \generic (основные звуковые эффекты: скрип дверей, звучание сигнализации и т.д.), \menu (звуковое оформление меню), \physical (звуки, раздающиеся при контакте субъекта с объектами из различного материала), \projectiles (звуки полета, падения и взрыва разного рода снарядов), \weapons (звуки стрельбы из различного оружия). Все имеющиеся здесь файлы записаны в стандартном формате — wav. Так что вы без особых усилий сможете перезаписать любой из них или заменить другим звуком. Отмечу также, что помимо звуковых файлов архив содержит ряд txt -файлов, в которых прописаны основные характеристики тех или иных звуковых эффектов. Архив MP2_Music.ras также наполнен wav -файлами (хранятся в директории \data\database\sounds ), но в данном случае музыкальными, а также звуками, издаваемыми окружающей средой (их вы найдете в подкаталоге \noisetracks ). Файл с основной мелодией, проигрываемой в главном меню, называется Max_Payne_Theme.wav. При желании вы можете “выдернуть” из игры понравившиеся композиции или заменить не понравившиеся любыми другими треками. Продолжая звуковую тему, обратимся к архиву MP2_English.ras , а точнее, к находящейся в нем директории \data\database. В ней нас интересуют папки \sounds и \subtitles. Первая заполнена wav -файлами с речью игровых персонажей и разбита на множество каталогов: \Characters — отдельные реплики героев игры (каждому из них посвящен свой подкаталог), \Cinematics — речь игровых персонажей в роликах, \Graphic_Novel — озвучка “комиксных” заставок, \TV_Shows — звуковое сопровождение местных телепередач. Остальные каталоги хранят в себе диалоги между действующими лицами игры (каждый каталог соответствует диалогам, проходящим в той или иной локации). Что касается упомянутой чуть выше директории \subtitles, то она состоит из кучи файлов с расширением h , каждый из которых заключает в себе текст диалогов в той или иной миссии (все реплики выделены кавычками и следуют за надписью String ). При переозвучивании того или иного героя игры обязательно подправьте и тексты диалогов с его участием. Обновленный геймплей Следующая наша цель — архив MP2_Init.ras. В нем находится папка \data , набитая txt -файлами с различными настройками. Один из таких файлов — globalconfig.txt — содержит общие игровые параметры, грамотная корректировка которых позволит вам кардинальным образом изменить весь игровой процесс. Этот файл, как и большинство других текстовых файлов игры, делится на блоки (разделы), имена которых заключены в квадратные скобки. В каждом таком разделе размещаются характеристики, значения которых отделяются от названий несколькими пробелами и знаком равенства. Первый блок файла называется startup и хранит в себе лишь один стоящий параметр. Изменяя параметры раздела character (файл globalconfig.txt ), можно добиться уникальных результатов. Например, сделать всю игру замедленной, как бои в “Матрице”. А можно поступить наоборот — сделать все движения персонажей быстрыми, как в реальной жизни. Игра после этого будет напоминать скоростной экшен с элементами файтинга. Корректируя значения атрибутов параметра camera , вы уподобляетесь виртуальному режиссеру: направляете полет камеры, изменяете угол ее обзора, заставляете нырять по хитрой синусоиде, вылавливая самые “вкусные” ракурсы. Стоит подправить всего 5—6 параметров, и получится настоящая авторская режиссерская работа. Конечно, необходимо соблюдать меру, чтобы камера, чего доброго, не влетела в стену и не потеряла из поля зрения главного героя. Кстати, в этом же разделе можно увеличивать и уменьшать дальность прицельной стрельбы из снайперской винтовки… Редактируя параметры из блока cinematic , несложно добиться растягивания скриптовых сценок на весь экран — это придаст им кинематографичности. И самый главный блок — slowmotion. Изменяя атрибуты параметров в этом разделе, вы можете полностью перекроить геймплей. Увеличивать и уменьшать время для bullet time. Распределить энергию, которую главный герой тратит на режим замедленного времени. Ускорить или замедлить ход стрелок часов… Уже чувствуете себя богами виртуального мира? Правильно! Несложными действиями вы создадите совершенно новую игру — с новыми законами, новыми правилами!
StartupVideoName — стартовый ролик. Здесь требуется указать путь к видео (он должен быть указан в кавычках) внутри игровой директории (все видеофайлы авторы положили в каталог \movies ). Ролик должен быть записан в формате bik (файлы этого формата просматриваются с помощью набора утилит RAD Video Tools — см. наш компакт или DVD ). Второй раздел носит имя character и содержит общие параметры, связанные с действующими лицами игры, в том числе с Максом и Моной (есть здесь и такие показатели, которые относятся только к нашему герою). Перечислю основные из атрибутов. FallingThresholdVelocity — начальная скорость падения персонажей. Единица измерения этого и всех остальных параметров, определяющих скорость чего-либо, — метр в секунду. LandingThresholdVelocity — конечная скорость падения субъектов. Лично мне кажется, что падения в игре выглядят слишком уж нереалистично из-за своей медлительности. Чтобы исправить это, просто повысьте значения этого и предыдущего показателей. Другой вариант — создать эффект замедленной съемки при падениях. Достигается он за счет существенного понижения значения этих двух параметров. Получится очень зрелищная картина. TurningThresholdValue — скорость поворота героев игры. LowHealthLimit — крайний предел здоровья (в процентах) вашего персонажа, при котором вы слышите звук бьющегося сердца, предупреждающий вас о возможной смерти. По умолчанию стоит целых 50% — хотя при таком количестве здоровья реальной угрозы жизни нашего героя нет. На мой взгляд, правильнее будет понизить этот параметр процентов до 25. DamageFallingThreshold — начальная скорость падения персонажа с большой высоты (при этом персонаж теряет здоровье). RelativeFallingDamage — урон, который получает герой при падении на каждый дополнительный метр (в процентах от полного здоровья) с высоты не ниже той, что задана предыдущей характеристикой. По замыслу авторов, герой, будь то Макс или Мона, может безболезненно падать с высоты в пять метров, что, понятное дело, противоречит всяким физическим законам. Если хотите сделать игру реалистичней, вам следует немного повысить указанное здесь число. Если же сюда поставить ноль, персонаж вообще перестанет быть чувствительным к падениям. DamageFallingSpeedDeduct — замедление падения героя за одну секунду. ShootDodgeTargetOffset — высота, на которую опускается прицел игрока, стреляющего при совершении “замедленного” прыжка в сторону (в игре это движение называется shoot dodge ). Данный показатель, как и всякий другой атрибут, задающий высоту чего-либо или расстояние между объектами, измеряется в метрах. CrouchTargetOffset — высота, на которую опускается прицел персонажей, стреляющих в приседе. Следующий нужный нам блок называется camera и, как видно из названия, характеризует игровую камеру. Вот параметры, которые вы можете здесь встретить. FrontPlaneDistance — расстояние от камеры до объектов, находящихся на переднем плане (основной из них — это спина вашего персонажа). MinimumBackPlaneDistance — минимальное расстояние от камеры до объектов, находящихся на заднем плане. CollisionPredictionSphereRadius — возможность огибания камерой препятствий. Тем больше указанное здесь число, чем дальше камера будет стараться облететь попадающиеся на пути препятствия. Большие числа лучше сюда не прописывать — иначе камера будет периодически терять Макса или Мону из вида. MaximumPredictionIterations — скорость прокрутки сцен убийства врагов (имеется в виду замедленная съемка, отражающая самые эффектные падения тел поверженных оппонентов).

Бандитский Нью-Йорк. Вскрытие Max Payne 2 - фото 3

Смотреть полноэкранные ролики куда приятнее, чем “обрезанные”.
InitialBackwardsSpeed — скорость движения камеры в обратном направлении. BackwardsAcceleration — ускорение, которое получает камера при движении в обратном направлении. LookAtMaxDistance — максимальное увеличение при ведении прицельной стрельбы из снайперской винтовки (то есть во сколько раз вы можете увеличить изображение в прицеле снайперской винтовки). LookAtMinDistance — минимальное увеличение при ведении прицельной стрельбы из снайперской винтовки. DefaultFOV — угол, под которым располагается поле зрения вашего персонажа (в градусах). Корректируя значения этого и других параметров камеры, вы можете приближать или отдалять последнюю и вообще располагать ее так, как удобно вам. После раздела camera идет блок cinematic , в котором находятся характеристики скриптовых сцен. WideScreenMultiplier — величина экранной области, отводящейся для показа роликов на движке игры. По замыслу авторов она занимает 75%. При значении 1 изображение станет полноэкранным, и смотреть скриптовые сцены будет куда приятнее. Причем это не отразится заметным образом ни на качестве картинки, ни на быстродействии. SkipScreen — картинка, появляющаяся на экране после сбрасывания вами скриптовой сцены и красующаяся на нем, пока не загрузится карта. Здесь и в других случаях при ссылке на графический файл указывайте его путь. Названный файл должен быть записан в формате dds (смотрите информацию на отдельном текстовом блоке “Косметические преобразования” ) и лежать в архиве MP2_English.ras. SkipStartBlock — время, по прошествии которого с момента начала скриптовой сцены вы можете ее “скинуть”. Данный атрибут, как и все настройки игры, связанные со временем, измеряется в секундах. По умолчанию — 4 секунды. Если вы проходите игру уже не в первый раз (например, если решили пройти игру на более высокой сложности) и хорошо помните содержание каждого ролика, логичным будет поставить сюда 1. Блок savegame , расположенный чуть ниже, характеризует экран сохранения игры и несет в себе лишь один ст о ящий параметр — SaveScreen. Последним задается рисунок (должен иметь формат dds и находиться в архиве MP2_English.ras ), который вы будете видеть на экране при сохранении игры. Раздел loadingscreen очень похож по своему содержанию на предыдущий и содержит атрибуты MenuLoadingScreen и GameExitScreen. Первый из них указывает на картинку, заполняющую экран во время загрузки игры, второй — на рисунок, появляющийся при выходе из игры. Другой полезный нам блок — slowmotion. В нем вы найдете характеристики режима “замедленной съемки” или, как его здесь называют, bullet time. SlowMotionTime — продолжительность действия режима bullet time. Здесь стоит 15 секунд, в первой же части игры было 10. Лично мне кажется разумным вернуться к старому варианту, а то слишком уж легко уничтожаются враги в данном режиме. RegenerationTime — время, которое требуется для полного восстановления энергии, расходующейся на использование bullet time. Threshold — минимальное количество энергии, при котором вы можете переключиться в режим “замедленной съемки”. Этот и три следующих показателя измеряются в процентах. TurnOffPenalty — количество энергии, которое теряет персонаж после отключения bullet time. ShootDodgePenalty — количество энергии, расходующееся, когда персонаж стреляет, совершая прыжок в сторону в режиме “замедленной съемки”. ShootDodgeThreshold — минимальное количество энергии, необходимое для совершения “замедленного” прыжка в сторону. Разработчики игры сделали использование этого трюка практически “бесплатным”, установив 0 для атрибута ShootDodgePenalty и 0,01 для ShootDodgeThreshold. Лично я существенно повысил и то, и другое значение, дабы предотвратить повсеместное использование игроками эффекта “Матрицы”, при котором процесс расстрела врагов значительно упрощается. MusicVolume — громкость музыки в режиме bullet time (значение должно находиться в интервале от 0 до 1 ). Авторы игры поставили сюда ноль, в результате чего музыка полностью затихает. Если вы не любите играть без музыки, поставьте положительное число. HeartbeatSoundInterval — временной интервал между звуками биения сердца в bullet time. Следующие четыре атрибута определяют эффективность использования режима bullet time. EfficiencyIncreasePerKill — повышение эффективности использования режима “замедленной съемки” (в процентах) после убийства в нем одного из врагов. При этом изображение песочных часов в левом нижнем углу экрана становится желтым, а течение времени — еще более медленным (на столько процентов, сколько указано в значении атрибута), что позволяет расстреливать врагов еще результативнее. EfficiencyDecreaseDelayAfterKill — время, по прошествии которого с момента повышения эффективности использования bullet time она начинает постепенно падать. EfficiencyDecreaseSpeed — скорость падения эффективности bullet time (в процентах в секунду). MaxEfficiencyPlayerTimeMultiplier — максимальная эффективность. Другой важный для нас раздел носит имя TimedMode и хранит в себе характеристики режима игры на время (активизируется на уровне сложности New York Minute), из которых нас интересуют следующие атрибуты. BeepTime — критическая отметка, при которой вы слышите предупреждающие сигналы. Наступает, когда у вас остается меньше времени, чем задано в данной настройке. BeepInterval — интервал между этими сигналами. Критерии сложности С общими игровыми параметрами мы разобрались; переходим к частным настройкам. Для начала покопаемся в атрибутах, определяющих сложность игры. Они располагаются в файле difficulty.txt , лежащем в одной папке с разобранным выше globalconfig.txt (напомню, что она носит имя \data и находится в архиве MP2_Init.ras ). Файл difficulty.txt имеет следующую структуру. Он состоит из одного большого блока — difficulty , включающего в себя четыре раздела, каждый из которых соответствует определенному уровню сложности: normal — низкая сложность (Detective), nightmare — средняя (Hard-Boiled), hell — высокая (Dead on Arrival), timedmode — игра на время (New York Minute). Все эти разделы несут в себе одни и те же параметры и имеют в себе четыре подраздела: properties — общие параметры данного уровня сложности, minimum — характеристики сложности для начальных глав каждой части, default — для промежуточных уровней, maximum — для завершающих. В каждом подразделе файла с именем properties вы встретите следующие атрибуты. Редактирование настроек файла globalconfig.txt позволяет регулировать сложность игры. Профессиональные игроки, изменив всего несколько параметров, смогут попробовать поиграть в более тяжелых условиях (достаточно понизить умножитель найденных боеприпасов, уменьшить эффективность лечения болеутоляющим и убавить даваемую за убийство врагов энергию для bullet time); тогда как новички, испытывающие большие трудности при прохождении игры, при желании облегчат себе жизнь. Для разработки мода очень важно, что всего за несколько минут можно полностью перекроить AI противников. Сделать их тупыми болванчиками или, наоборот, превратить в коварных и расчетливых оппонентов, бой с каждым из которых растягивается на несколько минут.
SaveGameLimit — число сейвов, которое вы можете совершать в пределах одного уровня при данной сложности игры. При значении -1 ограничений на сейвы не существует вовсе. IntermediateLevels — количество промежуточных уровней в части (то есть уровней, к которым применяются характеристики сложности из блока default). DifficultyLevelIncreasePerKill — возрастание сложности игры при убийстве игроком одного врага (враги при этом становятся более живучими и меткими). AutoHealLevel — максимальный уровень здоровья Макса или Моны, при котором начинает работать автолечение (при этом оно восстанавливает здоровье игрока только до определенной отметки). AutoHealHealthIncreasePerSecond — быстрота автолечения (в процентах в секунду). В подразделах minimum , default и maximum любого из разделов файла находятся следующие показатели сложности. AmmoFoundMultiplier — умножитель боеприпасов. На заданное здесь число умножается количество боеприпасов, которое по умолчанию содержится в любой коробке с патронами, увеличиваясь, если значение параметра больше 1, понижаясь, если меньше 1, и не изменяясь, если равно 1. Соответственно, чем выше значение, тем больше патронов вы будете получать при нахождении соответствующих “призов”. BulletTimeGainedPerKillMultiplier — умножитель энергии для bullet time, начисляемой за убийство одного неприятеля. Исходное количество энергии (то есть энергии, которую вы получили бы, если бы умножитель был равен 1), даваемое за убийство врага, настраивается в файле ai_ranges.h. HealthRegenerateMultiplier — скорость восстановления здоровья игрока (в процентах в секунду), использовавшего болеутоляющее (painkiller). HealthGainedImmediately — количество здоровья, которое получает персонаж сразу после использования болеутоляющего. HealthGainedFromPainkiller — итоговое количество здоровья, которое восполняет одно болеутоляющее. Важнейший критерий сложности игры. Чем ниже значение этого показателя, тем сложнее игра. InitialInaccuracyMultiplier — умножитель меткости врагов, стреляющих без прицеливания. Чем выше значение, тем больше вероятность промаха противника (это замечание относится и к следующей характеристике). StableInaccuracyMultiplier — умножитель меткости врагов, совершающих прицельный выстрел. Следует пояснить, что выстрел получается прицельным, когда враг целится в течение хотя бы нескольких секунд (точное время задается показателем STABILIZATIONTIME из файла ai_ranges.h ). От значений этого и предыдущего параметров во многом зависит AI ваших соперников. Разум превыше всего Продолжая тему сложности игрового процесса, обратимся к другому файлу из архива MP2_Init.rasai_ranges.h (располагается файл в каталоге \data\database ). Пусть вас не пугает его необычное расширение h — на деле это обычный текстовый файл, содержащий ряд первостепенных настроек, которые характеризуют различные виды ваших врагов. Все местные атрибуты имеют несколько нестандартный вид: #define X_Y Z , где X — название вида врагов, к которому относится параметр, Y — имя параметра, Z — его значение. Вместо X вы можете увидеть здесь следующие обозначения: C01 — рядовой бандит или мафиози, C02 — лидер бандитских группировок (или попросту — бандит-босс), C03 — киллеры и русские мафиози, C04 — тайный агент, C05 — глава группы спецназовцев (спецназовец-босс). Почти все параметры файла повторяются несколько раз, характеризуя при этом разные виды врагов. Рассмотрим важнейшие атрибуты. Файл ai_ranges.h позволит вам отрегулировать сложность игры. Снять все “заусенцы”, довести до совершенства те изменения, которые вы уже внесли в геймплей, изменяя файл globalconfig.txt. Если в ваших планах сделать мод для профессиональных игроков, то стоит усилить врагов за счет укрепления их здоровья, увеличения точности стрельбы и улучшения слуха. Если же вы, напротив, делаете модификацию для начинающих, то стоит снизить значения у данных параметров. Несколько советов профи. Оппонентов несложно превратить не просто в очень сильных и быстрых противников. Если, например, уменьшить подвижность врагов, но при этом значительно увеличить меткость и расширить дистанцию, на которой противники слышат главного героя, то можно устроить на уровнях настоящие снайперские баталии. Максу придется передвигаться по улицам короткими перебежками, прячась за мусорные баки и другие укрытия. Осторожно выглядывать из засады, снимать двух-трех врагов — и идти дальше…
MAXIMUMHEALTH — максимальное (начальное) количество здоровья у врага данного вида. Очень важный параметр, определяющий стойкость ваших оппонентов. IDLETIMEOUT — максимальное время, которое враг этого типа может стоять без дела. Понизьте указанное здесь число для всех своих противников, и они станут более деятельными, начнут больше передвигаться и будут более рьяно искать вас. AIMINGSPEED — быстрота прицеливания врагов (этот и следующий параметры измеряются в градусах в секунду). Параметр в немалой степени определяет точность стрельбы противников. HEADTURNINGSPEED — скорость поворота головы. Как правило, враг поворачивает голову, когда вы попадаете в его зону слышимости. INITIALINACCURACY — меткость вашего соперника, стреляющего без прицеливания. STABLEINACCURACY — меткость врага, совершающего прицельный выстрел. STABILIZATIONTIME

Бандитский Нью-Йорк. Вскрытие Max Payne 2 - фото 4

В моем моде враги хорошо слышат малейший производимый главным героем шум, даже из соседней комнаты. Оппоненты сразу же сбегаются узнать, в чем дело.
— время, которое требуется врагу, чтобы прицелиться (при этом его меткость возрастет до того значения, которое определено предыдущим параметром). HEARINGGROUPONERADIUS — максимальное расстояние, на котором ваши противники слышат ваши выстрелы или взрывы. HEARINGGROUPTWORADIUS — максимальная дистанция между врагами и игроком, при которой оппоненты слышат прыжки и прочие движения главного героя. HEARINGGROUPTHREERADIUS — максимальное расстояние, на котором соперники слышат шаги Макса или Моны. Эта и две предыдущие характеристики во многом определяют AI оппонентов, а точнее, их важнейшее качество — слух. Врагов с высоким значением этих трех параметров не так-то просто снять, незаметно подкравшись сзади, или любым другим “подлым” способом. Вести бой с такими соперниками гораздо сложнее, но вместе с тем намного увлекательнее. FIELDOFVISION — поле зрения врагов данного вида. NPC_SLOWMOTIONBONUS — энергия для bullet time, которая начисляется главному герою за убийство NPC (мирного гражданина). Обратите внимание на то, что значение этой и двух следующих характеристик должно быть больше 0 , но меньше 1. Разработчики поставили сюда ноль: все-таки Макс Пейн — не бандит какой-нибудь… Впрочем, почему бы и нет? Макс тоже может стать сугубо отрицательным героем, если вы поставите сюда значение больше нуля. Тогда выгодно будет убивать мирных людей, то есть исполнять непривычную для себя роль. Если вы принципиально не хотите играть роль негодяя, можете, наоборот, поставить сюда отрицательное число. В этом случае придется расплачиваться за любое убийство NPC, даже за неумышленное. ENEMY_SLOWMOTIONBONUS — энергия для bullet time, которую вы получаете за уничтожение слабого врага. HARDENEMY_SLOWMOTIONBONUS — энергия для bullet time, которая выдается за убийство сильного врага (в том числе босса). Утилиты для изменения игры Все утилиты, необходимые для вскрытия игры, находятся на нашем CD/DVD.
*** * *** Подведем итог. Описанных в статье преобразований достаточно, чтобы сделать профессиональный мод с измененным геймплеем, повышенным (или пониженным) уровнем сложности игры, подправленными скриптовыми вставками между миссиями, а также с “прирученной” камерой, которая выполняет ваши режиссерские задумки. Вы можете даже сделать снайперскую модификацию, в которой главному герою, чтобы успешно пройти уровень, придется проявлять чудеса тактического мышления: как подобраться к умному и меткому противнику, как осторожно снять его из-за угла и не попасть при этом в прицел снайперу на крыше соседнего здания. Но это еще не все. В следующем номере “Игромании” мы научимся, как полностью (!) изменить характеристики оружия, как переделать его внешний вид, как добавить в игру новые уровни и как изменить порядок уже имеющихся миссий. А также — внимание! — мы разберемся, как пройти игру за любого персонажа из мира Max Payne 2. Как вам идея — сыграть за Джима Бравуру или Вини Гогнитти? Заманчиво? В следующей статье мы добьемся этого.

Комментарии
Чтобы оставить комментарий, Войдите или Зарегистрируйтесь