Город зла. Создание новой игры на движке Grand Theft Auto: Vice City, часть 2

Город зла. Создание новой игры на движке Grand Theft Auto: Vice City, часть 2

Вскрытие — Город зла. Создание новой игры на движке Grand Theft Auto: Vice City, часть 2
"...В статье достаточно информации, чтобы можно было переписать сюжетную линию (для этого необходимо, прежде всего, подкорректировать тексты и речь основных персонажей), создать новых героев (в этом вам поможет редактирование их скинов и переозвучка), тра
Игроманияhttps://www.igromania.ru/
Вскрытие
Город зла. Создание новой игры на движке Grand Theft Auto: Vice City, часть 2

   В прошлом номере мы разобрали, как изменить поведение жителей Vice City, поработали над внешностью главного героя, перерисовали интерфейс. Сегодня мы двинемся дальше и научимся изменять физику поведения автомобилей на улицах города, подправим отношение копов к Томми, сделаем игру более кровавой и доведем до ума "пушки".

   Пятна крови на рукаве

   Наша следующая жертва — файл particle.cfg. Файл отвечает за внешний вид разного рода частиц (дым, кровь, огненное пламя). Здесь вы найдете следующие характеристики:
   A (Particle Type Name) — название частицы. Список наименований некоторых из них: SPARK — искры, BLOOD — большое пятно крови, BLOOD_SMALL — маленькое пятно крови, BLOOD_SPURT — струя крови, FLAME — огненное пламя, GUNFLASH — вспышка при выстреле, SMOKE — дым, RAINDROP — дождевые капли, RAIN_SPLASH — дождевые капли на камере, BLOODDROP — капли крови на камере, EXPLOSION_MEDIUM — небольшой взрыв, EXPLOSION_LARGE — сильный взрыв, TREE_LEAVES — опавшие листья, CAR_DUST — пыль из-под колес автомобиля, GUNSHELL — гильза патрона.
414 Kb
- Крови никогда не бывает много... Особенно в таких играх, как GTA: Vice City

   Параметры B, C и D (имеют общее название Render Colouring) определяют цвет частицы и задаются в системе RGB (Red Green Blue) — системе цветоделения, при которой каждый цвет складывается из трех составляющих: красный (соответствует характеристике B), зеленый (параметр C) и синий (D). Значение всех трех атрибутов представляет собой число (чем оно больше, тем сильнее влияние данного цвета на окраску частицы).
   E (Default Initial Radius) — начальный радиус частицы. Увеличив радиус частиц BLOOD, BLOOD_SMALL, BLOOD_SPURT и BLOODDROP (только не переборщите с величиной значения — оно должно быть не больше 0.01, а то капли крови станут размером чуть ли не с человеческий рост), вы здорово поднимете кровавость игры.
   F (Expansion Rate) — максимальный радиус, до которого может увеличиться частица (большинство частиц в игре увеличивают свой радиус со временем до указанного здесь значения).
   GZR (Initial Z Radius) — радиус по оси Z. Данный параметр отвечает за "выпуклость" частицы. Например, капли крови.
   J (Animation Speed) — скорость проигрывания анимации частицы (в миллисекундах).
   M (Rotation Speed) — скорость вращения (при значении 0 вращение отсутствует).
   N (Gravitational Acceleration) — ускорение свободного падения.
   P (Default Life-Span of Particle) — продолжительность "жизни" частицы (в миллисекундах). Советую увеличить значение параметра для основных частиц. В первую очередь, это касается пятен крови, а то слишком уж быстро они исчезают. Это повысит реалистичность и эффектность игры, но может плохо отразиться на скорости, если у вас недостаточно мощный компьютер.
   Корректируя значения указанных выше атрибутов, вы можете создавать очень красивые эффекты. В частности, очень просто добавить зрелищности взрывам — для этого нужно повысить продолжительность, радиус и максимальный "размер" взрыва.

   Ex machina

   Переходим к следующему файлу — default.ide, в котором представлены идентификационные номера игровых моделей, а также некоторые другие их характеристики. В начале файла располагается огромный комментарий — нас он мало интересует. Зато сразу за ним следует список моделей игровых персонажей со следующими атрибутами (этот раздел файла имеет нестандартную структуру: столбцы, соответствующие названиям параметров и их значениям, здесь никак не
обозначаются):   
   modelId — идентификационный номер модели.
484 Kb
- Теперь даже бронированный фургон - не помеха полицейской машине. И все благодаря значительному увеличению массы авто
Эта характеристика и ее значения занимают первый столбец, параметр ModelName — второй, TxdName — третий, и далее по списку.
   ModelName — название модели.

   TxdName — скин, а точнее название соответствующего ему txd-файла (без расширения), упакованного в архив gta3.img (о нем мы уже говорили).
   Default pedtype — тип персонажа. Возможны следующие варианты: PLAYER1 — игрок (Томми), STAT_COP — блюстители порядка (копы, спецназовцы, ФБР, военные), EMERGENCY — медик, FIREMAN — пожарник, PROSTITUTE — проститутка, CRIMINAL — преступник, GANG* (где вместо "*" стоит число от 1 до 7) — представители различных банд, CIVMALE — мирный гражданин мужского пола, CIVFEMALE — женского.
   animGroup — тип анимации. Возможные значения: sexywoman — сексуальная девушка, woman — обычная женщина, busywoman — деловая женщина, fatwoman — толстая женщина, oldwoman — старушка, man — обычный мужчина, fatman — толстяк, oldman — старик, shopping — продавец, gang1 и gang2 — бандит.
   animfile — анимация героя.
   Последние два показателя — radio1 и radio2 — определяют радиостанции, которые может слушать данный персонаж, находясь за рулем. Список возможных значений этих параметров дан в начале файла под заголовком radio stations.
   Редактируя описанные выше характеристики, вы можете изменять внешность героев игры. Можно даже "присваивать" одним персонажам облик и анимацию других — например, на место полицейских поставить военных (в этом случае игра существенно прибавит в сложности) или даже представителей местных банд. Для этого скопируйте значения всех параметров кроме modelId первого персонажа поверх значений атрибутов второго. Единственная модель, с которой подобный фокус не пройдет, — Томми.
   После надписи cars начинается раздел файла, посвященный транспортным средствам. В нем вы встретите следующие параметры:
   Id — идентификационный номер модели данного средства передвижения.
   Model name — название модели.
   Txd name — скин. Задается по аналогии с одноименным атрибутом из раздела файла, посвященного жителям Vice City.
   Type — тип транспортного средства: car — автомобиль, boat — лодка, heli — вертолет, plane — самолет, bike — мотоцикл.
   Game name — название машины в игре. В качестве значения данного параметра указывается кодовое название (оно и содержит текст с наименованием транспортного средства), которое прописано в группе сообщений MAIN файла american.gxt. Думаю, ни для кого не секрет, что большинство игровых автомобилей (особенно это касается спортивных машин) являются практически полными копиями реальных тачек. В дорожном движении игры несложно разглядеть всевозможные "Порше", "Ламборджини" и прочие "Феррари". Никто не мешает назвать их так, как они называются в реальной жизни.
   Anims — анимация. Не изменяйте данный параметр!
   Frq — частота появления автомобиля на дорогах (минимальное значение — 0, максимальное — 10). Меняя значения данного атрибута, вы можете изменять частоту появления на трассах тех или иных машин. Ненужные, на ваш взгляд, тачки можно вообще убрать с дорог, поставив значение 0.

   Чудеса на виражах

   Файл handling.cfg содержит технические характеристики автомобилей и других транспортных средств. Основные параметры:
   A (vehicle identifier) — название машины.
   B (fMass) — масса средства передвижения (в килограммах). Может быть от 1 до 50000. Поставьте 20000, и выбранная тачка станет тяжелее танка, отбрасывая при езде других участников движения. Если же поставить параметр 100, то авто будет отлетать на несколько метров при каждом столкновении.
 Музыка забытых кварталов
   Vice City, как и GTA 3, славится не только хорошей графикой, захватывающим сюжетом и чумовым геймплеем, но и великолепным музыкальным сопровождением. Проезжая по улицам Vice City, мы не раз подумывали о том, как бы "выдернуть" звуковые треки из игры. В отличие от GTA 3, где вся музыка была представлена обычными wav-файлами, в VS файлы игровых радиостанций записаны в нестандартном формате adf (находятся в папке \Audio и называются так же, как и соответствующие им радиостанции). Сконвертировать файлы в формат mp3 поможет утилита ADF2MP3 (за ней — на наш компакт). Запустите программу, в верхнем поле для ввода программного окна укажите путь интересующего вас adf-файла, а в нижнем — месторасположение создаваемого mp3-файла и его имя (не забудьте прописать здесь новоиспеченному файлу расширение .mp3, чтобы ваш проигрыватель смог без труда его распознать). Жмите кнопку Convert! и немного подождите, пока программа произведет операцию конвертирования музыки. Теперь вы можете наслаждаться своими любимыми композициями из Vice City в любое время.
Увеличение массы никак не отразится на скоростных качествах авто.
   C (Dimensions.x) — ширина транспортного средства (в метрах). Значение этого, а также трех следующих показателей должно находиться в промежутке от 0 до 20.
   D (Dimensions.y) — длина машины.
   E (Dimensions.z) — высота. Обратите
внимание на то, что на внешний вид средства передвижения изменение его габаритов никак не влияет: у машины лишь появляются невидимые области, которые занимают часть игрового пространства.   
   F (CentreOfMass.x) — отклонение центра тяжести от центра машины по оси X (по ширине автомобиля). Измеряется этот атрибут в метрах от -10 до 10. При минимальных значениях (от -1 до 1) автомобиль будет сильнее наклоняться в ту или иную сторону (в зависимости от того, какое значение — положительное или отрицательное) при резких поворотах. При больших значениях транспортное средство начинает вести себя неестественно.
   G (CentreOfMass.y) — отклонение центра тяжести от центра по оси Y (по длине машины).

   H (CentOfMass.z) — то же самое по оси Z (по высоте).
   I (nPercentSubmerged) — параметр показывает, насколько данный тип транспорта может погружаться в воду (в процентах от высоты). Указанное здесь число должно быть больше 10, но меньше 120. Хотите, чтобы кары плавали, как лодки? Ставьте значение 20.
   J (fTractionMultiplier) — умножитель для сцепления колес с дорогой (на заданное здесь число умножается значение следующего параметра, увеличивая или понижая его). Значение должно находиться в интервале от -2 до 2.
   K (fTractionLoss) — сила сцепления колес с землей (от 0 до 1).
   L (fTractionBias) — данная характеристика определяет, у какой пары колес отсутствует сцепление: 0 — у передней, 1 — у задней.
   M (TransmissionData.nNumberOfGears) — количество передач у авто (от 1 до 5).
   N (TransmissionData.fMaxVelocity) — максимальная скорость (в километрах в час), которую может развивать транспортное средство (должна быть больше 5, но меньше 300). Хотите жарких погонь на бешеных скоростях? Тогда просто повысьте значение показателя у основных средств передвижения.
   O (TransmissionData.fEngineAcceleration) — быстрота набора скорости машиной (от 0.1 до 10). При максимальном значении параметра даже самые тяжелые тачки будут набирать скорость до максимума за считанные секунды.
   P (TransmissionData.nDriveType) — параметр задает ведущую пару колес у автомобиля. Возможные значения: F — передние колеса, R — задние, 4 — обе пары.
   Q (TransmissionData.nEngineType) — тип двигателя: P — бензиновый, D — дизельный, E — электрический. Данный параметр влияет только на силу рева мотора.
   R (fBrakeDeceleration) — быстрота торможения транспорта (от 0.1 до 10.0).
   S (fBrakeBias) — какой парой колес тормозит автомобиль. 1 — передней, 0 — задней, 0,5 — обеими парами. В последнем случае тормозная система тачки работает наиболее эффективно.
   U (fSteeringLock) — максимальный угол поворота колес машины (в градусах). Оптимальное значение лежит в промежутке от 10 до 40. Данный параметр позволяет регулировать поворотливость авто. Если будете увеличивать значение атрибута TransmissionData.fMaxVelocity, обязательно повысьте и данное значение, иначе авто будут плохо управляться.
   V (fSuspensionForceLevel) — "прыгучесть" тачки. Чем больше значение, тем сильнее будет подпрыгивать авто на кочках. При значении 0 машина превратится во что-то вроде танка и вообще перестанет прыгать. Поставьте 10, и автомобиль будет стремиться к небесам при каждом прыжке. Советую слегка повысить у всех видов транспорта.
   W (fSuspensionDampingLevel) — жесткость подвески. Данный параметр лучше не изменять.
   Y (fCollisionDamageMultiplier) — "хрупкость" транспортного средства. Характеристика принимает значения от 0 до 5 (чем ниже, тем "крепче" авто). При нуле автомобиль вообще не подвергается повреждениям. Ставьте 0.1, и машина получит танковую броню. Лично мне кажется разумным слегка "упрочнить" все транспортные средства, а то как-то слишком уж легко они взрываются.
   Z (nMonetaryValue) — стоимость машины.
   af (front lights) — свет от передних фар тачки (0 — дальний, 1 — ближний, 2 — сильный, 3 — вертикальный).
   ag (rear lights) — свет от задних фар.
   Все вышеперечисленные параметры помогут вам не только подправить технические характеристики транспортных средств, но и добавить в игру новые машины,
470 Kb
- В своем моде я повысил взрывную волну гранат и увеличил размеры капель крови
поставив их на место исходных. Правда, для этого придется также отредактировать раздел cars файла default.ide и перерисовать скин изменяемого авто. Если подойти к делу с умом, можно "собрать" совершенно новое средство передвижения.
   

   Несущие смерть

   Разберем файл weapon.dat, который содержит описания оружия. Список представленных в файле характеристик выглядит следующим образом:
   A (Weapon name) — название оружия.
   B (Fire type) — тип оружия. Возможные следующие варианты: MELEE (оружие ближнего боя: нож, молоток, бейсбольная бита, бензопила), PROJECTILE (огнестрельное оружие, стреляющее разрывными снарядами), INSTANT_HIT (огнестрельное оружие, использующее обычные пули), AREA_EFFECT (огнемет).
   E (Reload) — время, которое требуется на перезарядку ствола (в миллисекундах). У оружия ближнего боя данный атрибут показывает, сколько времени требуется Томми, чтобы нанести повторный удар.
   F (Amount of Ammunition) — начальное количество патронов, поставляющееся с пушкой.
   G (Damage) — урон, наносимый данным оружием. Хотите сделать Vice City реалистичным экшеном? Увеличьте в два раза значения атрибута для каждого из стволов, и игровые персонажи (в том числе и Томми) будут, как и реальные люди, погибать от одного-двух точных выстрелов.
   H (Speed) — скорострельность (выстрелы в секунду).
   I (Radius) — радиус поражения (в метрах).
   J (Life span) — время (в миллисекундах), через которое сдетонирует снаряд после выстрела (или, если речь идет о гранатах, после броска). Имеет смысл менять значение этой характеристики только у оружия типа PROJECTILE.
   K (Spread) — максимальное расстояние в метрах, на которое летит снаряд (только для оружия типа PROJECTILE).
   P (animation to play) — анимация стрельбы из данного ствола. Не изменяйте данный параметр.
   Теперь настало время создавать новые оригинальные орудия убийства, заменяя ими старые аналоги. Только не забывайте следить за балансом и, изобретая новый вид вооружения, обязательно посмотрите, как он вписывается в игру. Можете, например, смоделировать очень мощный и скорострельный ствол, сражающий своими пулями всех наповал, но с низким радиусом поражения и длительной перезарядкой.
   * * *

   При создании мода постарайтесь использовать все доступные средства изменения игры. В статье достаточно информации, чтобы можно было переписать сюжетную линию (для этого необходимо, прежде всего, подкорректировать тексты и речь основных персонажей), создать новых героев (в этом вам поможет редактирование их скинов и переозвучка), транспортные средства и оружие (а тут не обойтись без правки базовых параметров и внешнего вида пушек и машин).
   Бешеные скорости, повышенная преступность, разъяренные копы, сильные бандиты и много-много крови... Перед нами — совершенно новая игра, в которую хочется играть снова и снова.   
Комментарии
Загрузка комментариев