Unreal Tournament 2004: на грани реальности
Unreal Tournament — поистине легендарная серия. И новая часть игры под кодовым номером 2004 стала достойным продолжателем лучших традиций UT. Подтверждением тому может служить обильный поток самых разнообразных модификаций, обрушившихся на голову бедных (или наоборот — счастливых) геймеров за последнее время. Так давайте же “сотворим” достойный мод своими руками! В нем будет все, о чем вы только могли мечтать: бешеные скорости, массовые побоища с сотнями воинов, увлекательный сюжет, переоформленные карты и что самое главное — абсолютно новые действующие лица. Нереальные ноты Первое, что необходимо сделать — это ознакомиться с подкаталогами игровой директории. Нам будут нужны следующие папки: \Maps (содержит ut2 -файлы с игровыми картами, для просмотра и редактирования которых используется прилагающийся к игре редактор — UnrealEd ), \Music (музыкальные композиции, представленные файлами формата ogg ), \System (системные файлы, в том числе и файлы с игровыми настройками), \Sounds (звуковые файлы, припрятанные в архивы формата uax ), \Textures (игровые текстуры, упакованные в utx -архивы). Поподробнее остановимся на каталоге \Music. Как известно, вся серия Unreal Tournament славится своим музыкальным сопровождением, и новая часть игры не стала исключением, что не может не радовать. Для преобразования игровых треков в более привычные звуковые форматы mp3 или wav вам понадобится программа dBpowerAMP (см. наш CD или DVD-диск ), а также установленный на нее кодек под названием Ogg Vorbis Codec (также берите с нашего CD или DVD ). Чтобы осуществить конвертирование музыки, достаточно зайти в каталог, куда вы инсталлировали программу, запустить файл MusicConverter.exe и в открывшемся окне выбрать путь нужного вам ogg -файла. После этого на экране появится небольшая менюшка, в которой вы должны выбрать формат, в который хотите перевести выбранный ogg-файл. Далее вы увидите программное окно, где сможете настроить качество и ряд других параметров создаваемого звукового файла, а также указать директорию, куда он будет помещен. Нажмите на кнопку с надписью Convert , и после нескольких секунд ожидания вы получите интересующий вас трек в удобном для вас формате. Наслаждайтесь прослушиванием в любимом музыкальном проигрывателе. Следует также отметить, что вы можете не только извлекать из игры музыкальное сопровождение, но и вставлять в нее новые мелодии. Для этого вы должны проделать операцию, обратную той, что описана чуть выше, то есть перевести mp3 - или wav -файл в формат ogg (чтобы осуществить это, запустив программу, укажите путь трека, который вы хотите добавить в игру, и в следующем окне выберите пункт Ogg Vorbis ). Кроме того, не забудьте назвать новоявленный ogg-файл так же, как одну из оригинальных игровых композиций, заменив им последнюю. Это что касается музыки, теперь — о звуковом оформлении. Нас будет интересовать директория \Sounds , которая, как уже отмечалось выше, несет в себе своеобразные звуковые архивы формата uax. Каждый из них содержит звуковые эффекты (или речь персонажей), относящиеся к той или иной категории. В частности, архивы, имена которых начинаются со слова Announcer , несут в себе реплики “комментатора” (или, проще говоря, закадровый голос, комментирующий происходящее); архив PlayerSounds.uax — звуки, издаваемые игровыми персонажами; OutdoorAmbience.uax — звуковые эффекты, производимые окружающей средой; WeaponSounds.uax и NewWeaponSounds.uax — выстрелы и другие относящиеся к оружию звуки; PickupSounds.uax — звуковые эффекты, раздающиеся при подборе различных полезных вещичек (или, попросту говоря, “призов”). Немного о том, как обращаться с uax -архивами. Первым делом запустите редактор карт игры — UnrealEd. В верхней части программного окна, на панели инструментов отыщите и нажмите кнопку с изображением динамика (при наведении на нее курсора всплывает подпись Sound Browser ). В появившемся окошке, озаглавленном как Sounds , выберите в строке меню пункт File/Open и укажите путь нужного вам uax -файла (или же просто выберите нужный архив из списка, находящегося прямо под панелью инструментов окна Sounds). Нижняя часть окна, пустовавшая до этого, заполнится списком входящих в архив (а точнее — в выбранную группу внутри архива, но об этом — чуть позже) звуковых файлов. Напротив каждого из них в скобках указаны краткие характеристики. Большая часть uax -файлов имеет в себе несколько тематических групп звуков. В таких архивах над списком входящих в них звуков помещается строчка, где вы можете выбрать нужную вам звуковую группу. Чтобы увидеть все содержимое архива без учета разбиения на группы, нажмите на кнопку с надписью All , расположенную чуть левее строки с перечнем групп. Следует также отметить, что вы можете прослушивать каждый из звуковых файлов, составляющих архив, не выходя из UnrealEd. Для этого просто щелкните правой кнопкой мыши на имени интересующего вас файла и в выскочившем меню выберите пункт Play. Для остановки проигрывания используйте пункт Stop из все того же меню. Чтобы “выдернуть” из архива любой звуковой файл, кликните левой кнопкой мыши на его названии и выберите пункт меню File/Export , указав затем папку, в которую вы хотите положить звук после распаковки. Файл сохранится во всем известном формате wav , который можно преобразовать в практически любой программе для работы со звуком (в том числе и в стандартной Windows’овской “Звукозаписи”). Если вы хотите добавить звуковой файл в архив (например, если вы хотите вставить в архив уже измененный вами файл), используйте пункт меню File/Import и укажите путь нужного вам wav -файла. В выскочившем окне под названием Import Sound просто нажмите на кнопку OK в знак подтверждения вставки звука. После этого вам останется только сохранить произведенные в архиве преобразования, выбрав пункт меню File/Save.
Рис. 1. Принимать участие в бою, где помимо вас сражаются около 50 воинов, — предприятие весьма опасное, но вместе с тем необычайно занимательное.
С помощью dBpowerAMP и кодека Ogg Vorbis вы можете легко извлекать из UT 2004 мелодии и слушать их отдельно от игры (благо саундтрек — более чем достойный). При большом желании вы можете полностью менять музыкальное сопровождение игры. Кроме того, вам не составит большого труда переделать на новый лад звуковое оформление, пользуясь услугами редактора UnrealEd и какой-либо звукозаписывающей программы. Модифицирование Все основные игровые настройки сосредоточились в файлах формата ini , расположенных в папке \System. Туда мы и проследуем. Сразу отмечу, что большая часть содержимого конфигурационных файлов нам неинтересна, так как представляет собой параметры, настраиваемые в меню игры. Есть только два ini-файла — UT2004.ini и User.ini , где вы встретите недоступные в меню характеристики игрового процесса. Оба они, как, впрочем, и все остальные файлы формата ini, разбиты на разделы, каждый из которых имеет заглавие, выделенное с двух сторон квадратными скобками, и наполнение в лице всевозможных игровых параметров. Значение последних отделяется от названия знаком равенства. Обратимся к файлу UT2004.ini. В нем нам понадобится раздел Engine.GameInfo , который несет в себе несколько важнейших атрибутов. MaxPlayers — максимальное количество игроков. В принципе значение этой характеристики изменяется и в меню игры, но там вы не сможете поставить более 32 игроков. А вот при редактировании настройки через файл UT2004.ini — вполне ( см. рис. 1 ). Но учтите, что при чрезмерном числе воинов игра будет заметно тормозить. MaxSpectators — максимальное число просматривающих игру человек, не участвующих в битвах. То же самое — значение характеристики может быть увеличено более чем до 32 при редактировании через этот файл. GameSpeed — скорость игры (влияет на скорость передвижения персонажей, быстроту совершения ими прыжков, выстрелов и т.д.). Атрибут может принимать дробные значения. GameDifficulty — уровень сложности. Этот параметр важен для нас тем, что, редактируя его через файл, вы можете присваивать ему дробные значения, устанавливая тем самым “промежуточные” уровни сложности. Таким образом, вам не составит труда подобрать оптимальную для вас сложность.
Рис. 2. При высоком значении параметра GameSpeed из файла UT2004.ini игра становится куда более динамичной и непредсказуемой.
Следующие разделы файла, которые мы будем разбирать, хранят в себе характеристики различных режимов игры. Приведу соответствия между названиями блоков и наименованиями вариантов игры: XGame.xDeathMatch — Deathmatch, XGame.xTeamGame — Team Deathmatch (командная игра), XGame.xCTFGame — Capture the Flag (захват флага), XGame.xDoubleDom — Double Domination, XGame.xBombingRun — Bombing Run, Onslaught.ONSOnslaughtGame — Onslaught, SkaarjPack.Invasion — Invasion, BonusPack.xMutantGame — Mutant, BonusPack.xLastManStandingGame — Last Man Standing, UT2k4Assault.ASGameInfo — Assault. По аналогии с разделом Engine.GameInfo перечисленные блоки содержат множество атрибутов, значения которых свободно изменяются в меню. Эти настройки, ясное дело, мы оставим в покое, обратившись лишь к их уникальным собратьям. HUDType — тип HUD’а (экрана героя), используемый в данном варианте игры. MaxLives — максимальное число жизней (или, иными словами, рождений) у игрока. При нуле количество жизней неограниченно. В игре значение этого показателя можно отрегулировать только в режиме Last Man Standing. LateEntryLives — количество жизней при позднем вхождении в игру (то есть при присоединении к игре, когда она уже идет в течение длительного времени). MaxTeamSize — максимальное число игроков в команде (не может быть определено в меню выше отметки 16). Редактирование файла UT2004.ini позволит вам пусть и немного, но все же изменить геймплей. В частности, выставив характеристикам MaxLives и LateEntryLives значения в районе 5-20, вы избавите игроков от стремления идти в бой сломя голову и любой ценой пытаться набрать заветные фраги, а при значениях пониже (особенно при единице) и вовсе заставите их осторожничать. Игра приобретет совсем другой характер. Причем не исключено, что многим он придется по вкусу.
Рис. 3. Управлять за машину со значительным отдалением камеры очень удобно: хорошо видно, что происходит непосредственно позади и по сторонам от вас.
Существенно увеличив значения параметров MaxPlayers и MaxTeamSize , вы станете участником массовых баталий, в которых может быть задействовано до полусотни (а при невысокой детализации и на мощных машинах — даже более) бойцов. А если добавить игре скорости посредством подъема значения атрибута GameSpeed , UT 2004 превратится в настоящую мясорубку. Транспорт будущего Следующий предмет нашего сегодняшнего “вскрытия” — файл User.ini , который, также как и UT2004.ini, содержит общие игровые параметры. Первым делом заглянем в раздел Engine.PlayerController , в котором нас интересует лишь одна (зато какая!) настройка — EnemyTurnSpeed. Она задает скорость, с которой разворачиваются ваши враги (проще говоря, их поворотливость). От значения этого атрибута во многом зависит AI ботов, а точнее — их скоростные способности. Повысьте указанное здесь число, и справиться с врагами будет значительно сложнее. Чуть ниже находится блок Engine.Vehicle , посвященный транспортным средствам и несущий в себе две настройки, общие для всех машин.
Рис. 4. Вид из кабины машины выполнен в UT 2004 на славу, несмотря на то, что активизировать его вы можете только через файл User.ini.
bDesiredBehindView — данный атрибут определяет, будет ли использоваться вид из кабины при управлении вами средством передвижения ( False — да, True — нет). TPCamDistance — расстояние от камеры до транспортного средства. Эти же два параметра вы обнаружите в следующих разделах, соответствующих определенным видам транспорта и артиллерии: Onslaught.ONSHoverTank — танк, Onslaught.ONSManualGunPawn — пушка, защищающая базу команды, Onslaught.ONSAttackCraft — воздушные средства передвижения, Onslaught.ONSHoverBike — джип, Onslaught.ONSTankSecondaryTurretPawn — турель танка, которой управляет отдельный игрок (не водитель). Кроме того, каждый из этих блоков несет в себе параметры прицела транспортного средства.
Рис. 5. Прицел транспортного средства можно перекрашивать в любой цвет (в данном случае, например, я окрасил прицел синим) и вообще всячески видоизменять. Мелочь, а приятно.
Вот их список. CrossHairColor — цвет прицела. Значение характеристики выглядит следующим образом: (B=N1,G=N2,R=N3,A=N4) , где N1, N2, N3 и N4 — числа от 0 до 255. N1 определяет долю синего цвета в окраске прицела, N2 — зеленого, N3 — красного, тогда как N4 задает прозрачность прицела (чем выше число, тем она ниже). CrosshairX — координата прицела по оси X. CrosshairY — координата по оси Y. CrosshairTexture — текстура прицела. Обратите внимание на то, что значения графических параметров (тех, что задают скины, модель, текстуру для какого-либо объекта/субъекта или любую другую картинку) имеют вид: X.Y , где X — категория, к которой относится текстура (или модель), а Y — название последней (расширение файла прописывать не нужно). В случае со скином (или любой другой картинкой) наименование категории (то есть X) совпадает с именем архивного файла формата utx , содержащего данный рисунок (оно, напомню, указывается вместо Y). В файле User.ini особую значимость имеют графические параметры, связанные со средствами передвижения. В первую очередь к ним относятся настройки камеры ( bDesiredBehindView и TPCamDistance ), которые позволяют расположить последнюю удобным для вас образом. Лично мне более всего симпатичен вид из кабины (см. рис. 4 ) — наблюдать за происходящим куда приятнее прямо из окна транспортного средства, нежели со стороны. Изменяя значения других графических параметров — CrossHairColor , CrosshairX , CrosshairY и CrosshairTexture , — вы можете преобразовать прицелы транспортных средств так, как вам будет угодно (см. рис. 5 ). Более того, несложно нарисовать абсолютно новый прицел своими руками. Гладиаторы нереальности Итак, мы придали основным игровым параметрам новые значения, преобразовав тем самым геймплей. Но все эти изменения мало что привнесут в игровой процесс, если не будут подкреплены добавлением в игру новых действующих лиц и карт. Если с выделкой карт, думаю, все более-менее понятно — для этого предназначен игровой редактор UnrealEd, то новых персонажей приходится добавлять не только с помощью этой многофункциональной программы, но и посредством редактирования ряда файлов. Важнейшими среди них являются файлы xplayersL1.upl и xplayersL2.upl , лежащие в каталоге \System. И тот, и другой имеют одну и ту же структуру и хранят в себе характеристики героев игры. Устроены оба файла следующим образом. В каждом из них имеется лишь один раздел — Public , который содержит группы параметров вида Player=(X=“N1”,Y=“N2”,Z=N3, …) , где на месте X, Y, Z стоят названия параметров, а вместо N1, N2, N3 — соответствующие значения.
Рис. 6. Теперь вы имеете возможность поиграть в сингле за нашего старого знакомого Malcolm’а.
Вот список основных местных параметров. DefaultName — имя персонажа (указывается в кавычках). Race — раса, к которой он принадлежит. Возможны следующие значения: ThunderCrash, Mercenary, Egyptian, Juggernaut, Gen Mo’Kai, Robot, Nightmare, Skaarj, Cybernetic, Hellions. У героев-людей этот атрибут отсутствует. Mesh — модель героя. Как указываются значения подобных атрибутов мы уже разбирали, говоря о настройке CrosshairTexture из файла User.ini. Species — биологический вид, к которому принадлежит субъект. Здесь следует указание на раздел файла XGame.int , содержащий показатель SpeciesName , в значении которого и прописывается название вида (это наименование и отображается в игре при просмотре сведений о данном персонаже). В общем же значение параметра выглядит следующим образом: xGame.N , где xGame — название int -файла, к которому идет обращение, а вместо N стоит имя нужного раздела этого файла (оно в свою очередь строится так: SPECIES_X , где X — название расы, к которой относится субъект). BodySkin — скин тела персонажа. Значения этой и следующей характеристик состоят из двух частей и выглядят так: PlayerSkins.X , где X — название текстуры формата dds (указывается без расширения), содержащей скин и упакованной в архив PlayerSkins.utx. О том, как просматривать содержимое графических архивов, читайте чуть ниже. FaceSkin — скин лица. Portrait — портрет. Все портреты создатели игры положили в архив PlayerPictures.utx. Text — ссылка на текст с описанием персонажа. Значение выглядит следующим образом: X.Y. Вместо X прописывается имя текстового файла (в данном случае — XPlayers ) без расширения, а вместо Y — название параметра с описанием. В самом же файле XPlayers.int вы найдете кучу таких параметров (каждый соответствует определенному герою). Значение каждого из них отделено от имени знаком равенства и заключено в кавычки. Sex — пол ( Male — мужской, Female — женский). Menu — возможность играть за данного персонажа в сингле. “SP” — имеется, “DUP” — или ““ (пустые кавычки) — нет. У секретных героев здесь указаны их имена — Malcolm , Xan и Clanlord , благодаря чему вся троица по умолчанию недоступна для игры как в сингле, так и в мультиплеере. Впрочем, вы можете это легко исправить. Поставьте всем действующим лицам значение “SP”, и полный набор персонажей будет доступен в обоих видах игры. Ассортимент моделей в многопользовательском режиме при этом немного расширится. Кроме того, вы получите возможность пройти игру за нового героя в сингле (см. рис. 6 ), что также будет большим плюсом и внесет в нее немного разнообразия, ведь разработчики предоставили игроку на выбор всего несколько персонажей. Помимо перечисленных выше характеристик каждый герой в одиночной игре имеет набор характеристик, придающих ему уникальность. При этом, если для персонажа в этом файле не прописано того или иного атрибута, то подразумевается, что значение последнего стандартно, то есть равно единице. Наличествующие же у субъекта характеристики могут принимать как положительные, так и отрицательные значения (чем выше указанное число, тем лучше развито умение). Сюда также подойдут и дробные числа (в них целая часть должна отделяться от дробной точкой). Максимальное значение — 2 , минимальное — -2. Обратите также внимание на то, что вы можете присваивать герою недостающие показатели (чтобы затем изменить их значения), просто добавляя их в
Рис. 7. Умения героя по имени Torch существенно улучшились за счет правки всего нескольких параметров в файле xplayersL1.upl.
соответствующий ему набор атрибутов (не забудьте отделить запятой новый показатель от уже имеющихся). Что касается последнего, то в него могут входить следующие атрибуты: Aggressiveness — агрессивность героя; Tactics — тактические навыки; CombatStyle — боевые навыки; Jumpiness — прыгучесть; StrafingAbility — умение стрейфиться (чем выше, тем быстрее стрейфится персонаж); Accuracy — меткость. Наравне с шестью приведенными выше атрибутами многие персонажи игры имеют еще один параметр, делающий их неповторимыми. Это характеристика FavoriteWeapon , задающая любимое оружие героя. Бот, управляющий за данного персонажа, будет пользоваться указанной пушкой намного чаще, чем другими стволами. Значение показателя выглядит следующим образом: XWeapons.Y , где на месте Y стоит название оружия. Если наименование ствола состоит из двух слов, то пробел между ними не ставится. Например, у героя, превосходно владеющего искусством стрельбы из снайперской винтовки, здесь стоит следующее обозначение: XWeapons.SniperRifle. UseSpecular — данный показатель определяет, будут ли отдельные участки модели персонажа отражать свет ( 1 — да, 0 — нет). Используется для моделей роботов. В случае, если параметр отсутствует, подразумевается, что его значение равно нулю. BotUse — вероятность того, что бот будет играть за данного героя. Измеряется в целых числах от 0 до 3. При 0 компьютер никогда не будет выбирать этого персонажа, тогда как при 3 — наоборот, будет максимально часто за него управлять. Редактирование этого атрибута позволяет вам регулировать сложность игры. Так, ставя значение 3 персонажам посильнее, вы подбираете себе наиболее достойных противников. И наоборот — поднимая до тройки значение характеристики у более слабых героев, вы облегчаете себе жизнь. Занимаясь корректировкой значений параметров из файлов xplayersL1.upl и xplayersL2.upl , вы можете здорово изменять основные характеристики и умения игровых персонажей. Это в свою очередь очень пригодится вам при добавлении в игру новых героев. Правка атрибутов Aggressiveness , Tactics , CombatStyle , Jumpiness , StrafingAbility , Accuracy и FavoriteWeapon поможет вам сделать этих персонажей по-настоящему яркими и неповторимыми, благо умений здесь хватает (по меркам экшена, разумеется). К примеру, если вы хотите вставить в игру героя, являющегося прирожденным снайпером, установите для него высокую меткость (показатель Accuracy ) и снайперскую винтовку в качестве любимого оружия ( FavoriteWeapon ). Новое лицо UT 2004 Теперь, когда мы подправили общие характеристики персонажа, настало время позаботиться о подходящей для него внешности. Конечно, будет большим плюсом спроектировать при этом новую модель, но это, сами понимаете, очень трудоемкий процесс (читайте цикл статей “Игромодельер” на страницах
Рис. 8. Перед вами — окно редактора UnrealEd, предназначенное для работы с текстурами.
“Мастерской” последних трех номеров “Игромании” ). Если вы владеете искусством моделирования — великолепно, в этом случае вы сможете “слепить” нового во всех отношениях персонажа. Если нет, не отчаивайтесь. Просто выберите из уже имеющихся моделей (а их здесь предостаточно) ту, что более всего подходит для создаваемого вами персонажа, и займитесь корректировкой ее скина. Как уже отмечалось в начале статьи, все игровые текстуры (в том числе и скины персонажей) припрятаны в своеобразные архивы — файлы формата utx , находящиеся в папке \Textures. Каждый utx -файл содержит текстуры, принадлежащие к какой-то определенной категории. Например, в файле Skies.utx вы обнаружите текстуры неба, в файлах VehicleSkins.utx и VMVehicles-TX.utx — скины транспортных средств, в WeaponSkins.utx , UT2004Weapons.utx и VMWeaponsTX.utx — скины оружия, в SkaarjPackSkins.utx — “шкурки” монстров для режима игры Invasion, в PickupSkins.utx — скины “призов”, в HUDContent.utx и 2K4Hud.utx — рисунки для HUD’а, а в TeamSymbols.utx , TeamSymbols_UT2003.utx и TeamSymbols_UT2004.utx — гербы команд. Чтобы извлечь любую здешнюю текстуру на свет божий, вам понадобится два инструмента — редактор карт UnrealEd и набор утилит DXT Tools (обращайтесь за ним к нашему CD- или DVD-диску ). Делается это следующим образом (схема распаковки текстур в UT 2004 во многом схожа с работой со звуком). Запустите UnrealEd. На панели инструментов программного окна нажмите на кнопку с изображением картины (называется Texture Browser ). В результате на экране появится окошко, озаглавленное как Textures , имеющее свою строку меню (см. рис. 8 ). Выберите в последней пункт File/Open и укажите путь нужного вам utx -файла (или же просто выберите нужный архив из списка, находящегося чуть ниже панели инструментов окна Textures), после чего в нижней части окна появятся изображения входящих в архив (а точнее, в выбранную группу текстур архива) картинок (как правило, их настолько много и они такие большие, что приходится пользоваться полосой прокрутки). Под каждым графическим файлом подписаны его название и краткие характеристики (формат и разрешение). Кстати, о названии. Имя каждого текстурного файла складывается из пяти-шести составляющих. В качестве наглядного примера возьмем текстуру EgyptFemaleABodyA_0.dds. Первое слово в ее наименовании — Egypt — обозначает здесь расу, к которой принадлежит персонаж (о том, какие в игре существуют расы, мы уже говорили при разборе файлов xplayersL1.upl и xplayersL2.upl ), Female — пол ( Male — мужской, Female — женский), Head — область, на которую накладывается текстура ( Body — тело, Head — голова),
Рис. 9. Вот и сам Дюк Нюкем пожаловал к нам на турнир.
цифра 0 — команду, за которую играет герой ( 0 — красные, 1 — синие). Последнего компонента (подчерка и цифры) в имени “шкурки” может и не быть, если она предназначена для героя, не относящегося ни к какой команде, то есть для игроков в некомандных режимах игры. Что касается буквы A (на ее месте может стоять и любая другая латинская буква), примкнувшей с двух сторон к слову Head, то она называет вариацию скина, использующуюся в данном случае. Чуть выше списка изображений текстур помещается строка, в которой вы можете выбрать ту или иную группу текстур из выбранного архива (содержимое этой группы вы и видите в нижней части окна Textures). В некоторых utx -файлах, правда, имеется всего одна группа — в этом случае эта строка пустует. Но это, скорее, исключение из правил. Скажем, архив WeaponSkins.utx включает в себя четыре группы текстур, основные из которых — AmmoPickups (содержит текстуры для коробок с патронами в различных вариациях) и Skins (сами скины стволов). Нажав же на кнопку с надписью All , расположенную рядом со строкой с перечнем групп, вы получите полный список изображений, входящих в архив текстур. Если вам нужно изменить скин какого-либо героя, откройте архив PlayerSkins.utx , если речь идет о персонаже, который перекочевал в игру из предыдущей части, и UT2004PlayerSkins.utx , если это новое действующее лицо, появившееся лишь в UT 2004. Далее выберите из списка интересующий вас рисунок, кликнув на него правой кнопкой мыши. Появится небольшая менюшка, пункты которой позволят вам совершать разнообразные преобразования над выбранной текстурой. Чтобы вытащить последнюю из архива, используйте пункт Export to File (либо выберите пункт меню File/Export , кликнув перед этим на текстуру левой кнопкой мыши) и укажите каталог, в который вы хотите положить картинку после распаковки. На выходе вы получите нужную вам текстуру в формате dds. Для конвертирования ее в более распространенный tga -формат используйте программный пакет DXT Tools , который был нами нередко задействован при проведении предыдущих “вскрытий”. Напомню, что для перевода текстуры с помощью DXT Tools из dds-формата в tga вы должны запустить из директории с программой файл readdxt.exe с параметром: readdxt <имя dds-файла> (например, readdxt C:\Textures\FlakAmmoTex.dds), в результате чего в этой же папке появится файл test.tga с нужной картинкой. Последнюю можете спокойно перерисовать в любимом графическом редакторе (например, в Photoshop ). Обратное действие, то есть
Рис. 10. В UT 2004 править можно практически все встречающиеся в игре надписи и сообщения.
конвертирование tga-файла в формат dds, осуществляется посредством запуска файла nvdxt.exe с параметром: nvdxt <имя tga-файла> (например, nvdxt test.tga). Следующим действием верните полученному файлу то имя, которое он имел до перекодировки в tga-формат. Наконец, упакуйте файл обратно в архив, откуда его извлекли. Для этого снова запустите редактор UnrealEd и активизируйте окно Textures. В последнем откройте архив для упаковки, выберите пункт меню File/Import и укажите путь измененного dds-файла. В следующем окне, названном Import Texture , просто нажмите на кнопку OK. И не забудьте сохранить произведенные в архиве преобразования, используя пункт меню File/Save. Готово — новая текстура в игре. Редактируя игровые текстуры с помощью трех основных инструментов — UnrealEd , DXT Tools и вашего любимого графического редактора, вы можете здорово изменять облик игровых арен, сражающихся на них бойцов, транспортных средств, оружия, “призов” и многого другого. В частности, можно вставить в UT 2004 текстуры из любой другой игры, стилизуя тем самым первую под последнюю. Особенно рекомендую обратить внимание на перерисовку скинов (а соответственно — и портретов) персонажей, которая вкупе с корректировкой их параметров и описаний (впрочем, к теме редактирования игровых текстов мы обратимся чуть позже) поможет вам добавить в игру абсолютно новых действующих лиц. Ваш покорный слуга, например, добавил в игру самого Дюка Нюкема (см. рис. 9 ). За основу я взял модель персонажа по имени Torch, подменил его портрет и немного “подработал” скин. А именно — слегка затемнил солнечные очки, немного осветлил волосы, “сбрил” щетину, добавил на одежду в нескольких местах знак радиации — неотъемлемый атрибут Дюка. Разумеется, изменил имя, краткие характеристики и описание героя в файле XPlayers.int (об этом файле мы еще поговорим), а также путем правки параметров из файла xplayersL1.upl присвоил новоявленному персонажу высокую агрессивность, неплохую меткость и отменные боевые навыки. Ну, чем не Дюк Нюкем? Тексты и скрипты Вернемся к папке \System , лежащей прямо в игровой директории. Помимо уже разобранных выше ini- и upl-файлов здесь вы обнаружите и другие немаловажные ресурсы, которые понадобятся нам при “вскрытии”. К ним можно отнести файлы, носящие расширения u и int. Первые хранят в себе многочисленные игровые скрипты. Из таких файлов следует выделить следующие: GamePlay.u — скрипты, касающиеся непосредственно игрового процесса, Vehicles.u — скрипты, относящиеся к машинам, XWeapons.u и XWeapons_rc.u — оружию, XPickups.u и XPickups_rc.u — “призам”. Просматривать u-файлы удобнее всего (по крайней мере, лучшего способа ваш покорный слуга не нашел) в стандартном “Блокноте”, пометив при этом галочкой пункт меню Вид/Только текст (иначе вам будет крайне сложно разобраться в структуре выбранного файла). Правда, и после этого в u-файлах будут оставаться места, заполненные какими-то непонятными символами (особенно в начале и конце файлов), но основное содержимое предстанет во вполне приемлемом для редактирования виде — в виде скриптов. Естественно, соваться сюда рекомендуется лишь тем, кто уже имеет представление о скриптах или, по крайней мере, владеет основами программирования. Если вы относитесь к хотя бы одной из этих двух групп геймеров, вы сможете поменять многое (даже очень многое) в игровом процессе, правя строки программного кода в этих файлах. Что касается файлов с расширением int , то они содержат игровые тексты. Вот основные int-файлы, которые нас могут заинтересовать: Engine.int (сообщения, непосредственно связанные с движком игры), GamePlay.int (отдельные реплики, произносимые игровыми персонажами, и названия “призов”), Startup.int (надписи, отображаемые во время загрузки игры), UnrealGame.int (сообщения, появляющиеся во время игры), Window.int (названия кнопок и пунктов игрового меню), XGame.int (речь персонажей и сюжетные текстовые вставки), UT2004.int (сообщения, выводимые на экран при запуске игры и при выходе из нее), XInterface.int (интерфейсные надписи), XMaps.int (описания карт), XPickups.int (сообщения при подбирании “призов”), XPlayers.int (биографии и краткие характеристики игровых персонажей), XWeapons.int (описания оружия), Editor.int (надписи и текст, использующийся в редакторе UnrealEd ), Onslaught.int (текстовые вставки, предназначенные для режима игры Onslaught), SkaarjPack.int (текст для режима Invasion), UT2k4Assault.int (для Assault). Естественно, все эти int-файлы можно править в любом текстовом редакторе. В плане построения они очень схожи с файлами User.ini и UT2004.ini , разобранными выше. В частности, здесь также имеются разделы, каждый из которых располагает группой параметров (а иногда и одиночным параметром). В значении каждого из таких атрибутов содержится то или иное текстовое сообщение (оно взято в кавычки). Как видите, все стандартно. Так что с правкой этих файлов, думаю, у вас не должно возникнуть никаких проблем. Посредством изменения int -файлов несложно полностью переписать все игровые тексты. В случае, если вы добавляете в игру нового персонажа, особое внимание следует уделить файлу XPlayers.int и подправить в нем должным образом сведения о заменяемом герое. Тем самым вы завершите процесс создания героя. Кроме того, редактирование этих файлов поможет вам подкорректировать сюжет игры (который в оригинале примитивен до безобразия). В этом случае обязательно обратитесь к файлу XGame.int , где находится текст, рассказывающий о предыстории турнира, и сообщения, комментирующие ваше продвижение по турнирной лестнице. Подправьте весь этот текст так, чтобы преобразовать сюжетную линию в сторону большей оригинальности и увлекательности. В дополнение к уже проделанной работе можно изменить звуковые файлы различных речевок. Высшим пилотажем при этом будет перезапись соответствующих звуков (а их не так много). В основном они содержатся в архиве IntroAnnouncers.uax (напомню, что звуковые архивы следует искать в каталоге \Sounds ). *** * *** Итак, настало время воплощать в жизнь свои самые смелые идеи и задумки. Первым делом при создании модификации советую придумать для игры новую сюжетную линию, более продуманную и интересную по сравнению с оригинальной, и переписать предысторию. Затем было бы весьма кстати переоформить игровые карты, используя нарисованные вами текстуры, а еще лучше — собственноручно сделать арены для битв. Важное звено в нашем сегодняшнем модостроении — добавление в игру новых персонажей, интересных и уникальных. Это, кстати, могут быть герои из других игр, как, например, Дюк Нюкем, о котором писалось выше. Дополнительным плюсом будет редактирование основных игровых параметров из файлов User.ini и UT2004.ini (таких как скорость игры, максимальное число игроков, настройки камеры для транспортных средств), изменение интерфейсных картинок (в том числе и HUD’а) и моделей героев, а также правка скриптов, представленных u -файлами. Если все эти шаги будут выполнены вами четко и тщательно, можете быть уверены, вы получите отличный играбельный мод.