Новый Год в долине ледяных ветров. Создание игры на движке Icewind Dale 2
Мы идем уже третий день. Лишь изредка делаем небольшие привалы. По ночам никто не спит. У всех только одна мысль: "Как же холодно!". Постоянно дует обжигающий северный ветер, он пронизывает нашу одежду. Парни, кажется, начинают роптать, требуя вернуться домой. Да еще Томми (наш проводник) на вопрос, сколько еще идти, что-то неопределенно мычит и кивает головой на север. Зря команда согласилась в очередной раз надрать задницу плохим парням. А ведь скоро праздник — Новый Год. Хотя кое-что хорошее в путешествии есть. Вокруг столько прекрасных пейзажей. Горы. Я так и шел, погруженный в свои мысли, как вдруг крик: "Йети!". О боже! Это пять йети, и они идут на нас. Нам против них не выстоять. Только один выход: бежать. Все рванули так, как будто не было шести часов утомительного пути по горным тропкам, запорошенным снегом. Кажется, оторвались. И тут за очередным поворотом перед нами раскинулась величественная картина: бескрайная равнина, несколько городов, по форме напоминающих кляксы. Эти города-пятна темного цвета прекрасно видны на белом фоне снега. Томми воскликнул: "Добро пожаловать в Долину Ледяных Ветров. На местном наречии ее название звучит Icewind Dale 2".
Мы опять оказались в Долине Ледяных Ветров, благодаря компании Black Isle. Игра — великолепна. Но в отличие от большинства современных ролевых игр, у нее нет редактора. И, кажется, после прохождения стандартной кампании игра будет удалена, так как ничего нового в ней не будет. Моды и аддоны не появятся. После прочтения данного материала вы сможете создать не только свои дополнения, но даже свою собственную РПГ с уникальной системой в основе. Со своими NPC, квестами, используя отличный движок Infinity. Вы действительно можете воплотить в жизнь все, что только представите в своем воображении. А главное, что для этого потребуется минимум усилий. Для работы нам будут нужны ряд утилит, присутствующих на компакт-диске "Игромании", максимальная инсталляция Icewind Dale 2 и желание создать свою игру.
По заснеженным дорогам Прежде чем редактировать любой файл, сделайте
резервную копию. Это спасет от необходимости переустановки игры. Что же, приступим! Открывайте ту папку, куда у вас проинсталлирован Icewind Dale 2. В корневой директории находятся несколько ini-файлов. Открывайте party.ini в "Блокноте". В этом файле описываются партии, которые предлагаются в самом начале игры. Каждая партия вынесена в отдельный блок. Блок начинается со строчки [Party X] (здесь и далее по тексту X используется для обозначения цифры). После начала блока следует строка Name=<имя партии>, где имя партии может быть любым. Далее следуют строчки вида DescrX=<описание персонажа>. Количество этих строчек равно количеству персонажей в данной группе. Здесь после знака равно указывайте словесное описание персонажа. А завершают описание группы строки CharX=<имя файла персонажа>. Файл персонажа должен находиться в папке <Каталог с игрой>\Characters и иметь расширение chr. Кроме того, в этой директории могут лежать файлы *.res. В них находится биография персонажа. Эти файлы легко модифицируются текстовым редактором. Надо полагать, что стандартные партии от Black Isle никого не устроят. Придумайте достойные жизнеописания героям, сформируйте свои команды, которыми будет действительно интересно и трудно играть. Загружайте Language.ini. В этом файле лежит языковое оформление конфигуратора IW2,а также частично оформление самой игры. Изменяя содержимое этого файла, можно добиться перевода настройщика на русский язык. Установите и запустите утилиту Infinity Sound Converter (напомню, что ее можно взять с компакта "Мании" или в Сети по адресу www.teambg.com). Она нужна для конвертации игровых звуковых стандартов в обычные. К сожалению, обратные преобразования она не проводит. Заходите в директорию \music\. Там лежат в различных подпапках музыкальные композиции в стандартном для Icewind Dale 2 формате acm. Преобразовывайте их в wav и творите. Микрофон — к губам, и записывайте заново все голоса. Подбирайте музыку соответственно своей игре и заменяйте. Например, футуристичным ролевкам подойдут техно композиции. Ну а для фэнтезийных стоит обратиться к классическим музыкальным произведениям. Теперь запускайте программу snd2acm. Она работает из командной строки и выполняет преобразование из wav в acm. Зайдите в папку <Каталог с игрой>\Sound. Она богата комплектами озвучек для персонажей. Сама озвучка лежит в особом формате, который понимает Sound Converter. Я бросился работать со звуками. И просто не смог не добавить шварцнеггеровское "I’ll be back".
Гоблины без акцента Воспользуемся программкой Infinity Talker (все на наш компакт).
Это произведение программистской мысли предназначено для просмотра и редактирования tlk-файлов. Открывайте при помощи утилиты файл dialog.tlk, находящийся в основном каталоге игры. Он содержит текстовую информацию: диалоги, описание спеллов, классов, рас. Каждый текст имеет свой ID (идентификационный номер) или String Reference по терминологии программы. Этот номер для каждого текста должен быть уникальным, так как используется в других файлах игры. Обратите внимание, что некоторые строки имеют звуковую надиктовку (этот факт обозначается в специальном поле программы Sound Resource). Любую строку можно отредактировать. Наша задача при создании своей игры состоит в том, чтобы подвергнуть тотальному изменению этот файл. Все диалоги, описания спеллов, скиллов, предметов, рас, всевозможная игровая текстовая информация должна быть заменена на соответствующие фразы на живом великорусском языке. Не забудьте добавить и придуманные вами названия спеллов. И тогда гоблины и нежить залопочут на настоящем русском языке без какого-либо намека на акцент. Загружайте WinBiff.Рекомендую запускать программку в Advanced Mode.После загрузки необходимо будет нажать на кнопку load и указать путь к файлу Chitin.key (он находится в основной папке игры). После этих действий слева в окне программы вы увидите список bif-архивов, присутствующих в игре. Если кликнуть по имени любого из архивов в списке, то во втором списке появится его содержимое. При желании любой файл в архиве можно
удалить и/или добавить или заменить, для чего предназначены соответственно кнопки Add Files, Extract Files, Remove Files. Программа позволяет создавать свои bif-архивы. Давайте отдельно рассмотрим содержимое важнейших bif-ов. Группа архивов ARXXX.bif содержит файлы игровых областей, в том числе карту области, тайлсеты и некоторые рисунки. Тот рисунок, что отображается на миникарте (то есть представляет собой карту в уменьшенном размере) в игре, хранится в формате mos. Для редактирования этих файлов предназначен программный инструмент — MosWorkShop. Отдельного внимания заслуживает 2DA.bif. Там хранятся особые файлы, определяющие всю игровую систему. Абсолютно всю. Экспортируйте все здешние файлы в отдельную папку. Мы займемся ими попозже. Группа ANMXXX.bif является пристанищем для анимации всех основных монстров. Анимация сохранена в особом формате bam. С этим форматом работает специальная программа Bam WorkShop. Ее интерфейс предельно прост и напоминает стандартный графический редактор Paint. Перерисовывайте монстров. Придумывайте новых, сделайте для них свою анимацию. По случаю Нового Года вместо обычных гоблинов в моей игре появились странные гибриды Йоды и Санта-Клауса в противогазе. Файлы SNDXXX.bif содержат в себе звуки. Звуковые файлы имеют стандартное расширениеwav, но не формат. С ними справится уже упомянутая Infinity Sound Converter. Здесь тоже все необходимо подвергнуть тотальному изменению. Без приятного моему слуху восклицания "Zug-Zug" я не обошелся. Особого внимания заслуживает группа GUIXXX.bif. Здесь расположились различные bam-файлы из оформления игры — всевозможные кнопки, скроллбары и прочее. А также шрифты. Вот эти самые шрифты стоит перерисовать. Во-первых, добавить русские буквы, чтобы сообщения на русском языке отображались нормально. Можно изменить оформление шрифта, подрисовав каждому символу различные закорючки. И тем самым кардинально преобразить его. Теперь у меня буквы стилизованы под тот шрифт, которым написано название нашего журнала на обложке. Не забудьте перерисовать кнопки, иконки и прочее, чтобы поменять интерфейс. SPLbam.bif — эффекты спеллов. SPLsfx.bif —звуковые эффекты спеллов (здешние файлы нуждаются в дополнительной обработке программой Sound Converter). ARTport.bif —портреты персонажей в формате bmp. При желании сюда можно добавить и свое лицо. Подготовьте к работе "Блокнот" и загрузите в него файл THAC0.2DA, предварительно сохраненный из архива 2DA.bif. Этот файл определяет THAC0 у разных классов на разных уровнях. Весь файл разбит на столбцы. По своей сути — это большая таблица. Первый столбец — название класса, второй столбец — THAC0 на первом уровне, третий столбец — THAC0 на втором уровне. И так далее вплоть до 39 уровня.
Второе пришествие зергов Давайте разберемся с игровыми расами. Объект нашего
внимания — RASERSMD.2DA.Это такая же табличка, как и в предыдущем случае. Здесь в первой колонке указывается раса, во второй — устойчивость к огню (fire), в третьей — устойчивость к холоду (cold), в четвертой — к электричеству (elec). Далее по порядку идут: иммунитет к кислоте (acid), к спеллам (spell), к магическому огню (magic_fire), к магическому холоду (magic_cold), к режущим атакам (slashing), к атакам тупым оружием (bludgeoning), к атакам колющим оружием (piercing), к атакам метательным оружием (missile). Устойчивость выражается в процентах. Во всех колонках необходимо указывать цифру. Следующий пациент на очереди — RACESPAB.2DA. Здесь всего 2 столбца. Первый — раса. Второй — имя 2da-файла, в котором находится список специальных способностей расы. Загружайте SUBRACES.2DA. Здесь уже 5 столбцов. Первый столбец — простое название расы. Второй — "чистая" основная раса, третий — 1-ая подраса, четвертый — 2-ая подраса, пятый — 3-я подраса. Далее загружайте файл ABRACERQ.2DA. Он определяет минимальные и максимальные значения силы, ловкости и других параметров для различных рас. В первом столбце указывается имя расы (внутриигровое имя). Второй столбец — MIN_STR — минимальная сила у расы. MAX_STR — максимальная сила. MAX_DEX и MIN_DEX —максимальная и минимальная ловкость соответственно.
MIN_CON и MAX_CON —максимальное и минимальное телосложение. MIN_INT и MAX_INT —максимальный и минимальный интеллект. MIN_WIS и MAX_WIS —максимальная и минимальная мудрость. MIN_CHR и MAX_CHR —максимальное и минимальное обаяние. Теперь вы готовы к созданию новых видов живых существ. Не только непохожих друг на друга внешне, но с разными способностями. Я добавил сюда чистокровных орков и моих любимчиков зергов. Используйте все предоставленные сведения с умом. Создавайте сильных, интеллектуальных и ловких существ, которые станут достойными противниками или вашими соратниками в игре. Спасброски всех классов определяет отдельная группа SAVE*.2DA. Для каждого класса существует свой файл. Их внутреннее устройство очень простое. Первый столбец — уровень. Второй — Fortitude —значение спасброска Fortitude. Reflex —значение спасброска Reflex. Will — значение броска Will. Давайте вплотную займемся FEATS.2DA, в котором перечислены все фиты. Первый столбец — название фита. Внутриигровое название. Второй — ID — идентификационный номер. Это числовое значение для каждого фита должно быть уникальным. Оно используется в других файлах для ссылки на какой-то конкретный фит. NameRef — идентификационный номер строки с именем, отображаемым в игре, из файла dialog.tlk. DESC_REF — описание фита. Впечатывайте ID текста из dialog.tlk. Далее следуют столбцы с названиями классов, в которых указано, присутствует ли этот фит у класса. Если стоит цифра 1 — то да, если 0 — нет. Завершают файл столбцы с названиями рас. В них указано, присутствует ли данный фит у расы. 1 — да, 0 — нет. Загружайте FEATLVL.2DA. Файл определяет, на каких уровнях персонаж получает фит. Он состоит из двух столбцов. В первом указан уровень, а во втором стоит либо 0 (персонаж не получает фитов на уровне) или 1 (персонаж получит фиты при достижении этого уровня).
Умения
Открывайте SKILLS.2DA. Файл содержит в себе информацию обо всех игровых умениях. Первый столбец без названия содержит имя скилла. Второй — ID — цифровое значение — используется в других файлах и скриптах для ссылки на умение. Это цифровое значение для данного умения в данном файле должно быть уникальным. Третий столбец — NameRef — идентификационный номер строки с именем, отображаемым в игре, из файла dialog.tlk. DESC_REF — описание скилла. Это также ID текста из файла dialog.tlk Далее идут столбцы (имя каждого столбика совпадает с сокращенным названием класса) с указанием бонуса к скиллу у данного класса. Далее следуют столбцы (имя каждого столбца совпадает с названием расы), в которых указан бонус к умению у данной расы. Теперь объектом редактирования станет файл SKILLCLS.2DA. Файл определяет классовые бонусы к скиллам. Первый столбец — название класса. Второй столбец — Pick_Pockets — бонус к скиллу "очистить карманы". Помните, что бонусы могут быть как положительными, так и отрицательными. OPEN_LOCKS —бонус к скиллу открывания замков. FIND_TRAPS —бонус к поиску ловушек. MOVE_SILENTLY —бонус к тихому передвижению. HIDE_IN_SHADOWS —бонус к возможности Hide in Shadows (прятаться в тени). DETECT_ILLUSION —бонус к поиску иллюзий. SET_TRAPS —улучшение установки ловушек. USE_MAGIC_DEVICE —бонус к использованию магических устройств. Файл SKILCOST.2DA определяет, сколько скилл-пойнтов следует затратить, чтобы улучшить умение. Первый столбец — название умения. Далее следуют столбцы, в которых указано число скилл-пойнтов, необходимых для улучшения умения. Можно просто изменять существующие умения, но гораздо интересней добавить свои. Поразмыслив, я включил такие скиллы, как медитация, а также починка вещей, телепатия, управление техникой. После внесения необходимых изменений в файлы я получил весьма необычную смесь футуристичной ролевой игры с фэнтезийной. Эдакий Arcanum на новый лад.
Авторитеты неизвестных миров Открывайте Repstart.2da. Файл описывает
начальную репутацию вашего персонажа. Первый столбец — мировоззрение лидера (может быть: L_G — lawful good, N_G — neutral good, C_G — chaotic good, L_N — lawful neutral, T_N — true neutral, C_N — chaotic neutral, L_E — lawful evil, G_E — good evil, C_E— chaotic evil). Второй ряд — Value — числовое значение репутации. Файл Happy.2da определяет степень счастья персонажей в зависимости от репутации. Первый столбик — числовое значение репутации. GOOD. Как чувствуют себя хорошие персонажи (отрицательные значения — плохо, положительные — хорошо). NEUTRAL. Как чувствуются себя нейтралы. EVIL. Как чувствуют себя злые персонажи. Файл XPLEVEL.2DA. Первый столбец — название класса, далее следуют столбцы с номерами. Каждый номер соответствует уровню. В столбике указывается значение, показывающие, сколько экспы нужно набрать для очередного level up. Теперь открывайте файл XPCAP.2DA. Напротив названия класса указывается максимальное значение экспы, которое он может иметь. Нас вряд ли устроит существующий потолок экспы и существующее количество уровней. Увеличивайте. Указывайте свои уровни и свое количество очков экспы, необходимое для достижения очередного уровня. Все встало на круги своя. Все получили по заслугам. Поездка была приятной. Будет что рассказать своим детям на ночь. Особенно про ту битву со страшными уродцами, напоминающими змей и плюющимися кислотой. Благо мифриловый меч был с мной. А нам еще нужно успеть вернутся домой до праздника. И пусть надпись GAME END и финальный ролик не испортят радостного настроения. Вы обладаете знаниями, достаточными для создания не только мода, но и своей игры. Придумывайте свои расы, рисуйте новых монстров, озвучивайте игру заново, не обойдите своим вниманием фиты и скиллы. Все преобразится, вы окажетесь в новой вселенной, в новом мире. В добрый путь...
435 Прочтений • [Новый Год в долине ледяных ветров. Создание игры на движке Icewind Dale 2] [19.05.2012] [Комментариев: 0]