"Старкрафт"... Наверное, ни одна другая игра не снискала такой популярности на протяжении последних четырех лет. До сих пор, несмотря на наличие более совершенных в техническом плане стратегий, в "Старика" играют в клубах и по Battle.net, делают для него кампании и моды. Вот как раз о модах и модостроении мы сегодня и поговорим. StarDraft и с чем его едят
Основным инструментом начинающего (или продолжающего) модостроителя является StarDraft—редактор и загрузчик cwd-файлов (cwаd, или Complex WAD — основной формат старкрафтовcких модов, включающий в себя патч с заменой определенных файлов игры на измененные). Берется оный, разумеется, с нашего диска (если в силу каких-то обстоятельств вы покупаете "Манию" без диска, то 2,7 Мб утилиты лежат на www.camsys.org). Версия под BroodWar v1.08 — это самая распространенная версия "Старкрафта". StarDraft состоит из двух частей — CWAD Manager и Patch Loader. С последним все ясно: выбираем, что хотим пропатчить — StarCraft или StarEdit, выбираем патч из списка имеющихся и запускаем. А вот CWAD Manager рассмотрим поподробнее. CWAD Manager CWAD Manager также состоит из двух частей — Standart и
Advanced. Стандартная часть содержит три опции — GRP Editor, Arsenal 2 и Self-Running CWAD Generator (о них будет рассказано ниже). Дополнительная часть — это обычный виндосовский список файлов, входящих в патч. Их можно переименовывать (правой кнопкой), вытаскивать из cwad'а (перетаскивая их в нужную директорию своего жесткого диска в окошке слева, при этом вас спросят, экспортировать с соблюдением древа подкаталогов или просто в указанную директорию) и удалять, перетаскивая на кнопочку delete file (в левом нижнем углу). Можно импортировать файлы из директории на своем винчестере путем перетаскивания их в окошко патча. Также стоит
рассказать о меню options (file и help проблем вызвать не должны). Там можно выбрать степень компрессии патча (high/low/no compression) — чем выше, тем меньше места файл занимает, но патчи с high compression прилично тормозят даже на мощных машинах. Кроме того, в options продублированы GRP Editor, Arsenal 2 и Self-Running CWAD Generator, а также имеется новая опция — Import File From MPQ. Она позволяет импортировать файл из игрового архива, будь то StarDat.mpq — основной cтаркрафтовский архив, BrooDat.mpq — архив аддона Brood War, или Patch_rt.mpq — архив "фирменного" патча либо любительской кампании. Мы подходим к первому из двух основных принципов редактирования в StarDraft. Принцип 1. Любой файл, замещающий оригинал (а других "Стар" не понимает), будет работать только при указании правильного пути файла. Например, вы имеете графический grp-файл на замену "Вультура" (о работе с графикой — ниже) и импортировали его в патч под названием MyVulture.grp. Чтобы он работал, вам нужно будет переименовать его в unit\terran\vulture.grp — именно по такому пути лежит оригинал. Все верные пути можно посмотреть в окошке MPQ Importer'a. Принцип 2. Следует из первого. При помощи одного только StarDraft нельзя создать полностью новый юнит. Можно взять старый, изменить его графику, характеристики, портрет и озвучку, но это будет замена.
Работа с графикой Сейчас мы поговорим о внедрении в свой мод новой графики для юнитов. Для этого предназначен GRP Editor. Первым делом вам придется импортировать нужный файл из архива игры
(игровая графика лежит с расширением grp). Пусть это будет Terran Wraith, как на скриншоте. Он лежит в архиве игры под названием unit\terran\phoenix.grp (один из редких случаев несоответствия игрового и архивного имени). Запустив GRP Editor,выбираем опцию Export Frames. Находим в списке искомый unit\terran\phoenix.grp, кликаем ОК и указываем желаемое имя. Можно повозиться с дополнительными опциями — выбрать одну из разных палитр по числу тайлсетов в списке внизу ("Старкрафт" работает в 256 цветах, так что нелишним будет проверить, как графика выглядит на разных тайлсетах), изменить "невидимый" цвет, который не будет отображаться в игре (по умолчанию — черный), или поставить прорисовку картинок-"масок" (для теней, например). Но вот искомый файл разложен на bmp-шки. Они лежат в подкаталоге с указанным вами названием. В директории уровнем выше появился одноименный ini-файл с указанием размеров и прочих данных картинок, ни в коем случае не удаляйте его! Теперь вы вольны отредактировать графику по вашему вкусу. Помните о том, что каждый grp-файл отображает юнита в 17xN кадрах, где N — число фаз движения, атаки и т.д. А 17 — число ракурсов, в которых юнит отображается при игре. То есть Vulture имеет 17 кадров (фаза и для движения, и для атаки у него одна), а Zergling — 296 (тут фазы и бега, и атаки, и смерти, и закапывания). Не советую переделывать многокадровых пехотинцев и прочую шагающую братию — замучаетесь. Для начала неплохо бы сделать свою замену для Vulture, Wraith или Battlecruiser — они имеют всего по 17 кадров. Как редактировать кадры — дело ваше. Можно что-нибудь подрисовать в Paintbrush'е. Можно сделать трехмерную модельку в 3D Max'е, снять с нее скриншоты в 17 ракурсах и поставить на место оригинальных картинок (только применяйте copy&paste — превышения размера или изменения палитры "Старкрафт" не переживет). А можно вытащить что-нибудь из фриварных модов с нашего компакта. Предположим, все кадры готовы. Теперь попробуем скомпоновать их в работоспособную grp'шку. Запускаем опять GRP Editor и выбираем Import Frames. Далее находим ini-файл с именем, указанным вами при "расчленении" оригинала. Если возникла табличка "A Fatal Error During Conversion", проверьтееще раз, все ли картинки сохранены в 256 цветах и не перемудрили ли вы с ini-файлом. Если же табличка не возникла, остается только ввести имя файла (какое угодно, переименовать на нужный манер вы всегда успеете), и можете смело себя поздравить — grp'шка успешно скомпилирована. Не забудьте протестировать ее в игре. И последний совет по графике. У многих терранских и протосских юнитов есть светящиеся огоньки дюз. Если вам понадобится их убрать (а скорее всего, понадобится — если ваш юнит сильно отличается от оригинала, то дюзы будут его портить), импортируйте нужный файл из числа unit\thingy\***glow.grp (например, unit\thingy\tbaglow.grp — дюзы от Battlecruiser'a), разложите его по кадрам, как описано выше, и все закрасьте "невидимым" (черным) цветом, после чего скомпилируйте обратно. Работа с ТТХ Новая графика для юнитов — хорошо. Но не менее
важной частью можно считать и изменение тактико-технических характеристик юнита. Для этих нужд существует Arsenal 2, в который входят Unit Editor, Upgrades Editor, Misc Editor и Stat Printer. Начнем со Stat Printer, который сохраняет данные в таблицу формата html. Misc Editor нам не пригодится, потому что редактирует "неизвестные" значения (т.е. в файлах данных эти значения есть, но за что они отвечают — науке неизвестно).
А вот Unit Editor иUpgrades Editor, которые служат для редактирования ТТХ юнитов и апгрейдов, мы рассмотрим поподробнее. Unit Editor General Редактор юнитов состоит из шести секций: General, Advanced, StarEdit, Graphics, Weapons и AI/Orders.В первой секции вы можете изменить основные данные юнита (предварительно выбрав его из списка слева). Такие как: Hit Points — здоровье;
Shields — протосские щиты — их можно поставить любому юниту; Sight — дальность зрения — не больше 11; Armor — тип и количество брони; Score — очки, полагающиеся за постройку и уничтожение этого юнита; Time/Minerals/Gas — время постройки/цена в минералах и газе; Space — место, занимаемое в транспорте; Supply Required — сколько supply "съедает" юнит; Size — размер, как общее понятие, так и конкретно в пикселях, плюс размер "кольца" вокруг юнита; Movement — тип передвижения — ходьба, воздушная подушка (как у Vulture), полет или ползанье по крипту (как у Larva); Anim Height — высота полета; Room — сколько юнитов может поднять — только для транспортов; Food x2 — сколько supply дает юнит, умножается на два. Advanced Секция Advanced отвечает в основном за специальные особенности юнита, вроде невидимости, неуязвимости и т.д. Полный список см. на врезке. Также в окошке Advanced имеются опции Subunit/Turret AttackRange (дальность "действия" башни, актуально только для танков и голиафов), Ground Max Hit (коэффициент умножения атак по земле — т.е. если здесь выставить 3, то атака будет в 3 раза мощнее), Air Max Hit (то же самое, но для атак по воздуху). Еще там есть несколько unknown-функций, но за что они отвечают — одному Blizzard ведомо. StarEdit Теперь переходим к секции StarEdit, в которой настраивается расположение юнита в редакторе карт. Окошек всего три: Availability (возможных вариантов куча, но все делятся на yes и no, т.е. доступен данный юнит или нет. Arsenal 2: Advanced
Секция Arsenal 2: Advanced позволяет изменить особенности юнита, достаточно поставить галочку напротив утверждения из следующего списка: is a building/structure — это — здание?
is an add-on — это — аддон к зданию? unit can fly — может летать? unit is a worker — это — рабочий? is a sub-unit/turret — это — башня от танка или голиафа? building can fly — если здание, то может летать? is a hero — это — герой, т.е. есть ли у него все апгрейды с самого начала? has HP regeneration — восстанавливает хитпойнты? has animated idle stance — лучше не трогать — все равно не работает can cloak — может ли маскироваться? is 2 units in 1 zerg egg — попытка изменить приводит к зависанию neutral accessories — это — нейтральный юнит, т.е. может ли его поднять любой рабочий? resource depot — содержит ресурсы? contains gas — содержит газ? robotic unit — это — робот (которого можно парализовать lockdown, но нельзя чинить)? detector — это — детектор? brood war unit — доступен только в Brood War? organic unit — можно его лечить? building must be on creep — если здание, должно ли быть на зерговском крипте? unused flag — это — флаг для CTF? requires psi energy — если это здание, должно ли оно быть в зоне действия пилона? can burrow — может ли закапываться? mana bar — есть ли полоска маны? permanent cloak — юнит постоянно невидим? NPC/accessories — это — нейтральный юнит? morph from other unit — превращается из другого юнита? large unit — не работает huge unit — не работает auto attack and move — сам ходит и атакует? attack — а может он вообще атаковать? invincible — он неуязвим? mechanical unit — можно его чинить? can produce ground units — а не может ли он строить наземные юниты? Не особо рассчитывайте на функции, отвечающие за способности типа burrow, cloak и т.д. У тех, у кого они есть, их отнять можно, а вот дать их другим юнитам никак не получится, заветная иконка не появится. Советую ставить yes — normal unit, тогда проблем с размещением вашего юнита не возникнет), Group (группа, в которой он находится, например, Zerg Buildings) и Sublabel/Order (на каком месте в списке он находится). Graphics Далее идет секция Graphics, которая отвечает за графику. Тут 6 окошек: Sprite — спрайт юнита, выбирается из списка всей игровой графики; Portrait — то же самое для портрета; Construction Anim — только для зергов — с какой анимацией будет сия тварюшка вылупляться; Overlay, Subunit 1 и Subunit 2 — лучше не трогать. Тут имеется один очень важный момент: спрайт юнита обязан согласовываться с тем, что этот юнит умеет. Бессмысленно выставлять стреляющему юниту спрайт зелота с его рукопашной атакой — это приведет к зависанию, точно так же, как и попытка заменить спрайт темплара на морпеха или, тем паче, летающего юнита на сухопутного. И уж совсем не стоит давать любому юниту облик ракеты ли пси-шторма. С портретами все на порядок проще — главное, не польститься на названия вроде Sally, Grom Biker или Bossk, это осталось с диких тестовых времен и в игре не работает. Единственное исключение — Merc Biker, это такой симпатичный портретик некоего "одноглазого Флинта", в оригинальной игре не встречающегося. Weapons Предпоследней в списке находится секция Weapons, в ней мы будем изменять оружие, которым пользуется юнит. Всевозможных параметров здесь вагон и маленькая тележка. Сначала надо выбрать тип атаки, который надо изменить, — air attack или ground attack, т.е. воздушная либо наземная атака. Далее идут два столбика. В первом имеются числовые значения оружия, такие как: Damage Amount — общий урон; Splash 1 — для взрывного оружия — урон на минимальном расстоянии от взрыва; Splash 2 — то же самое, но для среднего расстояния; Splash 3 — для большого расстояния; Bonus — надбавка за каждый уровень апгрейда; Factor — еще один множитель урона; Min Range — минимальная дальность поражения, 16 единичек за 1 игровую клетку; Max Range — максимальная дальность поражения, также 16 единичек за 1 игровую клетку; Cooldown Delay — время перезарядки, в миллисекундах (1000 миллисекунд = 1 секунда); Type — тип оружия, можно выбрать из Normal (обычное), Explosive (взрывное), Concussive ("сотрясающее", т.е. тоже взрывное, но не задевающее своих) и Special (спелл, вроде Lockdown)). Во втором столбике можно определить такие свойства оружия, как: Label — название оружия, выбирается из списка; Icon — иконка, также из списка; Error Message — сообщение при невозможности атаки (из списка); Sprite — спрайт, выбирается из того же списка, что и спрайт юнита; X-1, X-2, Y-1, Y-2 — координаты "вылета"; Upgrade Group — группа апгрейда, например, Protoss Ground; Attack Type — тип атаки — например, ground only (только по наземным юнитам) или mechanical only (только по механическим); Missile Type — тип полета ракеты — normal (по прямой), homing (с заходом на цель) или bouncing (от одного к другому); Explosion Type — различные типы взрывов; Special Attack — эффект разных спеллов; Behavior — поведение оружия (см. врезку). Согласовывайте спрайт оружия и его поведение, например, оружию "мгновенного действия" — тем же пулеметам — поведение типа Homing или Flies to Target никак не подойдет, а вот ракетам и плазменным шарикам — в самый раз. AI/Orders Последняя секция — AI/Orders. Редактирование поведения юнитов — дело сложное и неблагодарное, требующее долгого описания. К тому же разработчики уже поставили всем юнитам оптимальную схему поведения. Upgrade Editor С юнитами мы разобрались. Однако неплохо будет и отредактировать параметры всяких апгрейдов и спецспособностей, для чего в Arsenal 2 встроен Upgrade Editor. В нем есть 2 секции — Upgrades (апгрейды) и Technologies (технологии, например, Psi Storm или Cloaking). Давайте по порядку. Upgrades Секция Upgrades содержит следующие данные по апгрейдам (нужный апгрейд выбирается из окошка слева): Time Cost, Minerals Cost, Gas Cost — время и цена апгрейда, причем каждый показатель имеет 2 значения — base и factor, где base — первичная цена, а factor — надбавка за каждый уровень апгрейда; # of Upgrades — максимальное число апгрейдов; для стандартных брони и оружия равно 3, а для всяких charon boosters — 1. Советую всем ставить 100; Race — раса, которая имеет сей апгрейд; Label и Icon — название и иконка, выбираются из того же списка, что и в секции Weapons. Можно еще поставить галочку напротив Brood War Upgrade — тогда вы его увидите только в Brood War. Technologies Вторая и последняя секция — Technologies, где мы столкнемся только с двумя новыми опциями (Label, Icon, Race, Brood War Technology и Cost не отличаются от аналогичных опций в Upgrades, разве только factor отсутствует) — Mana Cost (стоимость в мане) и Already Researched (доступно с самого начала). Вот и все, что касается Arsenal 2. Последнее замечание — наведя курсор на поле для ввода числа (например, Cost или Damage), вы увидите в нижнем окошке максимальное значение, доступное для этого поля (обычно это 65535 или 255). Его лучше не превышать. Штрихи к портрету Юнит готов. Он получил новый спрайт и кучу изменений в ТТХ. Однако он еще должен обрести
новое имя, а может быть, еще и портрет с озвучкой. Для изменения имени импортируйте из архива игры файл rez\stat_txt.tbl и откройте его прямо в CWAD Manager'e. Он содержит названия всех юнитов, апгрейдов и технологий игры. Изменяйте что хотите, но не стирайте чисел в скобках, иначе название может работать некорректно. Если же вам захотелось изменить голос юнита и дать ему новый портрет (например, из нашей подборки с диска 11'2001), то импортируйте wav'ы из папки sound и smk'и из папки portraits основного архива в ваш патч. Экспортируйте его на жесткий диск с соблюдением структуры, измените и верните обратно (только не забывайте о Принципе I). Касаемо изменений — звуки делятся на ***wht (реплика юнита при клике на него), ***rdy (реплика юнита при его постройке), ***yes (подтверждение приказа) и ***pss (высказывание юнита, если по нему долго кликать), где *** — имя юнита. Например, TBaYes00 — подтверждение приказа battlecruisеr'ом — T(erran)Ba(ttlecruiser)Yes00. Портреты в SC представляют собой маленькие анимационные файлы формата smk. Они делятся на ***Fid (спокойное состояние) и ***Tlk (анимация разговора), *** — имя юнита. Звук можно переделать самому (с помощью хотя бы Windows Sound Recorder'а), а вот солидная подборка портретов находится на компакте номера 11(50) за прошлый год (создание своих портретов с нуля — дело сложное и в рамках этой статьи разбираться не будет). Впрочем, я советую для начала попробовать заменить портрет на один из имеющихся через Arsenal 2. Дополнения Как вы уже успели заметить, сам по себе StarDraft не способен на Поведение снарядов
Различные виды поведения "снарядов" (в скобках — примеры из игры): Flies to Target — летит по прямой (Wraith) Seek Target — заходит на цель (Goliath) Appears on Target — мгновенное попадание (Marine) Persistant Explosion — мгновенный взрыв (Siege Tank) Normal Hit — обычный удар (Zealot) Suicide — атакующий юнит погибает (Infested Terran) Bounce — летит от цели к цели (Mutalisk) Spin Around — вращается вокруг цели (Valkyrie) Bursts thru Ground — бьет по прямой, задевая несколько юнитов (Lurker) создание полностью новых юнитов. Однако с помощью дополнительного инструментария можно обойти и это ограничение. На нашем диске вы найдете утилиты StarGraft и ICE. Первая служит для создания и редактирования "управляющих иконок" юнита (т.е. тех желтых кнопочек на панели справа, которые отвечают как за специальные способности юнита, так и за банальные движение и атаку), а вовсе не для создания графики, как упорно считает большое количество людей. Вторая редактирует программный код, отвечающий за просчитывание фаз движения юнита. Мы решили воздержаться от подробного описания этих программ по трем причинам. Во-первых, они на несколько порядков сложнее StarDraft'а, и детальная статья по одной только ICE займет место отсюда до "Почты" (или даже дальше). Во-вторых, они работают только под версию 1.07, а на подавляющем большинстве компьютеров уже давно стоит 1.08. И, в-третьих, спросите себя — а оно вам надо? Качественный, красивый и играбельный мод можно создать и без дополнительных средств. * * * В заключение хочу дать один совет — соблюдайте баланс. Каким бы красивым ни был ваш мод, грош ему цена, если он грубо нарушает этот принцип. Ведь именно благодаря балансу так популярен "Старкрафт". Не нужно создавать слишком мощных или, напротив, бесполезных юнитов. Не стоит и ограничивать свою фантазию, это другая крайность. Творите! Вне зависимости, хотите ли вы изменить парочку героев для своей кампании или расширить возможности мультиплеера, я надеюсь, что эта статья будет вам надежным подспорьем. Удачи вам в вашем творчестве, и не забывайте присылать плоды его к нам в редакцию. Наиболее удачные моды мы непременно опубликуем на нашем компакте. На компакте 1.StarDraft — основная модостроительная утилита 2.StarGraft — редактор действий юнитов. 3.ICE — редактор графических скриптов