23 ноября 2006
Обновлено 17.05.2023

Горячая линия: игрострой

Горячая линия: игрострой - изображение обложка

24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адрес gamedev@igromania.ru.

Также вы можете задать свой вопрос по SMS на номер 1121 с префиксом dev (в начале сообщения печатаете слово dev, а затем, через пробел, сам вопрос). Стоимость каждого SMS — 10 центов.

Делая уровни в редакторе Titan Quest, дошел до расселения монстров и неожиданно обнаружил, что их разновидностей несколько больше, чем я видел в игре. Это при том, что я облазил игру от и до. Объясните, в чем дело: это я не нашел какие-то закрытые локации или в редакторе действительно есть какие-то дополнительные существа?

Действительно, в редакторе существ несколько больше, чем в игре. Например, некоторые NPC не попали в финальную версию Titan Quest из-за того, что сюжетная линия по ходу разработки переписывалась несколько раз. Также в редактор попало несколько монстров, дизайн которых разработчиков по каким-то причинам не устроил. Обратите внимание, что для таких противников не прописаны скрипты поведения и не проработаны предметы инвентаря. Так что будьте осторожных при помещении их на самодельную карту: чаще всего такие монстры просто стоят на месте, а если вы их убьете, то из них не выпадают вещи.

Существует ли какая-нибудь скриптовая команда, посредством которой можно делать скриншоты в GTA: San Andreas без использования утилит, специально созданных для создания скринов (они немного подтормаживают игру, а хотелось бы, чтобы геймплей не прерывался ни на секунду)?

Сделать скриншот в GTA: San Andreas можно при помощи скрипта 0A1E: 1. Если поставить данную команду в цикл с проверками, то можно сделать огромную подборку картинок, которые потом несложно сшить в единый видеофайл. Скрипт, демонстрирующий применение данной команды, вы найдете на нашем диске в разделе «Игрострой».

Существуют какие-либо команды для редактора скриптов TES 4: Oblivion, позволяющие узнать, спит игрок в данный момент времени или бодрствует? И смежный вопроскак узнать общее время сна главного героя?

Чтобы узнать состояние героя в текущий момент времени (спит или нет), в редактор встроена специальная функция — IsPCSleeping. Работает она по следующей схеме — если персонаж спит, то переменная примет целое значение (обычно «возвращается» значение 1 ), если персонаж, напротив, бодрствует, то возвращается нечетное значение (обычно 0 ).

Теперь что касается общего времени сна. Чтобы его узнать, достаточно воспользоваться командой GetPCSleepHours. В некоторых случаях, даже если игрок какое-то время отдыхал, команда возвращает значение 0 , но происходит это только на закрытых локациях.

Почему при создании игр разработчики для хранения графики чаще всего отдают предпочтение формату DDS? Это стандарт? Ведь есть же BMP, JPG, GIF, наконец.

Никакого стандарта не существует, большинство игровых редакторов и пакетов трехмерной графики умело справляются с любыми графическими файлами. Однако разработчики всегда исходят из принципа «конвертируем графику в формат, который при максимальном сжатии дает минимум потерь качества картинки». JPG отлично ужимает картинку, но артефакты, которые при этом появляются, смотрятся просто чудовищно. BMP дает прекрасное качество (ведь по сути это несжатое изображение, где есть точная информация о каждом пикселе), но если, скажем, перевести всю графику того же Half- Life 2 в этот формат, то все картинки в сумме займут более 30 Гб (мы специально проверили).

Формат DDS обеспечивает отличное сжатие при минимальных потерях изображения. У DDS есть и еще один немаловажный плюс: он позволяет хранить в теле файла информацию не только о цвете пикселей, но и альфа-канал (маску прозрачности), который можно с успехом использовать, например, при создании карты высот или прозрачных текстур.

Можно ли в GTA: San Andreas с помощью каких-либо команд выводить на экран графические файлыленты комиксов, слайд-шоу? Я сделал новый город и хочу на некоторых миссиях попробовать этот эффект.

Для того чтобы организовать в игре вывод той или иной картинки на экран, нужно проделать ряд несложных манипуляций.

1. С помощью программы TXD Workshop создайте новый TXD-файл и сохраните его в каталог \Models\Txd игры. Поместите в файл изображения, которые хотите использовать на своей миссии.

2. Для вывода изображения из TXD-файла на экран в SAMB воспользуйтесь следующей конструкцией:

:Out _Image

0001: wait 0 ms

0390: ‘TEST’

038F: 1 “IMG_01”

0001: wait 5000 ms

038D: 1 310.0 230.0 256.0 256.0 255 255 255 255

0873: 1

0390: ‘TEST’

0001: wait 15000 ms

03F0: text_draw_toggle 1

03F0: text_draw_toggle 0

004E: end_thread

TEST — имя вашего TXD-файла из папки Models\Txd игры, IMG_01 — название изображения внутри TXD-файла. Скрипт выводит на экран изображение на 15000 ms (хотите — ставьте больше). Чтобы убрать картинку с экрана, примените команду:

03 F0: text_ draw_ toggle 1

03 F0: text_ draw_ toggle 0

Вопрос месяца

Прошел кампанию Heroes of Might and Magic 5, переиграл во все оригинальные сценарии и без труда побеждаю компьютер на высшем уровне сложности. Можно как-нибудь сделать его более сильным и умным? Можно как-то отрегулировать сложность прохождения игры?

Да, можно. Для этого придется немного покопаться в характеристиках AI. Вы найдете их в разделе AI файла DefaultStats.xdb , что лежит в каталоге \GameMechanics\RPGStats (архив data.pak ). Откройте файл в «Блокноте» и найдите подраздел Combat , в котором прописано соотношение сил противоборствующих сторон во время сражений. Здесь есть параметр EnemyDamageCoef — коэффициент повреждения, наносимого войсками компьютера (в процентах). Впишите сюда значение в районе 110-120 (или даже выше — изначально стоит 100 ). В результате армия компьютера увеличится.

Атрибуту EnemyTroopsHealthCoef (коэффициент здоровья вражеских войск) присвойте значение 50-60 , а характеристике EnemyWarMachinesHealthCoef (коэффициент прочности боевых машин неприятеля) — 1.5.

Перейдите к разделу Adventure. Он описывает действия компьютера на игровой карте и разбит на три небольших блока: DifficultyNormal (относится к низкому уровню сложности), DifficultyHard (средняя сложность) и DifficultyHeroic (высокая сложность). Если вы опытный игрок, то вас интересует только последний блок.

Первый показатель, который вам необходимо отредактировать — AttackHumanAggressivityCoef , он определяет агрессивность компьютерных игроков в атаке. Обратите внимание, что на всех трех уровнях сложности значение этого параметра равно единице. Повысьте значение до 1.2-1.5 , после этого компьютер будет нападать на вас при первой же возможности.

Следующий атрибут — AttackComputerAggressivityCoef , задающий агрессивность одной расы, управляемой компьютером, по отношению к другой. Если вы хотите, чтобы ваши компьютерные оппоненты вовсю рубились между собой, ставьте сюда значение 1-1.5. Но учтите, что подобное изменение не всегда делает AI более серьезным противником. Чаще всего противники в начале раунда начинают междоусобные войны и на какое-то время забывают о вас. Но затем один из них побеждает, захватывает замки, и победить его становится крайне сложно. На наш взгляд, значение характеристики лучше снизить до 0.1 - 0.2.

Во всех блоках есть настройка CowardiceVersusHuman. Она определяет трусость компьютера в борьбе с вами. Задайте значение 0. Трусам нет места в нашей мини-модификации!

Идем дальше. ArmyPowerCoefBonusPerHeroLevel — коэффициент мощности армии компьютера в зависимости от его уровня. На всех уровнях сложности ее значение одно и то же. В блоках DifficultyHard и DifficultyHeroic стоит прописать этому атрибуту значения 0.2 и 0.3 , соответственно. В этом случае на средней и высокой сложности существенно возрастет зависимость силы компьютерного игрока от его уровня.

Показатели AvengerVersusHumanCoef и AvengerVersusComputerCoef задают мстительность компьютерного игрока по отношению к вам и к компьютерному оппоненту соответственно. В первом случае значение параметра одинаково для всех уровней сложности — 1. В разделах DifficultyHard и DifficultyHeroic рекомендуется прописать числа 1.25 и 1.5. Компьютер станет очень злопамятным.

Определенный интерес представляют также настройки HireHeroesPerTown и HireHeroesGlobalLimit. Первая задает максимальное количество героев из одного города, которыми компьютер может одновременно управлять. Вторая — максимальное общее число героев, находящихся в подчинении у AI. Если вы хотите, чтобы враги заполонили собой всю карту, ставьте атрибуту HireHeroesPerTown значение побольше. Но учтите, что при таком раскладе по-настоящему сильных соперников вы себе вряд ли отыщете (все герои будут очень слабыми), да и игра будет сильно тормозить.

Что касается показателя HireHeroesGlobalLimit , то соответствующее ему значение лучше понизить до 12-15. Дело в том, что AI не способен нормально управляться с большим количеством героев. Он воспитывает много слабеньких противников.

Кстати, если вы не профессиональный игрок, а только-только начинаете осваивать мир HoMM 5, то можете проделать операции, обратные описанным, — играть станет значительно проще.

Комментарии
Чтобы оставить комментарий,Войдите или Зарегистрируйтесь