Часть 1. Внешность. Глава 1. Ландшафт карты: 1. Включаем билдер 2.
Нажимаем кнопку создания новой мапы (белый лист) и видим окошко, где
надо ввести высоту и ширину и длину карты, ширину границ. Пишем, к
примеру, длину 300, ширину - 300, высоту - 50 и границы - 30 и жмём ОК 3.
Перед нами серая равнина. Нажимаем кнопку, где нарисовано ведро) Это
заливка. Выбираем из списка любую понравившеюся текстуру и заливаем
карту. 4. Теперь надо поставить возвышенности. Нажимаем кнопку с
кисточкой и плюсом. В небольшом окошке справа настраиваем инструмент:
Brush width - это ширина центра, Brush feather width - ширина краёв,
Brush Height - это скорость роста горы. Теперь рисуйте! Но учтите,
максимальная высота карты - 255 5. Канава - это кнопочка с кисточкой, у которой минус. Всё тоже самое, что и у гор. 6. Чтобы сделать переходы с малой высоты на большую, можно использовать 2 инструмента:
а) Smooth Height - кнопочка с изображением распыления, используется для
малых перепадов высоты - Brush width - ширина рабочего поля, Filter
Radius - радиус фильтра - то есть радиус самого разглаживания в круге,
Feather rate - ясно, что это скорость) б) Ramp - белый прямоугольный треугольник, там одна опция - ширина 7.
Вода. Нажимаем кнопку с волнами. Сначала делаем зону воды. Настройка -
имя, высота, река или водный полигон, и ещё какая то опция, в которой я
не разобрался. 8. Чтобы затекстурить горы, некоторые места, в общем
- внести разнообразие в палитру карты, жмите кнопку с шахматными
квадратами))) выбирайте текстуру, размер и красьте. Ландшафт готов!
Глава 2. Объекты: 1.
Всматриваясь в карту, видим, что чего-то не хватает. Да! Нужно добавить
декорации (объекты, не участвующие в скриптах): деревья, дороги,
здания, машины и т.д. 2. Начнём с дорог. Выбираем инструмент Road -
это две сплошные линии и одна пунктирная посередине - и смотрим - там
есть дороги и мосты. Нам нужны дороги. Выбираем то, что нужно и наносим
на карту. Также можно выбрать вид угла. 3. Деревья - инструмент
Grove (поджареное дерево). Там мы выбираем виды деревьев и их
количество (в процентах). Общий процент желательно должен быть 100.
Далее ставим общее количество деревьев (в штуках). Флаги Allow Water
Placement и Allow Cliff Placement лучше не отмечать. 4. Теперь
остальные объекты - выбираем инструмент Place Object (три стрелочки).
Здания штатских - Civilian/STRUCTURE, машины - Civilian/VEHICLE, люди
Civilian/INFANTRY, детали - Civilian/MISC_MAN_MADE, звуки -
Civilian/AUDIO Всё!
Глава 3. Опции карты: 1. Ставим
игроков. Заходим в Edit->Edit player list. В миссиях традиционно
игрок имеет имя "ThePlayer", а врага как хотите, так и называйте. Жмём
кнопку New Player, выбираем фракцию, имя, цвет - как угодно. Потом у
каждого из полученных игроков в поле Enemies указываем врага, а в поле Allies - союзника (если надо). Жмём ОК. 2. Настраиваем время суток карты - жмём ctrl+d до нужного результата. 3.
Если у ИИ будет база, которую он будет строить или отстраивать заново,
то юзаем инструмент Build List Tool. Он прост в использовании:
Structure Already Built - этот флаг ставится, если вам нужно, что это
здание стояло с самого начала, Rebuilds - сколько раз он будет
строиться. Остальное думаю не надо объяснять)) Не лишне будет добавить
объектов для игрока и объектов врага, которые не участвуют в скриптах. Всё вроде.
Часть 2. Скриптинг. Глава 1. Предисловие: 1. В первой части я рассказывал о создании миссии. Теперь пришло время для её начинки. Нам понадобятся три кнопки: а) Edit Scripts - делать скрипты б) Edit Teams - создавать команды юнитов в) Waypoint Tool - делать вейпоинты г) Polygon Tool - делать полигоны (триггеры) 2. Опции инструментов:
а) Вы можете добавить папку (New Folder) - у неё есть название, флаги:
Group is Active - выполняются ли скрипты внутри папки и Group is
Subroutine - является ли группа скриптов подпрограммой; Добавить скрипт
- у него есть название, флаги: Script is Subroutine - является ли
скрипт подпрограммой, Script is Active - активен ли скрипт, Deactivate
upon success - деактивация после выполнения, Active in - при каком
(каких) уровне (уровнях) сложности срабатывает скрипт, Evaluate script
- повтор скрипта (если флаг DUS отключен) каждый кадр или каждые ##
секунд, Вкладки - Script Properties - опции скрипта, Script Conditions
- условия скрипта, Actions if True - действия при выполнении условий,
Actions if False - действия при невыполнении условий. Вы можете удалить
группу или скрипт и импортировать или экспортировать скрипты. б) Вы
можете создавать команды. Более подробно о структуре окна команды вы
можете узнать из тутора "Руководство по редактированию ИИ в игре
Generals Zero Hour" от Креатора. в) Там всё очень просто, левой
кнопкой - ставим точку, удерживая кнопку - делаем путь, справа -
название точки, название пути (если несколько точек связаны) г) Левой кнопкой ставим узлы полигона, справа название 3.
Рекомендую самим изучить условия и действия скриптов, так как вы
сможете тогда по своему изменить данные ниже скрипты, добавить в них
своё.
Глава 2. Необходимые в миссии скрипты: 1. Интро:Создаём группу скриптов в папке (neutral) под названием Intro, она должна быть активной и не-подпрограммой. а)
Создаём скрипт под названием, к примеру, SetUpCam. Он должен быть
активным, не-подпрограммой и деактивирующимся, ну и конечно для всех
уровней сложности. В условиях ничего не меняем) Действия: Camera
-> Adjust -> Set up the camera - настройка камеры - где она стоит
(например, "Cam_Start"), куда смотрит("Cam_Look_Start", например),
наклон и приближение Camera -> Letterbox -> Begin letterbox mode - сверху и снизу чёрные прямоугольники Multimedia -> Music -> Play a music track - музыка Map -> Shroud or Reveal -> Reveal the entire map permanently for a player - нет тумана войны Scripting -> Briefing -> Show military briefing caption - брифинг User -> Input -> Disable - убрать мышь и нейтрализовать клаву Scripting
-> Timer -> Seconds countdown timer -- set - таймер, который
нужен для старта следующего скрипта (например "Intro") Scripting -> Script -> Enable Script - включить следующий скрипт, который будет отвечать за движение камеры. Что
можно добавить в этот скрипт, условия, действия? Да что душа пожелает!
Условия не следует добавлять. Можно добавить чёрно-белое изображение
через действие: Camera -> Camera FX -> Start black & white mode а можно использовать эффект "Затемнение"): Camera -> CameraFX -> Fade using a *** Или звуки добавить: Multimedia -> Sound Effect -> Play a speech file или Play sound effect и т. д. б)
Теперь скрипт движения камеры (например, имя "CameraMove01"), а точнее,
первого шага. Он неактивен, не-подпрограмма и отключается. Все уровни
сложности. Условие: Scripting -> Timer expired - в нём указываете таймер (наш "Intro") Действия: Camera -> Move -> Move the camera to a location - камера идёт в точку (например "Cam_Move01") Camera
-> Modify -> Move -> Camera look toward point while moving -
камера будет направлена на точку ("Cam_Look", если к примеру) Scripting -> Timer -> Seconds countdown timer -- set - перезапуск таймера ("Intro") Scripting -> Script -> Enable Script - включить следующий скрипт, который будет отвечать за следующее движение камеры. В
скрипт можно добавить тоже много чего - движение юнита, команды (это я
позже буду освещать), изменение угла и приближения камеры Camera -> Adjust -> Change **** Scripting -> Briefing -> Show military briefing caption - брифинг звуки добавить: Multimedia -> Sound Effect -> Play a speech file или Play sound effect Ротация: Camera -> Rotate -> Rotate around the current viewpoint Далее все остальные скрипты движения камеры в интро имеют такое же строение, кроме финального По желанию можно добавить другие действия в) Финальный скрипт (пример, "CamFinal") Он неактивен, не-подпрограмма и отключается. Все уровни сложности. Условие Scripting -> Timer expired - в нём указываете таймер (наш "Intro") Действия Camera -> Move -> Reset to the default view - Camera -> Letterbox -> End letterbox mode - сверху и снизу чёрные прямоугольники Map -> Shroud or Reveal -> Un-Reveal the entire map permanently for a player - туман войны Scripting -> Briefing -> Show military briefing caption - брифинг User -> Input -> Enable - Мышь и клава снова в полной свободе В скрипт можно звуки добавить: Multimedia -> Sound Effect -> Play a speech file или Play sound effect если надо отключить ЧБ: Camera -> Camera FX -> Stop black & white mode Хотя можно и всякие другие скрипты добавить) Интро готово. 2.
Цели миссии: Проработаем несколько вариантов задач и поражений (условий
специальных скриптов) миссии. Задачи и поражения можно комбинировать
через логику AND (и) или OR (или). Действия я опишу отдельно, так как
они практически одни и теже. Структура скрипта победы/поражения
такова: в условиях вы ставите условие победы/поражения, а в действиях -
что происходит. Главное действие - User/Announce Win или User/Announce
Lose. Вот два примера - простой и сложный: 1) Можно сделать так, чтобы при уничтожении юнита тут же игра заканчивалась победой, но если юнит войдёт в зону - то поражением. а) Победа. Условие: Unit/Destroyed/Unit is destroyed Действие: User/Announce Win б) Поражение. Условие: Unit/Area/Unit entered area Действие: User/Announce Lose Просто, не правда ли? Но "просто" не значит "лучше". Интересней будет так: 2)
При уничтожении юнита играет музыка, камера поворачивается вокруг оси и
через 10 секунд игра заканчивается победой. При поражении (юнит вошёл в
зону) тоже играет музыка, камера затемняется и через 10 секунд
поражение показывается. Условия теже, что и в простом примере. Действия: а)
Победа. Multimedia/Music/Play a music track, Camera -> Rotate ->
Rotate around the current viewpoint, Scripting/Script/Enable Script
(здесь вы указываете не-активный скрипт, в котором одно действие -
User/Announce Win б) Поражение. Multimedia/Music/Play a music track,
Camera -> CameraFX -> Fade using a ***, Scripting/Script/Enable
Script (здесь вы указываете не-активный скрипт, в котором одно действие
- User/Announce Lose
Всё это - самые главные скрипты миссии, хотя можно обойтись без интро, но это будет в минус карте
Глава 3. Скрипты - какие ещё бывают: 1.
Юниты и команды в целом подчиняются одним и тем же скриптам, они
различаются только тем, что для юнитов скриптов больше, так как юнит -
это более гибкий объект, чем команда. 2. Можно сделать рэндом-скрипты, используя соответствующий фрэйм-таймер и вычисляя при помощи других скриптов выпавшее значение 3. Скрипт использования супероружия ИИ имеет два скрипта, немногим отличающихся друг от друга. 4. ИИ в миссии сделать в принципе несложно, в отличие от ИИ скирмиша 5. Часть действий и условий вы никогда не будете использовать 6. Можно сделать так, чтоб при лёгком уровне сложности вам на голову десантировались пехи, а на тяжёлом - танки)
Часть 3. Заключение: Эта
статья не полностью научит вас строить миссии для Генералов. Но я
надеюсь, что эта статья убыстрит вашу учёбу в этой сфере. Я намеренно
не стал останавливаться на других скриптах, так как хочу, чтобы вы сами
их изучили, как впрочем и само картостроительство. Но чтобы создавать
миссии, нельзя иметь просто умение. Нужно ещё иметь фантазию, чтобы
сделать свою миссию неповторимой и интересной. Модить Генералы сейчас
даже ребёнок сможет. А вот миссию создать - не так уж и многие могут.
Если у вас возникнут вопросы или проблемы, если у вас появилась крутая
идея для миссии, но вы не можете её реализовать без посторонней помощи,
не стесняйтесь обращаться ко мне. Я помогу любому, отвечу на вопросы,
сделаю карту-пример, если хотите наглядно что-то увидеть, даже миссию
сделать по вашим экскизам, хотите - для оригинальных Генов, хотите -
для ЗХ, хотите - для Контры, а может быть вы даже мне свою карту дадите
с просьбой доработать - добавить нужные скрипты, проверить
играбельность миссии. Но учтите, я не всемогущ, и некоторые идеи я мб
не смогу реализовать, или же мне будет неизвестен ответ на ваш вопрос.