Солдат удачи в тылу врага. Soldier of Fortune II: Double Helix
Кровь. Жестокость. Куски тел на стенах. Головы врагов, разваливающиеся точно посередине от меткого выстрела из дробовика. Каша из внутренностей. Все это — Soldier of Fortune 2. Игра увлекает с первых секунд и держит в напряжении до конца. Но крови может быть больше. Куски тел могут ударяться о стену более сочно. А головы противников — не разваливаться пополам, а взрываться алым фонтаном. Мы создадим САМУЮ КРОВАВУЮ ИГРУ В МИРЕ! Разведка Начнем с исследования игровой директории. В ней размещаются несколько
папок, из которых нас интересует только каталог \base. В нем вы найдете восемь архивных файлов с расширением .pk3 : maps.pk3 , models.pk3 , mp.pk3 , musicandsound.pk3 , skins.pk3 , textures0.pk3 , textures1234.pk3 и therest.pk3. Вскроем поочередно каждый из них. Архив maps.pk3 содержит игровые карты, каждой из которых соответствуют файлы с расширениями .bsp (основной файл), .eal и .nav. Для работы с этими файлами вам нужна специальная версия Radiant ’а (она входит в состав набора инструментов SOF 2 MP SDK , который разместился на нашем компакте ) — редактора карт для игр на движке Quake III. Запускается программа с помощью файла Radiant.exe , который находится в подкаталоге \bin папки, куда установлен SOF 2 MP SDK. Груз “двести” Файл models.pk3 содержит модели игровых объектов и персонажей. В архиве находится пять директорий: \models , \models1 , \models2 , \models3 и \models4. Только первая содержит модели, остальные наполнены текстурами. Еще одно отличие между этими папками — размер содержащихся в них текстур для моделей. С возрастанием номера директории уменьшается величина скрывающихся в ней текстур. Каждая из “модельных” директорий насчитывает восемь-девять подкаталогов (в каждом из них вы можете обнаружить модели определенного вида). Вот их список: \chunks содержит различные мелкие предметы, которые вы можете повстречать на игровых картах: посуда, мусор, камни и прочее. \flags — флаги, использующиеся при игре в Capture the Flag. \hands — руки людей. \Items — используемые вами приборы и оборудование: очки ночного видения, бинокль и прочее. \menu — менюшные модели. \objects — разнообразные крупные предметы, которыми наполнены игровые карты: мебель, машины. \pick_ups — “призы” — различные полезные вещички, которые вы можете подобрать и использовать во время игры. \players — игровые персонажи. \weapons — оружие. Любопытно, что среди игровых моделей встречается персонаж по имени Sarge из Quake III. Что это, сюрприз разработчиков или просто счастливая случайность? Игровые модели представлены md3- и glm- файлами (формат .glm является основным). Первые могут быть просмотрены с помощью утилиты JAVA MD3 Model Viewer (вы можете найти ее на нашем компакте к номеру 2-3 за 2001 год). Для просмотра и редактирования glm-файлов используйте утилиту ModView (она входит в состав упомянутого выше SOF 2 MP SDK и запускается файлом ModView.exe из каталога \bin ). Что же касается “модельных” текстур, то они имеют форматы .jpg и .png (оба можно просматривать с помощью стандартных средств для работы с графикой и, соответственно, редактировать). А теперь внимание. Первый шаг на пути к созданию новой игры. Текстуры флагов меняем на фототекстуры флагов реальных отрядов. Лучше найти фотографии потрепанных штандартов, чтобы казалось, что флаги уже побывали в боях. Тогда, когда в игре начнется анимация знамен, вы получите очень реалистичный эффект. Конечности избавляем от одежды — яростные коммандос, бросающиеся на нас из-за каждого угла, смотрятся куда более устрашающе, чем одетые в серое шмотье противники. “Кожу” можно щедро раскрасить красным цветом. Только не переборщите. Руки “по локоть в крови” — это уже перебор. Перерисовку приборов оставляем на вашей совести. Полет фантазии. Можно легко сделать футуристические модельки, а можно, наоборот, заточить всю амуницию под старину. Менюшные модели тоже перерисовываем, чтобы даже заставка у нас была кровавой. Призы можно оставить как есть — на них мало кто обращает внимание. Текстуры персонажей смело заменяйте на свои. Можно даже найти в Сети бесплатные модели для UT или Quake — самые кровавые, конечно — и, переконвертировав, встроить в SoF. Вы же делаете игру для себя, а не для продажи, так что никаких авторских прав не нарушите. Оружие. Вот уж где можно пофантазировать. Хотите, чтобы действие происходило в далеком будущем — из гранатомета всегда можно сделать плазменную пушку. Из автомата — лазерную винтовку, из пистолета — бластер. А можно погрузиться в историю. Сделать “Томми-ган”, первый “Гатлинг” или даже бамбуковую трубку, стреляющую дротиками. Пока мы только перерисуем сами пушки. Как изменить физику
стрельбы, чтобы все было соответственно, вы узнаете чуть позже. Товарищ, в бой! Архив mp.pk3 густо населен файлами, относящимися к многопользовательскому режиму игры. Здесь можно найти “мультиплеерные” звуки в папке \sound , музыку — в \music , карты (открываются редактором карт RadiantMP , входящим в состав SOF 2 MP SDK ) — в \maps. Внимания заслуживают также директории \ext_data и \scripts , содержащие скрипты: в первом случае для генератора случайных карт, во втором — для возможных вариантов игры. Прежде чем копаться в скриптах, снимите пометку с пункта “Только чтение” в свойствах редактируемого файла. А дальше разбирайте код скриптов — как это делается, можно прочитать в " Самопале " 10 номера в статье Константина Артемьева " Партитура игрового действа " — и переписывайте их согласно собственным запросам. Какая будет музыка в мультиплеере — не столь важно, мы все же работаем над синглплеерной игрой, но чтобы уж никто не узнал в вашей игре SoF2, можно и ее заменить. Только не забывайте сохранять свои музыкальные файлы под именами тех, что лежат в директориях изначально. Звуки — вот их точно надо заменить. Как вариант — мы подменили оригинальные звуки на озвучку из вторых Worms. Получилось очень прикольно. Вперед, обезьяны… Архивный файл musicandsound.pk3 является хранилищем звуковых эффектов (лежат в каталоге \sound ) и музыкального сопровождения игры (ему отводится папка \music ). Музыка записана в формате .mp3 , звуки — в .wav. Нас ждет… Второй шаг на пути создания самой кровавой игры. Все звуковые файлы надо изъять. А взамен положить свою оригинальную озвучку. SoF2 — так, между прочим — замечательно идет под классику. А суперкровавая игра, над которой мы с вами работаем, просто обязана содержать вагнеровскую “Валькирию”. Если же вы решите создать не полностью новую игру, а небольшой мод, то звуки можно просто слегка подкорректировать путем перенастройки значений для соответствующих параметров из файла sound.txt , который расположен в директории \sound. Кстати, wav’ы можно легко использовать для озвучки Windows, а музыку просто приятно слушать. Уж больно хороша. Шкуру! С живого! Архив skins.pk3 содержит множество файлов, большую часть которых составляют картинки со скинами игровых персонажей. Все файлы архива рассортированы по следующим каталогам: models , models1 , models2 , models3 , models4. Все они хранят в себе скины игровых персонажей. Райские кущи для создателя новой игры. В \effects лежат efx -файлы с **
**
Редактор эффектов в действии.
описанием используемых игрой визуальных эффектов. \gfx содержит графические файлы с уменьшенными изображениями “мультиплеерных” персонажей — используются при выборе героя. В \scripts вы можете найти некоторые из игровых скриптов. \sound — в этой директории хранятся некоторые из звуковых эффектов игры. Все папки вида \models* содержат одни и те же картинки, только разных размеров: с увеличением номера директории уменьшается величина скрывающихся в ней рисунков. Кроме того, каждая из этих директорий имеет три подкаталога: \characters , \hands и \objects. В первом из них находятся скины встречаемых в игре персонажей, во втором — графический файл с изображением человеческих рук. В третьем — картинка из стартового меню Doom ’а (используется в качестве изображения, которое вы можете увидеть на мониторах местных компьютеров). Все графические файлы из директорий с именем вида \models* имеют форматы .jpg и .png. Файлы эффектов (те, что располагаются в папке \effects и имеют расширение .efx ) можно просмотреть и подкорректировать с помощью программы EffectsEd из пакета утилит SOF 2 MP SDK (для запуска программы воспользуйтесь файлом EffectsEd.exe из каталога \bin ). Что же касается директории \sound , то в ней располагаются два подкаталога: \pain_death и \player. Первый из них содержит звуки, издаваемые различными персонажами при смерти, а последний — звуковые эффекты, раздающиеся при соприкосновении пули с различными видами материи. В первом случае файлы имеют формат .mp3 , во втором — .wav. Так что вам не составит труда заменить их в случае необходимости. Пора сделать третий и самый главный шаг к игре с морями крови, океанами сукровицы и бездонными озерами лимфы. И все это, не забывайте, будет находиться вне тел. Заливать землю, разбрызгиваться по стенам… Открываем каталоги models и извлекаем на свет уже имеющиеся текстуры персонажей, руки некоторых из которых мы с вами уже перерисовали. Можно заменять шкурки на совершенно новые. Но это очень долго. Легким мановением Photoshop’а можно до неузнаваемости изменить уже имеющиеся скины. Как это делается, мы уже не раз писали на страницах " Самопала " и " Мастерской ", так что бегом перечитывать старые номера “Мании”. Чуть-чуть ржавой кровушки на тело, хорошенько размазать. Запекшиеся корочки на лице и на туловище. Синяки — в пах и на шею. Получатся настоящие солдаты-зомби. Но зомби обычно медленно ходят и не так уж опасны для опытного бойца. А наши зомби передвигаются не хуже бравых коммандос — завораживающее зрелище! В обязательном порядке заменяем арт заставки. Doom никак не тянет на самую кровавую игру, хотя крови в нем
и было предостаточно. Поищите в Сети — подходящих картинок там достаточно. Только внимательно изменяйте размер картинки. Если его точно не подогнать, меню будет кособоким. Внимание. Вы, наверное, обратили внимание, что все текстуры продублированы несколько раз, под разные разрешения. Перерисовывать все их по много раз… у вас есть несколько месяцев на это занятие? Тогда вперед. А если нет, то перерисовывайте скины только под какое-то одно разрешение и играйте только в нем. Это быстро и практично. Важный совет. Браться за переделку эффектов от взрывов, выстрелов и прочего нужно только в том случае, если они совсем не соответствуют времени, в котором происходит действие вашей игры. Потому что, во-первых, имеющиеся в SoF2 эффекты и так очень красивы. А во-вторых, сделать красивые, например, взрывы самому очень сложно. Хотя и из этой ситуации можно выйти победителем. Достаточно найти игру, действие которой совпадает с временным промежутком, в котором будет происходить ваша игра. Позаимствовать текстуры из этой игры — пробежавшись по последним пяти-шести выпускам “КОДекса” ( “Игровые ресурсы” ), вы с легкостью подберете нужный набор — и конвертировать их в SoF2. Вуаля! Минимум усилий — максимум результата. Кирпич в кровавую крапинку Файлы textures0.pk3 и textures1234.pk3 содержат основные текстуры, используемые в игре. В архивах находятся папки с именем вида \texturesN (все они содержат одни и те же текстуры, только разного размера), где на месте N стоит либо число от 1 до 4, либо ничего (чем выше значение N, тем меньше размер текстур в папке). Текстуры аккуратно разложены по подкаталогам в зависимости от принадлежности к той или иной карте. Все они имеют форматы .jpg и .png. Четвертый шаг по созданию новой игры, в которой кровь стекает по стенам, сочится из щелей в потолке, выступает из-под паркета. _ _ Даже не шаг — шажок. Уж чего-чего, а текстур для домов, гор, деревьев, квартир и подвалов в интернете предостаточно (да и из других игр можно позаимствовать). Осталось только добавить красного цвета в Photoshop’е, подогнать размеры и закидывать в игровые папки. И не забывайте, что лучше работать только с одним разрешением графики. Заметьте, что разработчики очень удобно разместили текстуры. Истый кровавый экшен — это здорово. Этого мы и добиваемся. Но иногда надо ведь и разгрузку игрокам давать. Поэтому, если в работе врача по сбору донорской крови (неважно, что доноры совсем не хотят делиться живительной влагой) неожиданно будет перерыв на миссию-другую, затишье, когда вместо зомби игрока будут атаковать простые смертные, а крови из их жил будет вытекать не так уж и много, — это будет только на руку вашей игре. Ничто так не убивает игровой азарт, как однообразие. А раз текстуры расфасованы по миссиям, то не составит никакого труда на некоторых уровнях реки крови осушить, моря сукровицы выпарить, ну а океан лимфы никто не заметит, ведь она прозрачная… Марш-гемоглобин Одним из самых важных архивов является файл therest.pk3. В нем кроется множество директорий. Первая из них — \effects — располагает файлами эффектов, которые имеют расширение .efx и открываются упомянутой выше программой EffectsEd. В папке \fonts собраны png -файлы с графическими отображениями задействованных в игре шрифтов (редактируя эти файлы, можно видоизменить игровые шрифты). Директории \gfx , \gfx1 , \gfx2 , \gfx3 и \gfx4 несут в себе некоторые графические файлы игры и делятся на следующие подкаталоги: \damage — файлы с изображением пятен крови. \decals — файлы с изображением отверстий, проделанных пулей в различных видах материи. \menus — различные картинки для меню, в том числе различные значки, курсоры, рисунки для HUD’а — экрана героя. \sprites — файлы с изображением спрайтовых объектов, в том числе различных растений, камней и многого другого. Заносим ногу и делаем пятый шаг к крови, вытекающей из пулевых отверстий в теле, маленьким красным фонтанчикам из пробитых конечностей, мощным фонтанам из груди и живота, и настоящим Ниагарам из прошитой насквозь головы. _ _ Перерисовываем игровые шрифты. Как известно, игру встречают по одежке. А одежкой для любой игры является игровое меню. Поэтому именно его и нужно переделать до неузнаваемости. Не годится оставлять в новой игре старое SoF2-меню. Подложку мы уже перерисовали, теперь надо изменить антураж. Поработать над курсором — сделать его, например, в виде капли крови или зеленоватого подгнившего мозга. Как вариант — нарисовать измазанный в крови тесак и это изображение подставить вместо оригинального курсора. Шрифты лучше заменить полностью. Бесплатных шрифтов сейчас хватает. Тут же, кстати, можно и русифицировать меню, было бы странно, если бы в отечественной игре все названия в игре писались на английском. Так что вперед. Еще один элемент игровой “одежки” — это экран главного героя. Его просто необходимо изменить. Простой перекраской тут не обойдешься. Надо нарисовать все “окантовки” заново. Так что не поленитесь и этому моменту уделите побольше времени. Ведь это то, что будет у вас перед глазами всегда. Корявый HUD может сразу испортить впечатление от игры. Еще раз внимание. Продолжаем повышать кровавость игры. Заходим в каталог \damage , копируем оттуда всю “кровищу” и просто увеличиваем пятна и повышаем их насыщенность. Запаковываем все обратно, и — чудо! — даже оригинальная игра стала неузнаваемой. Что уж говорить, если вы потрудились до этого перерисовать другие текстуры. Смертельное оружие Архив therest.pk3 интересен не только своими графическими файлами, но и файлами текстовыми. Ярким примером является папка \ext_data , в которой прячется один очень привлекательный файл по имени SOF2.wpn. Параметры игрового оружия! Редактированием этих параметров мы и займемся. Но прежде чем приступать к столь ответственному делу, не будет лишним оставить резервную копию файла, чтобы в случае чего можно было к ней вернуться. Также обратите внимание на то, что значения некоторых настроек в данном файле заключены в кавычки, которые ни в коем случае нельзя удалять. Раневая баллистика Основная часть файла начинается со слова weapon. В ней вы найдете основные характеристики различных видов вооружения и снаряжения (последнему посвящен небольшой блок в конце файла). Каждому оружию и прибору соответствует свой раздел, начинающийся со слова weapon и заключенный в фигурные скобки (внутри любого раздела имеются несколько подразделов, содержимое которых также выделено фигурными скобками, а названия помещаются строкой выше открывающей скобки). Учтите, что у различных видов оружия списки параметров могут слегка отличаться друг от друга. Далее вы найдете список параметров, после каждого будет идти комментарий по рекомендуемому изменению. На наш взгляд, именно эти изменения приведут к самому интересному результату. Но комбинаций может быть очень много, так что у вас может получиться и лучше. Первый подраздел файла — weapon — содержит общие характеристики оружия. Вот их список: cameraOffset — параметр, указывающий, как должна располагаться камера по отношению к оружию, когда вы держите его в руках. Значение атрибута выглядит следующим образом: “X Y Z” , где X, Y и Z определяют месторасположение камеры относительно оружия по одноименным осям координат. Например, сочетание “21.39 -8.98 4” означает, что камера будет находиться на 21.39 единиц позади, на 8.98 правее и на 4 выше центральной части оружия.Рекомендуемое изменение. Советуем увеличить угол наклона и повернуть его вправо, чтобы взгляд на оружие был немного сверху и со стороны. Так вы получаете больший обзор на оружие — видна боковая сторона каждого ствола. category — категория, к которой относится оружие. Категория определяет номер оружия и клавишу с цифрой, которую нужно нажать для того, чтобы взять в руки данный вид вооружения. Список возможных значений характеристики выглядит следующим образом: 1 — холодное оружие, 2 — пистолеты, 3 — ружья, 4 — автоматы, 5 — винтовки, 6 — снайперские винтовки, 7 — тяжелое оружие, 8 — гранаты, 9 — снаряжение, 10 — удары руками, 11 — взрывчатки, 12 — недоступное игроку оружие.Рекомендуемое изменение. Обратите внимание на то, что в игре немало оружия, принадлежащего к последней категории. Причем вы можете добавить все его виды в свой арсенал, заменив у них значение данной характеристики на число от 1 до 11. И вот вы уже можете пользоваться совершенно новыми стволами и взрывчатками! И конечно же, можно перемещать оружие по категориям или вообще удалять категории, особенно если вы перерисовали текстуры стволов. Ведь по вашей задумке, возможно, гранат в игре быть не должно. Характеристика cvar определяет, куда будет записываться информация о наличии у игрока данного оружия, когда вы сохраняете или загружаете игру.Рекомендуемое изменение. Особого смысла в изменении значения данного атрибута нет, но если по каким-то причинам вы хотите спрятать характеристики от игроков — это всегда можно сделать. displayName — название оружия, отображаемое во время игры.Рекомендуемое изменение. Если вы перерисовали все оружие, то, само собой, нужно придумать новым стволам новые названия. Чтобы тот же “Томми-ган” не был у вас какой-нибудь M16A2. Если вы позаботились о внедрении в игру русского шрифта, то названия можно смело писать на великом могучем. menuImage — имя графического файла со схематическим изображением оружия, которое вы видите на экране при выборе пушки. Выбранный файл должен храниться внутри архива therest.pk3 (в этом случае путь файла должен начинаться с директорий gfx\menus ) или в игровой директории по адресу: base\gfx\menus.Рекомендуемое изменение. Укажите здесь полный путь и имя файла (каталоги gfx\menus и base\gfx\menus указывать не нужно). Обратите внимание на то, что при указании пути файла здесь (а также в значении других игровых параметров) следует пользоваться прямыми слэшами, не обратными. menuImageDual — имя файла со схематическим изображением вооружения, показывающим, что вы можете одновременно иметь в своем арсенале два одинаковых ствола данного типа.Рекомендуемое изменение. Все замечания относительно использования предыдущего параметра справедливы и для данного. model — модель данного орудия убийства. Задается glm -файлом, который должен находиться либо в каталоге models\weapons архива models.pk3 , либо по адресу: < Каталог игры>\base\models\weapons. name — кодовое название оружия. Используется редактором уровней для определения типа “призов”, к которому относится данный вид вооружения, если его никто не подобрал.Рекомендуемое изменение. Если вы уже переименовали оружие, то для простоты работы лучше и в кодовые названия внести соответствующие изменения. oneHanded — атрибут, определяющий, является ли оружие одноручным (то есть может ли ваш герой держать его в одной руке).Рекомендуемое изменение. _ Данный параметр может принимать значения t rue — да, false — нет. Изменяя атрибут, можно добиться весьма интересных эффектов. Например, как вам идея двуручной гранаты? А что скажете насчет стрельбы из M16 от бедра?_ rank — приоритет в использовании вами данного оружия (значение этого показателя должно быть больше 0 , но меньше 1 ). Если вы подбираете орудие убийства, у которого значение этой характеристики выше, чем у ствола, который вы держите в руках, вашим основным оружием становится найденное.Рекомендуемое изменение. Советуем повысить значение данного параметра у ваших любимых видов вооружения, чтобы в пылу боя, случайно подобрав другое оружие, вы не переключились на него. Параметр safe определяет, портится ли ваше здоровье, когда вас задевает снаряд, выпущенный из данной пушки.Рекомендуемое изменение. Можно привить главному герою иммунитет против некоторых видов оружия. Но злоупотреблять этим не стоит, иначе играть будет совсем не интересно, как при включенном God-mode. Атака берсеркера Подраздел attack содержит атрибуты, связанные со стрельбой из указанного оружия. Вот список параметров (с комментариями), составляющих данный подраздел. 3rdPersonMuzzleFlash — эффект вспышки, которую вы видите, когда какой-либо персонаж (ваш герой не в счет) стреляет из данного оружия. Указанный здесь файл, как и все остальные файлы эффектов, должен храниться в папке \effects архива therest.pk3.Рекомендуемое изменение. Можно поэкспериментировать с эффектами. Например, весьма забавно смотрится винтовка, стреляющая, как гранатомет. action — действие, производимое данным видом снаряжения (или вооружения).Рекомендуемое изменение. Данный параметр используется игрой только для снайперской винтовки и различных приборов. У бинокля здесь должно стоять значение toggleBinocs , у очков ночного видения — toggleNight , у термо-очков — toggleThermal , у снайперской винтовки — toggleZoom. Присваивая данный параметр с подходящим значением тому или иному стволу, вы можете встраивать в последний снайперский прицел, бинокль или очки ночного видения. Только лучше пожертвовать для этого не основной атакой оружия, а альтернативной (для этого вставьте этот параметр в подраздел altattack , о котором мы поговорим чуть позже). Как вам идея совместить, например, шотган с очками ночного видения? ammoType — тип боеприпасов, используемый оружием.Рекомендуемое изменение. Эффект выстрела гранатой из винтовки мы уже сделали, а теперь можно и по-настоящему метнуть гранату из ствола 7.62. armorPiercing — показатель, определяющий, насколько сильно снаряды, выпущенные из данного ствола, разрушают броню (значение параметра должно находиться в промежутке от 0 до 1 ).Рекомендуемое изменение. Разработчики слишком уж занизили данную характеристику. Куда интересней, если разрывные пули будут превращать бронежилет в труху почаще. canFireWhileProne — атрибут, определяющий, можно ли стрелять из данного оружия при передвижении ползком.Рекомендуемое изменение. Параметр может принимать значения true — да, false — нет. Иногда пальнуть из гранатомета лежа было бы совсем неплохо. clipSize — число патронов, которое способно уместиться в обойму данного ствола.Рекомендуемое изменение. Не стоит ставить гранатомету чуть ли не бесконечный боезапас. Мало того, что не спортивно, так еще и играть не интересно. А вот легкому вооружению можно и нарастить боекомплект. И сложные уровни проходить именно с простеньким оружием. Сразу понадобится тактическое мышление, но не придется тратить время на перезарядку пистолетов. damage — урон, наносимый снарядом данного оружия. damageType — тип ущерба, причиняемого жертве снарядом данного орудия убийства. EjectBone — часть оружия, откуда вылетают патроны при стрельбе из него. Чаще всего это, конечно же, дуло. inaccuracy — отклонения от первоначальной траектории в полете пули, выпущенной из данной пушки (значение этой характеристики должно быть больше 0 , но меньше 1 ). Чем меньше значение данного параметра, тем точнее стреляет ствол.Рекомендуемое изменение. Можно сделать “гуляющий” ствол. Получится очень своеобразный эффект пьяного вояки. Если еще и отклонение при движении главного героя сделать, то выйдет симулятор поддатого пехотинца. Изменением скриптов можно обеспечить “поддатость” только на некоторых миссиях. kickAngles — углы (в градусах), на которые может поворачиваться камера при стрельбе из данного оружия. Значение характеристики выглядит так: “A B C D” , где A обозначает минимальный, а B — максимальный угол при движении камеры сверху вниз; C — минимальный, а D — максимальный угол при движении камеры слева направо. maxInaccuracy — максимальные отклонения от первоначальной траектории в полете пули, пущенной из данного ствола.Рекомендуемое изменение. Увеличив данное значение, можно получать шальные рикошеты, а при стрельбе из автомата — “косить” толпы противников, не поворачиваясь из стороны в сторону. melee — тип удара, который вы можете нанести врагам в ближнем бою данным стволом.Рекомендуемое изменение. У оружия, страдающего отсутствием такой возможности, данный параметр отсутствует. Хотя это можно и исправить. Колоть винтовкой врага, как ножом… А если вы пририсовали штык, _
то это будет еще и обоснованно. Возможные значения: knife , bayonet и blunt. Первые два характерны для холодного оружия и отличаются друг от друга только раздающимся при ударе звуком. Что касается значения “blunt”, то оно используется в основном для огнестрельного оружия и позволяет последнему разбивать стекла и отправлять врагов в нокаут неожиданным ударом._ muzzleFlash — эффект вспышки, который вы наблюдаете при стрельбе из данного ствола. pellets — число дробинок, которыми стреляет данный ствол.Рекомендуемое изменение. Эта характеристика присутствует только у ружей. Для того, чтобы получить эффект “один выстрел — головы нет”, эту характеристику лучше выставить побольше. radius — радиус взрыва, производимого снарядом данного орудия убийства (этот параметр имеется только у оружия, стреляющего разрывными снарядами).Рекомендуемое изменение. Можно уменьшить данный параметр у гранатомета, предварительно увеличив скорострельность последнего. Уровень, изувеченный взрывами… Груды тел. Кровища! range — максимальное расстояние, на которое стреляет ствол.Рекомендуемое изменение. На паре уровней можно сделать из дробовика снайперку. Не забудьте предварительно “привинтить” ружью снайперский прицел (как это сделать, читайте выше). ShellCasingEject — эффект вылета пули из дула пушки. Атрибут spread определяет, на какое расстояние разлетаются друг от друга дробинки при стрельбе из данного ствола (этим параметром обладают только ружья).Рекомендуемое изменение. Чтобы можно было разнести врагу чайник даже с десяти метров, кучность стрельбы нужно повысить. TracerEffect — эффект трассирования пули. volume — громкость выстрела из данного вида вооружения.Рекомендуемое изменение. Чем выше, тем больше расстояние, на котором враги могут услышать ваши выстрелы (значение параметра должно принадлежать промежутку от 0 до 1). В этом же подразделе вы можете встретить множество характеристик, названия которых начинаются с приставки " mp_ ". Многие из этих показателей являются двойниками приведенных выше параметров с той лишь разницей, что первые имеют обозначенную приставку. Она означает, что функции влияют только на многопользовательский режим игры. Скажем, атрибут mp_damage определяет ущерб, наносимый жертве в мультиплеере. Среди характеристик, начинающихся с “mp_”, есть и уникальные. В их числе ряд атрибутов с именем вида mp_anim* (они характеризуют анимацию оружия), а также приведенные ниже параметры (все они относятся только к многопользовательскому варианту игры). mp_gore — показатель, определяющий, может ли снаряд, выпущенный из данного оружия, расчленять тело жертвы ( yes — да, no — нет).Рекомендуемое изменение. Ставите “yes” у большинства видов оружия, и вот в вашей игре все уровни — с расчлененкой. mp_extraClips — количество обойм (магазинов) с патронами к данному стволу, которое выдается игроку в начале миссии. mp_fireAmount — количество патронов, расходуемое при выстреле из данного оружия. mp_fireDelay — скорострельность пушки.Рекомендуемое изменение. Как поступить с гранатометом и пистолетами, мы уже говорили чуть выше. Но для мультиплеера можно повысить скорострельность всего оружия. Получится настоящий MP-мод. mp_bounce — рикошет, которому подвергается снаряд, выпущенный из данного вида вооружения, при ударе о твердую поверхность. Обратите внимание на то, что вы можете переделывать параметры, относящиеся к синглплееру, в мультиплеерные характеристики, сделав копию первых и добавляя к скопированным атрибутам приставку " mp_ ". Данная процедура может вам пригодиться, когда вы хотите изменить значение того или иного атрибута исключительно для многопользовательского режима игры. Дробью из пулемета Следующий подраздел носит имя altattack. Он содержит параметры, большая часть которых позаимствована из подраздела attack , только здесь они характеризуют не основной, а альтернативный огонь оружия. Но есть здесь и уникальные параметры, не встречающиеся в подразделе attack. В их числе: hud — имя файла с расширением .hud (расширение файла указывать не нужно), используемого при ведении прицельной стрельбы из данного оружия для расчета координат счетчиков для измерения таких показателей, как сила ветра и количество патронов. Файл должен лежать либо в архиве therest.pk3 (тогда его путь должен начинаться с каталога \huds ), либо в директории с игрой по адресу: base\huds (при указании пути файла директории \huds и base\huds указывать не нужно). hudIcon — имя графического файла с изображением патрона из обоймы винтовки (файлы, используемые этим параметром, применяются для отображения количества патронов во время ведения прицельной стрельбы из указанного ствола). Упомянутый здесь файл должен храниться внутри архива therest.pk3 (в этом случае путь файла должен начинаться с папок gfx\menus ) или в игровой директории по адресу: base\gfx\menus. Гранатой из пистолета Замыкает список подразделов блок projectile , содержащий характеристики снаряда, которым стреляет выбранное оружие. loopsound — звук, который раздается при полете снаряда, выпущенного из данного оружия. Указанный здесь файл должен храниться в папке \sound\weapons архива musicandsound.pk3.Рекомендуемое изменение. Гранатометный грохот при стрельбе из пистолетов не так оригинален, как может показаться — просто давит на уши. А вот звук автомата при скоростной стрельбе из гранатомета звучит очень весело. Обязательно попробуйте. model — имя glm -файла с моделью снаряда, используемого данным орудием убийства. Файл должен размещаться в директории \models\weapons архива models.pk3. speed — скорость полета снаряда, выпущенного из данного оружия.Рекомендуемое изменение. Если вы создаете какую-нибудь кровавую средневековую модификацию, то значение лучше ставить пониже. Ну а если вы уже нарисовали лазерное ружье, то и пули придется разогнать до скорости света. timer — время (в секундах), отсчитываемое после выстрела из данного оружия, по прошествии которого выпущенный снаряд взрывается.Рекомендуемое изменение. Взрывать патроны сразу по вылету из ствола точно не стоит. Это веселье на один раз. А вот сделать гранатомет, у которого снаряды рвутся еще в полете, можно и даже нужно. underwaterEffect — эффект, который вы видите в месте попадания снаряда при стрельбе из указанного вида вооружения под водой.Рекомендуемое изменение. Здесь можно прописать путь к фонтанчику крови. waterExplosionEffect — эффект, который вы наблюдаете на поверхности воды при стрельбе из данного вида вооружения, находясь при этом под водой. Отредактировав основные параметры из упомянутых выше подразделов у того или иного оружия, вы можете изменить его до неузнаваемости, а если еще воспользуетесь услугами программ ModView и EffectsEd и присвоите стволу новую модель и невиданные раннее эффекты, вы создадите абсолютно новый вид вооружения! Заманчиво звучит? Тогда вперед — за работу. Ведь этот — пятый шаг по созданию игры — самый длинный, но и самый интересный. Результат всегда оправдывает ожидание, а иногда и превосходит его. Солдаты удачи В архиве therest.pk3 есть папка \npcs , с файлами расширения .npc. Каждый из них несет в себе характеристики различных персонажей игры. Самыми важными местными файлами являются следующие: ActionSquad.npc , ColombianRebels.npc , FincaGuards.npc , HongKong.npc , Prague.npc , Prometheus.npc. Все эти файлы посвящены вашим врагам из различных группировок. Base.npc — этот файл отводится под характеристики большинства игровых персонажей. Civilians.npc — мирные граждане. Dogs.npc — собаки. Females.npc — женщины. Marine.npc — сослуживцы. Mullins.npc — главный герой игры Джон Маллинз. Каждый npc-файл разбит на несколько разделов, каждый из которых соответствует определенному персонажу. В некоторых файлах, как, например, в Mullins.npc, один и тот же персонаж занимает несколько подразделов, в каждом из которых он представлен в разной одежде и в разное время. Любой такой раздел начинается со словосочетания CharacterTemplate (оно же служит названием первому подразделу блока) и содержит в себе несколько подразделов, содержимое которых заключается в фигурные скобки. Главный? Герой? Первый подраздел (CharacterTemplate) является хранилищем базовых характеристик указанного персонажа. Name — имя персонажа. FormalName — имя героя, отображаемое в меню выбора персонажей в мультиплеере. comments — краткое описание героя. Model — модель субъекта в виде glm -файла из каталога models\characters архива skins.mp3. Health — его здоровье. Значение параметра выглядит следующим образом: “X Y” , где X —
начальное здоровье субъекта, а Y — максимальное значение характеристики. Меняя значение этого атрибута у вашего героя и врагов, можно существенно повлиять на сложность игры. Rank — категория, к которой относится персонаж. Возможные значения: Civilian — мирные граждане, Criminal — преступники, Private — солдаты, Sergeant — командиры. Occupation — деятельность субъекта. При значении Assassin он является террористом, при Commando — десантником, Demolitionist — подрывником, Emplaced Gunner — артиллеристом, Scout — разведчиком, Sniper — снайпером, Soldier — солдатом, Soldier Elite — солдатом из элитного подразделения, Tourist — туристом, Thug — киллером. Team — группировка, к которой принадлежит данный субъект. Возможные варианты: None (в этом случае персонаж не принадлежит ни к одной из группировок), The Shop , Prometheus , Colombian Rebels , Hong Kong Gang , Czech , Finca. Burst — тип ведения персонажем стрельбы из автоматического оружия ( true — очередями, false — одиночными выстрелами). Bravery — храбрость персонажа (значение атрибута должно быть больше 0 , но меньше 1 ). Храбрый боец всегда бросается в бой — даже с более сильными, чем он сам, противниками. Accuracy — меткость персонажа (значение этого показателя должно быть больше или равно нулю, но не должно превышать единицу). При значении, равном единице, персонаж может поражать заданную цель с любой дистанции, а при нуле — он никогда не сможет попасть в нужную точку, как бы ни старался. Boss — атрибут, определяющий, имеет ли персонаж способности босса (малая чувствительность к выстрелам в голову, стойкость и др.). 0 — нет, 1 — частично, 2 — да. DefaultReady — конечность, в которой персонаж держит свое главное оружие. Основные значения параметра: *"hand_r" — правая рука, "hand_l" — левая рука. Deathmatch — этот атрибут определяет, можете ли вы играть за данного персонажа в мультиплеере ( yes — да, no — нет). DamageEasy — умножитель урона, наносимого данным персонажем при стрельбе из любого оружия на легком уровне сложности ( Amateur ). На указанное здесь число умножается повреждение, наносимое самим оружием, и увеличивается, если значение характеристики больше 1, или уменьшается, если значение меньше 1. DamageMedium — умножитель урона, производимого данным персонажем при стрельбе из любого оружия на среднем уровне сложности ( Gun for Hire ). DamageHard — то же на сложном уровне сложности ( Consultant ). DamageSuperHard — на очень сложном уровне сложности ( Soldier of Fortune ). Основными показателями, определяющими реальную силу персонажа, являются параметры вида Damage и Accuracy. Исправляя значения, можно превратить любого персонажа в непобедимого супермена или же, наоборот, в какого-нибудь дохляка.Шестой шаг. Мы уже почти создали совершенно новую игру. Осталось _
_
В нашей игре с этими ребятами не так-то просто расправиться.
создать своего собственного главного героя. Для этого изменяем имя, придумываем новое описание и перерисовываем модель. Последнему действию, кстати, можно особо много внимания не уделять. Ведь игра идет от первого лица, и модель главного героя вы не видите, а текстуры в скриптовых сценах берутся совсем из другой папки. А вот если делаете упор на мультиплеер, тогда подойдите к перерисовке досконально. Когда главный герой готов, можно переходить к созданию ему достойных противников. Настоящий разгул для фантазии. Вот вам лишь парочка вариантов, которые показались нам наиболее интересными. Можно сделать “зверскую” модификацию, где вашими противниками будут настоящие профессионалы-убийцы с львиной силой, здоровьем быка и ловкостью макаки. Для этого увеличиваем параметры здоровья и меткости у всех классов персонажей и прописываем в качестве классовой принадлежности им Thug. Все ваши враги станут киллерами. А каково это — оказаться под атакой пары десятков старикашек, которые вдруг решили пострелять из автоматов (никто ведь не мешает сделать воинов из NPС), — вы узнаете, если измените игру описанным выше способом. Можно поступить и по-другому. Сделать большинство противников снайперами. Вооружить их снайперскими винтовками, а храбрость поставить пониже. Такой вояка, умея попадать в вашу голову с расстояния в три сотни метров, не будет дожидаться, пока вы подберетесь к нему поближе. Он “испугается” вас и, выстрелив, отбежит подальше. Игра станет симулятором противостояния снайперов. Ведь убить таких “хитрецов” можно только из снайперки. Очень сложно и чертовски интересно. Очень важный совет по мультиплееру. Чуть выше мы рассмотрели параметр Deathmatch. Так вот, если установить у всех игровых персонажей значение этого параметра на “yes”, то многопользовательский режим игры пополнится новыми моделями. В завершение работы над противниками можно создать пару суперуровней. Таких, на которых будет немного противников, но зато все с параметром Boss. Чтобы убить такого врага, надо потратить немало патронов, времени и здоровья главного героя. Поэтому организовывать такие битвы лучше по принципу “битва/подкрепление”. То есть после победы над боссом герой проходит в зону, где его ждут бонусы в виде нового оружия и патронов. Можно пойти дальше, создать уровни-“лесенки”. Такие, что сложность боссов будет нарастать по мере прохождения миссии. А после каждого убитого суперпротивника можно будет пополнить арсенал новым видом оружия. Вынул ножик из кармана В подразделе Inventory прописаны все предметы и виды вооружения, которыми владеет герой. Каждому виду вооружения и снаряжения персонажа посвящен вот такой блок (в некоторых случаях атрибут Bolt отсутствует): { Name “X” Bolt "Y" } В начало блока ставится слово Weapon , если речь идет об оружии, и слово Item в случае с предметом. Вместо X указывается название оружия; Y же обозначает часть тела, в которой герой несет оружие/предмет, когда оно не используется. Если вы хотите подарить новое оружие или вещь какому-либо персонажу, просто добавьте в подраздел Inventory приведенный выше блок, задав нужные значения для параметров Name и Bolt. Кожа с барского плеча Подраздел Skin располагает характеристиками скина для указанного персонажа. Их всего две: File и NoFaceAnims. Первая обозначает то, какой скин носит герой. В значении этого атрибута укажите путь и имя g2skin -файла, описывающего скин (файл должен располагаться по адресу: models\characters\skins или же в архиве skins.pk3 , в папке с именем вида \models ). Показатель NoFaceAnims определяет, имеется ли у данного персонажа анимация лица ( true — нет, false — да). Значение этого параметра имеет смысл устанавливать на “true”, если используемый персонаж носит шлем или маску.
Скажи “А” В функции раздела Voice входит указание звуковых файлов, используемых игровыми субъектами. Здесь прописываются названия файлов с речью, которую произносит указанный герой в той или иной ситуации. Подраздел оформляется следующим образом: Voice { Reports { X_N “P” } } X — тип голосовой команды, N — ее номер, P — путь и имя соответствующего ей файла. Файл должен находиться либо в архиве musicandsound.pk3 , либо в каталоге \sound в архиве skins.pk3. Типов голосовых команд предусмотрено множество. Назову самые важные из них: TargetAcquired (нахождение персонажем враждебного по отношению к нему персонажа), TargetEliminated (уничтожение персонажем врага), TargetLost (потеря героем врага из своего поля зрения), ManDown (смерть напарника данного персонажа), UnderFire (нахождение героя под обстрелом). Обратите внимание на то, что строк вида X_N “P” может быть сколько угодно — это зависит от количества голосовых команд, используемых персонажем. Последним — седьмым — шагом к нашей самой кровавой игре будет переписывание сценария миссий. Нам надо полностью переписать озвучку всех игровых диалогов. Вы можете вставлять новые голосовые команды, просто добавляя строчки вида X_N “P” и увеличивая на единицу значение N по сравнению с предыдущей командой данного типа. Ну и конечно, при добавлении новой голосовой команды вы должны указать путь используемого ею звукового файла и добавить его в архив musicandsound.pk3 , если этот файл не является для игры “родным”. Подраздел MPSounds практически полностью копирует предыдущий (Voice) с той лишь разницей, что он влияет только на многопользовательский режим игры. Исправляя значения характеристик из подразделов CharacterTemplate , Inventory , Weapon , Skin и Voice , вы можете делать с игровыми персонажами все, что хотите. Профессиональным игрокам рекомендуется повысить у врагов значения таких показателей, как меткость, здоровье и умножитель урона. Не помешает также получше вооружить своих врагов, добавляя в их инвентарь (напомню, что ему соответствует подраздел Inventory ) мощные орудия убийства и полезное в бою снаряжение. Любителям поработать с графикой и звуком могу порекомендовать подменить модели и скины врагов (практика показывает, что с ролью живых мишеней отлично справляются ненавистные преподы или начальники) и переозвучить местных персонажей (в частности, можно заставить Маллинза заговорить вашим голосом путем замены звуковых файлов с его речью на файлы с вашими высказываниями).
Перед вами совершенно новая игра. САМАЯ КРОВАВАЯ ИГРА! Ураганный экшен со стремительными забегами по уровням. Кровь течет рекой. Главного героя атакуют толпы яростных зомби, которые приближаются не медленной покачивающейся походкой, а перебежками от одного укрытия к другому. И стреляют, стреляют, стреляют… Подобравшись к вам поближе, они вступают в рукопашную схватку, и только меткий выстрел в голову избавит вас от гибели. В чью голову стрелять — в голову зомби или в свою — решать вам. Изредка можно передохнуть на уровнях, где противники — простые смертные, хотя и с усиленными бронежилетами. А потом снова ураганный бег по пересеченной местности в компании злобных мертвяков. Иногда попадаются уровни, где приходится сразиться с несколькими боссами. Так называемые уровни-лестницы. Вы начинаете уровень с минимумом оружия. Первым на пути вам попадается самый слабый противник. Когда он будет повержен, вы получите более мощное оружие и встретитесь с более крутым монстряком. И так по нарастающей, пока последний оппонент не будет убит из самого крутого ствола. Главный герой — уже не Маллинз, а тот, кого вы решили поставить на его место — до зубов вооружен оружием, которого в SoF2 никогда не было. Возможно, он палит из лазерных винтовок от бедра, а возможно, перед каждым выстрелом засыпает порцию дымного пороха в камору антикварного ружья. Гранатомет в руках спецназовцев сыплет гранатами со скоростью шестьдесят штук в минуту. Но поскольку радиус поражения от взрыва уменьшен, а боезаряд увеличен, это не дисбалансирует игру. Наоборот, это добавляет ей азарта. Только такая игра способна утолить жажду крови настоящего геймера. Всего семь шагов редактирования, и вы — автор настоящего кровавого шедевра. Игры, которую боятся создавать политкорректные разработчики. Но мы-то не ограничены никакими рамками. И пускай по нашим венам гуляет вальс-гемоглобин. Кровь врагов будет маршировать наружу…
Инструментарий На нашем компакте вас ждет набор инструментов SOF 2 MP SDK — мощнейшее средство для создания модификаций к Soldier of Fortune 2. В состав SOF 2 MP SDK входит множество программ для работы с важнейшими игровыми файлами. Перечислю самые важные из них: SoFRadiant (версия для SoF2) — редактор карт, RadiantMP — редактор мультиплеерных уровней, ModView — редактор моделей, EffectsEd — редактор визуальных эффектов. Используя эти и некоторые другие программы из SOF 2 MP SDK (благо пользоваться ими не так уж и сложно), вы можете создавать к игре жутко разнообразные, очень интересные и абсолютно полноценные модификации. В этом вам также помогут текстовые файлы с описанием важнейших файлов игры и утилит, необходимых при создании модификации. Найти эти полезные документы можно в подкаталоге \docs директории, куда установлен набор инструментов.