Базовое руководство по DromEd
Оригинальная версия написана Looking Glass Studios, перевод Сергея Балана.
Перейти: На главную / К главам I - X

  • От переводчика.
  • I. Программа DromEd - Интерфейс
  • II. Кисти (Brushes) и Портализация (Portalizing)
  • III. Просмотр Кистей / Перемещения по Окнам Просмотра
  • IV. Использование Текстур
  • V. Изменение Размера Кистей
  • VI. Создание Новых Кистей
  • VII. Размещение Объектов / Освещение
  • VIII. Обеспечение Уровня Жизни.
  • IX. Акустические Настройки EAX
  • X Создание Инвентаря по Умолчанию
  • XI. Создание AI Маршрутов Патрулирования
  • XII. Создание Целей Миссии (Часть I)
  • XIII. Создание Целей Миссии (Часть II)
  • XIV. Создание Уровней Сложности
  • XV. Другие Полезные Советы и Подсказки
  • X Создание Инвентаря по Умолчанию

    Создание Отправной Точки (Starting Point) создает Гарретта в игре без какого либо инвентаря. Для того, чтобы начинать миссию с заданным по умолчанию набором элементов – оружия (меч, стрелы, дубинка) или поверапов (Зелье жизни, Световая бомба...), вы должны создать эти элементы и “связать” их с Отправной Точкой. Найдите в Объектной Иерархии (или используя команду “find_obj”) и разместите в уровне меч (sword), дубинку (blackjack) и обычную стрелу (broadhead arrow).

    [Заметка: Обычная стрела в DromEd называется просто “broadhead”]

    [Thief 2 - меч: physical / weapons / swords / sword
    дубина: physical / weapons / BlackJack
    обычная стрела: physical / projecticle / broadhead - создать ЗАГОЛОВОК, не лезть дальше.

    [Заметка: Хорошим тоном считается создание специальной операционной кисти, не связанной с общим уровнем, в которой и будет находится инвентарь по умолчанию]

    После того, как объекты были созданы, запомните номер каждого из них.

    Сначала свяжем дубинку с Отправной Точкой. Выберите Отправную Точку (Starting Point) и нажмите на кнопке “Links”, так как вы делали несколько ранее. Нажимаем кнопку “Add”. В поле “Flavor” выбираем “Contains” (Содержит). В поле “From” вводим номер Отправной Точки (или просто, “StartingPoint”). В поле. “To” вводим номер дубинки. Нажимаем “OK” и еще раз “OK” в “Links” окне для возврата в главное окно DromEd. Вы только что привязали дубинку к модели игрока. Это означает, что теперь каждый раз начиная играть в эту миссию, вы уже будете иметь дубинку. Не беспокойтесь об дубинке. Теперь она “исчезнет” в игре, но на самом деле будет оставаться там, где вы её создали. Теперь, точно также привяжите меч к Отправной Точке (удостоверьтесь, что вы правильно запомнили номера объектов, которые вы собираетесь привязывать).

    Привязывание стрел к игроку более громоздко, так как мы хотим дать Гарретту множество стрел, а не только одну, которую мы разместили в уровне. До того, как мы привяжем стрелу к Отправной Точке, мы должны изменить объект-стрелу так, чтобы он давал игроку множество стрел. Нажмите на стреле и нажмите на кнопку “Properties”. Далее нажмите на кнопку “Add”. Появится список возможных свойств. Выберите “Engine Features”, далее “Stack Count” и введите число стрел, с которым вы бы хотели начать игру. Давайте введем 30 стрел. Когда вы завершите изменять число стрел, свяжите стрелу-объект с Отправной Точкой так, как вы делали с мечом и дубиной. Заметьте, что вы фактически не должны оборудовать Гарретта луком; как только вы снабжаете его стрелами, лук автоматически доступен.

    Каждый, кто играл в Thief знает, что одна из классных элементов игры – способность тушить факелы используя Водяные стрелы (water arrow). Используйте выше описанный метод и дайте Гарретту две водяных стрелы. Обратите внимание на то, что водные стрелы (также как и моховые стрелы [moss arrow], огненные стрелы [fire arrows] и газовые стрелы [gas arrows] ) в DromEd описаны как кристаллы (crystals) и могут быть найдены в Иерархии по адресу Physical\Tulz\Crystal.

    [Thief 2 - Также их можно найти по адресу: physical / projecticle / Единственное отличие, что в игре они не будут выглядеть как кристаллы. Они будут как летящие в воздухе стрелы. С водяными стрелами не проходит - они "разливаются", а другие можно попробовать]

    Теперь, когда у вас есть все необходимое, возвращайтесь в игру и покажите нечастному охраннику КТО ТУТА БОСС!!!.

     

    XI. Создание AI Маршрутов Патрулирования

    Компьютерный интеллект (AI) в Thief: The Dark Project очень развит и это сполна подтверждается охранником, которого мы разместили в нашем уровне. Охрана, даже если просто стоит и ничего не делает, может слышать ваши шаги, выслеживать вас и даже убегает, когда почти повержена. Об этом вам не надо волноваться, вы не будете программировать их действия – DromEd сам вычисляет их поведение. И в тоже время, как сложные сценарии вам недоступны, вы можете контролировать их действия, создавая маршруты их патрулирования. Давайте в вашем обучающем уровне сделаем так, чтобы охранник ходил вокруг колонны, идя от одного маркера к другому (как путевой лист в рейсе поезда), от него опять к следующему и так далее по кругу.

    Для создания патрульного маршрута, вы должны создавать специальные маркеры, которые в Объектной Иерархии находятся по адресу fnord\Marker\TrolPt. Разместите TrolPt маркеры (не LookBackPt маркеры!!!) в северной комнате вокруг колонны (штук 5 – 6 хватит). Учтите, что по этим маркерам будет идти охранник, поэтому не создавайте их впритык к стене колонны или краям комнаты, а то он будет просто “застревать”. Важно знать, что охранник начнет свой маршрут с ближайшего в 3D пространстве маркера. Как мы удостоверимся, что охранник начнет свой путь именно с выбранного вами маркера? Очень просто: мы создадим первый маркер внутри охранника (или переместим другой, если в этом есть необходимость). Также важно знать, что маркеры всегда должны находится внутри воздушных кистей – не в сплошной кисти и не в водяной, близко к полу (может находиться в воздухе на высоте до 4 футов)

    Теперь, когда маркеры были созданы, мы должны связать их вместе. Нажмите по очереди на все маркеры и запишите их номера. Далее, нажмите на первый (тот, который вы создали внутри охранника) и нажмите на “Links”. Нечто подобное мы делали с Отправной Точкой и вам это должно быть знакомо. Нажмите на кнопку “Add”. В поле “Flavor” выбираем “AIPatrol” (не “~AIPatrol”!!!). В поле “From” введите номер маркера, с которым вы сейчас работаете. В поле “To” введите номер следующего маркера, к которому вы бы хотели отправить охранника. Итак, каждый раз в поле "To", помещайте номер следующего маркера в нашем патрульном маршруте. Используйте этот метод связать все маркеры вместе. Помните, что мы хотим, чтобы охранник шел в непрерывном цикле, следовательно, когда вы доберетесь к последнему маркеру, то свяжите его с нашим первым маркером. Когда охранник доберется к последнему маркеру, он пойдет опять к первому и так будет ходить бесконечно.

    Есть еще одна вещь, в которой мы нуждаемся, прежде, чем защита будет следовать по пути, указанном маркерами. Если вы просто где ни будь в уроне размещаете AI, то он будет стоять на месте, где его поставили. Даже если вы разместили TrolPt маркеры, вы не сообщили AI следовать по ним. Для того, чтобы исправить это, выберите охранника, нажмите на кнопку “Properties”. Нажмите на кнопку “Add”, далее выберите “AI”, “Ability Settings” и “Patrol: Does patrol”. Появится маленькое окошко, в котором поставьте галочку и нажмите “OK”. Далее “Done” для возвращения в главное окно DromEd. Когда вы ставили галочку, вы включили патрулирование выбранного AI.

    Вы, также, можете у AI активизировать режим “патрулирование по случайному маршруту” (random patrol). В этом режиме AI случайно выбирает следующий маркер.

    Для этого точно так же, как и в предыдущем абзаце выбираем “AI”, “Ability Settings”, “Patrol: Random sequence” и ставим галочку. Важно знать, что перед тем, как использовать этот режим, нужно активизировать “Patrol: Does patrol”

    Теперь давайте выясним, какое различие между “AIPatrol” и “~AIPatrol” в выборе связей (links) и вообще связки с тильдой (~) и без неё. Нажмите на любой из маркеров, созданных вами только что. Нажмите на кнопку “Links”. Вы увидите, что нам уже две строки-связки, причем, одна из них - “AIPatrol”, а другая - “~AIPatrol”

    Если вы внимательный человек, то вы сразу поймете, в чем разница. В примере, который создавался автором можно увидеть следующее:

    “Flavor”
    “From”
    “To”
    “AIPatrol”
    A TrolPt(25)
    A TrolPt(26)
    “~AIPatrol”
    A TrolPt(25)
    A TrolPt(24)

    Разбираем эти строчки:

    Первая: будем идти от 25 к 26

    Вторая: будем идти к 25 от 24

    Вывод – тильда указывает на объект(24), к которому привязан объект (26), связки которого мы в данный момент просматриваем.

    Всё, что ещё осталось непонятным, мы разберем на следующем примере.

    Примера, который будет приведен ниже, вы не найдете в оригинальном обучающем уровне (который создал автор). По этому скачайте (70Кб) видоизмененный для того, чтобы увидеть изменения, описанные далее.

    Создайте где-нибудь в южной комнате сундук (chest) и что-то ценное, например, золотое кольцо (GoldRing). Вы помните, что в Thief часто можно было найти сундук, в котором содержались деньги. Сделаем это. Запоминаем номер сундука и золотого кольца. Выделяем сундук, нажимаем “Links” Нажмите на кнопку “Add”. В поле “Flavor” выбираем “Сontains”. В поле “From” вводим номер сундука. В поле “To” вводим номер кольца.

    Т.е. смысл этого – в сундуке лежит кольцо.

    Теперь выделяем кольцо, нажимаем “Links” и видим запись-связку

    “~Сontains” “A GoldRing(*) “A LC_Chest (**), где * и ** - номера кольца и сундука соответственно.

    Смысл этого – кольцо лежит в сундуке.

    Ну, я думаю, что все уже поняли и я понял, а если вы не поняли, то вы не настоящий Thief и вам незачем играть в такие игры. Идите играйте в Doom!

    Ладно, шутки шутками, а пора зайти в игру и посмотреть, что у нас получилось. Вырубите его и украдите скипетр, а в дополнение – украдите деньги с сундука!

    [Замечание: Если вы активизировали “Patrol: Random sequence”, то у вас могут быть проблемы: охранник может в место того, чтобы идти прямо к следующей метке, обходит за колонной и подходит к маркеру с другой стороны. Просто обновите базу данных Поиска Пути (pathfinding database) и все проблемы исчезнут].

     

    XII. Создание Целей Миссии (Часть I)

    Если вы следовали по этому обучающему курсу от начала до конца, то вы должны знать большинство приемов при создании уровней для Thief. Вы можете создавать ландшафт, размещать объекты, давать себе оружие и даже создавать маршруты патрулирования. Теперь мы подошли к более расширенной (читай: запутанной) части обучающего курса: создание целей миссий. Если вы запускаете свой уровень, то вы убиваете охранника и крадете скипетр...но потом вы просто будете торчать там, бегать по кругу и ничего не делать. Значит наша цель: сделать так, чтобы вашим заданием было украсть скипетр и убить охрану.

    Для того, чтобы назначить цели, вы должны определить данные поисков миссии (mission’s quest data). На панели меню нажмите “Editors”, далее “Mission Quest Data”. Не беспокойтесь, ничего и не должно было случится. Это потому, что у нас нет никаких данных поиска. Пока их временно и не будет. Когда она появится, тогда при вышеописанной команде появится маленькое окошко, содержащее информацию об целях миссии и уровнях сложности.

    Сейчас вы должны внимательно вчитываться, ибо если вы что-то упустите и не поймете, то создание ваших миссий обречено на провал. Вам будут описаны основные принципы, необходимые для создания целей миссий.

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

    Прежде всего, каждой цели мы должны дать порядковый номер. Первая цель должна иметь номер 0. Итак, если у вас будут три цели, то они будут иметь следующие номера: 0, 1 и 2. Повторяю, они должны быть пронумерованы именно таким способом.

    Затем, каждая цель имеет “состояние”, которое показывает, была цель завершена или нет. DromEd различает три состояния для целей: “незавершенная” (incomplete), “завершенная” (complete), “неактивная” (inactive) и “неудавшаяся” (failed). Если вы играли в Thief (в чем я не сомневаюсь ;-), то в окне “Цели”(Objectives) вы должны были видеть все четыре состояния цели.

    Первая, незавершенная, отмечена пустым квадратом означая, что цель еще не была выполнена.

    Вторая, завершенная, отмечена зеленой галочкой и означает, что цель была выполнена.

    Третья, неактивная, отмечена красным кругом с линией и означает, что цель больше не активна и её уже не требуется выполнять.

    И, наконец, четвертая, не удавшаяся, отмечается красным крестом – “Х” и обозначает, что вы провалили миссию.

    DromEd использует следующую нумерацию для состояний целей:

    0 = незавершенная

    1 = завершенная

    2 = неактивная

    3 = неудавшаяся

    Когда вы создаете миссии для Thief c DromEd, каждая цель должна быть маркирована 0 (ноль) – “незавершенная”. Это означает, что в начале миссии, каждая цель должна быть выполнена игроком. Эти цели будут маркированы “завершенная” или “неудавшаяся” в зависимости от действий игрока.

    Следующая вещь, которую подающий надежды проектировщик уровней для Thief должен знать, что цели могут быть видимыми и невидимыми. Видимые цели игрок может видеть, когда загружает новый уровень. Невидимые цели становятся видимыми в течении миссии. Хорошим примером может служить уровень “Assassins”, когда при запуске миссии вы собираетесь обчистить церковь хамеритов. Далее, через пять секунд становится активной неактивная цель – проследить и узнать, кто нанял убийц. Этот уровень вообще наводнен ими – потом появляется сообщение украсть кошелек Рамиреза, а если вы играете в Эксперт уровне, то вам придется убежать в укромное местечко.

    К сожалению, в DromEd сценарий “ConVict” поддерживает только видимые цели.

    Поэтому, вы не сможете создавать миссии типа “Assassins”, поскольку все цели должны быть видимыми игроку в начале миссии. Максимум возможного – это при старте миссии сообщить игроку, что ему придется украсть кошелек, а потом убежать.

    DromEd использует следующую нумерацию видимости/невидимости целей:

    0 = невидимая

    1 = видимая

    Как было объяснено, каждая цель должна быть пронумеровано 1 - “видимая”

    [Важное Замечание: К этому времени вы уже задаетесь вопросом, где же вводить эти числа?. Не беспокойтесь, всё по порядку.]

    Теперь вы знаете, что каждая цель имеет состояние (незавершенная, завершенная, неактивная и неудавшаяся) и видимость (видимая, невидимая). Очевидно, также есть виды целей. Публичная версия DromEd поддерживает четыре различных вида целей, перечисленных ниже

    1 = Украсть объект

    2 = Убить существо

    3 = Украсть некоторое количество денег

    4 = Прийти в указанное место

    [Заметка: Цели будут более подробно описаны в статьях для продвинутых пользователей]

    Вы можете включить только один вид цель или все четыре в вашей миссии. Вы, например, можете создать следующие задания – украсть объект, убить кого нужно, украсть горы денег и убежать в воротам и т.д. Все это зависит от вашей фантазии.

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

     

    XIII. Создание Целей Миссии (Часть II)

    А как ввести эти данные в DromEd? Первая вещь, которую вы должны проделать – записать на лист бумаги все цели, которые вы хотите иметь в своей миссии, начиная с номера 0. Давайте сделаем в нашем уровне два задания: украсть скипетр и убить охранника. На бумаге это будет выглядеть следующим образом:

    [Thief 2 - помните, что вместо "Скипетр лорда Бэффорда" нужно читать "платок лейтенанта Хагена"?!]

    0 = Украсть скипетр [Thief 2 - ПЛАТОК !!! 8-E]

    1 = Убить охранника

    Вы должны помнить, что каждая цель должна быть “незавершенной” и “видимой” по объясненным ранее причинам. Команда, которая используется для ввода данных целей “quest_create_mis” – без кавычек, естественно. Запрмните и привыкните к этой команде, т.к. мы будем её постоянно исспользовать

    Команда для ввода “состояния” цели - “goal_state_x, 0”, где х – номер цели, а “0” – состояние цели – невыполненная. Значит, для ввода команды состояния цели вы должны ввести в командную строку cледующее:

    quest_create_mis goal_state_0, 0

    [Важное Замечание: Первый номер во всех командах для ввода информации об целях – всегда номер цели, второй номер – номер соответствующей команды в DromEd. Используйте всегда следующий формат: число, запятая, пробел, номер]

    После того, как вы ввели команду в командную строку, на панели меню нажмите “Editors” и “Mission Quest Data”. Теперь уже должно появиться маленькое диалоговое окно “Quest Data”. В нем вы должны увидеть только что введенную информацию.

    [Заметка: Вы можете использовать окно “Quest Data” ", чтобы непосредственно редактировать переменные, в которые Вы ввели. Просто выделите команду и нажмите кнопку “OK” и вы можете изменять “Name (Имя)” и “Value (Значение)”. Причем, если вы не измените имя, а только значение, то изменения будут сохранены в той же переменной. Если измените имя, то уже сохранится новая переменная. Таким образом, вы можете не вводить данные постоянно в командную строку, а изменять в окне “Quest Data”]

    Ошеломлены? Давайте разберемся, что за команду мы ввели и что мы сказали таким образом DromEd. “Quest_create_mis” – стандартная команда для ввода данных целей. Далее мы используем пробел и вводим остальную часть команды. “Goal_state_0, 0” означает, что цель №0 (украсть скипетр) маркирована нулем (0), это означает, что цель не завершена. Все вместе это значит, что цель “Украсть скипетр” будет обозначена пустым квадратом в окне the “Objectives” (Цели) и это задание вам ещё предстоит выполнить.

    Конечно, цель “Украсть Скипетр” не будет видна в окне “Objectives” в игре. Это потому, что мы только задали состояние. Для того, чтобы её стало видно, нужно с помощью команды “goal_visible_х, 1” задать видимость цели. Введите в командной строке следующее:

    quest_create_mis goal_visible_0, 1

    Хочется надеяться, что вы уже понимаете, что означает эта команда. Мы только что сказали DromEd, что цель 0 (украсть скипетр) будет маркирована единицей (1), что означает, что цель будет видима при старте миссии.

    [Важное Замечание: Как вы могли уже понять, вы должны вводить команды “goal_state” и “goal_visible” для каждой цели, которую вы имеете. Каждая цель должна быть отмечена как “незавершенная” и “видимая”.]

    Теперь, когда мы установили состояние и видимость для первой цели (украсть скипетр), установите их для второй цели (убить охранника).

    Это будут команды:

    quest_create_mis goal_state_1, 0

    quest_create_mis goal_visible_1, 1

    [Важное Замечание: Если вы что-то неправильно ввели и вам необходимо удалить команду, введенную ранее. Для этого используйте команду “quest_delete”. Таким образом, если вам необходимо удалить линию “quest_create_mis goal_state_0, 0”, то вы должны ввести в командной строке следующее:

    quest_delete goal_state_0

    Заметьте, что в этой команде не используется запятая и вторая цифра. Вторая цифра – это просто переменная, значение goal_state_0. Когда вы удаляете эту строку, автоматически удаляется её значение. А вот первая цифра очень нужна, т.к. если мы вместо нуля (0) поставим единицу (1), то удалится состояние к цели “Убить охрану”.]

    Отлично, мы только что сказали DromEd, что у нас будет две цели, каждая из них незавершенная и видимая...но мы не сказали DromEd что это за цели. Для каждого задания мы должны ввести две команды: первая команда – какая цель; вторая – какой объект этой цели. Не бойтесь, сейчас станет ясно.

    Наша первая цель – “Украсть скипетр”. Мы должны сообщить DromEd две вещи:

    Игрок должен украсть объект.
    Объект, который игрок должен украсть – скипетр.
    Сообщается эта информация с помощью команд “goal_type” и “goal_target”.

    Введите в командную строку

    quest_create_mis goal_type_0, 1

    Это обозначает, что цель 0 вынуждает игрока украсть объект

    Теперь, найдите в вашем уровне скипетр, лежащий на столе и запомните его номер. Затем в командную строку введите:

    quest_create_mis goal_target_0, x (где “x” номер скипетра)

    Эта линия сообщает DromEd, что субъект цели 0 (которую мы определили как “украсть объект”) это скипетр.

    Используя команды, приведенные ниже, введите информацию для второй цели – “Убить охранника”.

    quest_create_mis goal_type_1, 2

    /Цель 1 требует, чтобы игрок убил существо/

    quest_create_mis goal_target_1, x (где “x” номер охранника)

    /Субъект для цели 1 (которое мы только что определили как “убить существо”) это охранник/

    Для того, чтобы цели были активированы, нужно сделать одну вещь. Нужно назначить сценарий “VictoryCheck”(Проверка Победы) к вашей Отправной Точке (Starting Point). Нажмите на вашу Отправную Точку и нажмите на “Properties”. Нажмите на “Add” и выберите “S”, затем “Scripts”. Появится маленькое окно с несколькими полями. В поле “Script 0” введите “VictoryCheck” (одно слово – без кавычек) и нажмите на кнопку “OK”. Вернитесь в DromEd.

    Теперь, когда вы получили реальные цели в игре, зайдите в игру с помощью комбинации “Alt+G”. Когда зайдете в игру, нажмите “O” для попадания в окно “Objectives” (Цели). Вы увидете два маленьких квадратика, без текста. [Заметка: как размещать тексты в миссии, ищите в разделах для продвинутых DromEd пользователей]. Это ваши цели, сверху вниз: Украсть скипетр; Убить охранника. Вернитесь в игру и выполните их. Когда убьете охранника, зайдите назад в окно “Objectives” и заметьте, у второго квадратика появилась зеленая галочка – состояние цели 1 – равно 1 (завершенная).

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

     

    XIV. Создание Уровней Сложности

    Если вы добрались до этой главы, то это блестяще! Если у вас есть фантазия и способности, то вы можете стать настоящим разработчиком Thief уровней. Вы обучились почти всем основам работы с DromEd. Последнее задание: создание уровней сложности в ваших миссиях.

    До того, как вы будете создавать уровни сложности, у вас должны быть готовы все цели в вашей миссии. У нас уже создано две цели и мы можем проиллюстрировать различия в уровнях сложности. У нас две цели “Украсть скипетр” и “Убить охранника”. Каждый раз, когда вы заходите в игру, вы должны выполнить эти две цели. Давайте сделаем так, чтобы цель “Убить охранника” появлялась только тогда, когда мы будем играть в уровне сложности “Expert” (Эксперт).

    DromEd различает три уровня сложности:

    0 = Normal (Нормальный)

    1 = Hard (Тяжелый)

    2 = Expert (Эксперт)

    Для того, чтобы сообщить DromEd, какие цели будит доступны на различных уровнях сложности, используются команды “goal_min_diff” и “goal_max_diff”.

    “goal_min_diff” – минимальный уровень сложности, на котором цель доступна.

    “goal_max_diff” – максимальный уровень сложности, на котором цель доступна.

    Пример. Давайте скажем, чтобы на уровне сложности “Normal” и “Hard” вы должны украсть 300 золота, а на уровне “Expert” – 500. Для цели “Украсть 300 золота” используем команду “goal_max_diff” со значением 1. Т.е. эта цель будет доступна на уровне“Normal”(0) и “Hard”(1). На уровне “Expert” она не будет доступна, т.к. уровень сложности “Expert” имеет значение 2, а мы в команды сказали – максимальный уровень сложности-1.

    Для цели “Украсть 500 золота” используем команду “goal_min_diff” со значением 2.

    Т.о., минимальный уровень сложности, на котором будет активна эта цель – 2, т.е. на уровне “Expert”.

    Вернемся к нашему экспериментальному уровню. Помните, мы хотим, чтобы цель “Украсть скипетр” была доступна на всех уровнях сложности, а цель “Убить охранника” – только на уровне “Expert”. Для первой цели мы не будем давать никаких команд, т.к. она будет доступна на всех уровнях сложности. Для цели “Убить охранника” с командную строку мы должны ввести следующую команду:

    quest_create_mis goal_min_diff_1, 2

    Эта команда сообщает DromEd, что цель 1 (“Убить охранника”) будет доступна на минимум уровне 2, т.е. “Expert”.

    [Заметка: Помните, что “Убить охранника” цель 1, т.к. цель 0 - “Украсть скипетр”]

    Теперь, время протестировать наши уровни сложности. Обычно уровень сложности определяется до запуска миссии. А поскольку мы пропускаем этот шаг при загрузке игры, то нам необходимо самим выставить уровень сложности в DromEd. Для того, чтобы играть на желаемом уровне сложности, введите следующую команду:

    quest_create_mis difficulty, x (где “x” - уровень желаемой сложности – 0-2)

    Для того, чтобы играть в нашу обучающую миссию на уровне сложности “Normal” введите следующее:

    quest_create_mis difficulty, 0

    Теперь, зайдите в игру, нажмите “O” для попадания в окно “Objectives” (Цели). Вы увидете, что там высвечивается только один квадратик – одна цель. Это потому, что мы играем на уровне сложности “Normal”. Цель “Убить охранника” будет работать на уровне “Expert”. Для того чтобы её активировать, вернемся в DromEd и установим уровень сложности “Expert” командой:

    quest_create_mis difficulty, 2

    Вы должны использовать эту команду для тестирования уровня сложности в DromEd. Если вы установите какой-нибудь уровень сложности, например “Expert” и сохраним наш уровень, то при запуске через Thief.exe сложность в нашем уровне автоматически будет установлена как “Expert”. А мы не любим этого, всегда обычно выдается уровень сложности “Normal”. Чтобы этого не происходило, удалите установки сложности следующей командой:

    quest_delete difficulty

    Эта команда не удаляет ваши goal_min/max_diff, а только quest_create_mis difficulty, х

     

    XV. Другие Полезные Советы и Подсказки

    Если вы прошли все от начала до конца в этом обучении, то вы имеете все необходимые начальные сведения для создания Thief уровней. Экспериментируя с DromEd вы можете открыть все возможности программы (не забудьте самое интересное и важное отправить нам для опубликования ! ;-). Здесь находятся несколько полезных подсказок и команд, которые могут вам пригодиться.

  • Для обучения, помните, что вы можете загружать официальные Thief уровни и смотреть, как были созданы некоторые сложные вещи. Запомните два совета:

    У вас могут быть отключены в DromEd некоторые функции, и вы просто не сможете создать все вещи, которые были созданы в официальных Thief уровнях. Не бейтесь головой об стену.

    Все, что сделано в Thief официальных уровнях может быть не идеальным и не оптимальным. Некоторые примеры могут быть лучше имеющихся.

  • Когда вы разрабатываете Thief миссии, часто может помочь отключение гравитации для того, чтобы вы могли “летать” по вашему уровню (в пределах кистей) и увидеть ваши изыски поближе. Нажмите “Shift+Q” для отключения гравитации и “P” для включения.

  • Также вы можете включить невидимость командой “aiawareofplayer” (враги не будут видеть вас) и включить режим прохода сквозь стены - “physics”. При использовании этой команды вы сможете “пролетать” сквозь стены. Но учтите, что при запуске миссии в DromEd с этой командой, вы сразу же полетите вниз, в пустоту, поэтому нужно быть готовым и сразу же нажать “Shift+Q” для приостановления падения.

  • В игре командная строка активизируется при нажатии “Ctrl + P”. Действия, как в редакторе DromEd.

  • Используйте команду “show_stats” для включения в игре статистики, типа счетчика кадров в секунду и количества полигонов. Когда создаете Thief уровни, вы можете использовать до 250 текстур – для увеличения скорости игры.

  • Для запуска DromEd с различными установками по умолчанию, вы можете разместить следующие строки в вашем user.cfg (в директории Thief):

    “edit_screen_size 800,600” – DromEd запустится в режиме800x600.

    “editorcam_from_game – Вы находитесь в каком ни будь месте в вашем уровне в DromEd. Зайдите в игру и очутитесь не в Отправной Точке, а там, где вы были в DromEd.

    “no_endgame” – Это позволяет вам продолжать играть, даже если вас убили или вы выполнили все цели.

  • Когда вы запускаете DromEd, то программа по умолчанию устанавливает размер сетки 16. Этот размер хорош для создания больших кистей, типа комнат. Но если вам нужно создавать маленькие кисти, вам будет нужен более мелкий размер сетки. Найдите в левом нижнем углу “Grid Sz < 16 >”(Размер сетки). Попробуйте выставить значение размера сетки11 для создания маленьких кистей.

  • На панели меню нажмите “Tools”, далее “Optimize”(Оптимизировать) для оптимизации уровня. По существу эта команда “сжимает” ваши полигоны-многоугольники и делает их более гладкими. Процесс оптимизации занимает больше времени, чем портализации.

  • Вы, как Гарретт, можете “подтягиваться” и залазить на выступы и стены. Но AI более ограничены в движениях, они не смогут подняться по лестнице, высота у которой между ступенями выше, чем 1 фут. Учитывайте это при формировании лестниц.

  • Сохранение ваших миссий должно войти в вашу привычку. На панели меню нажмите “File” и выберите “Save Mission”. DromEd имеет нехорошую привычку часто из-за ошибок аварийно завершать свою работу. Сохранение миссий – явная экономия времени.

  • Если во время создания миссии, кажется, что что-то неправильно работает, то попробуйте:

    Portalizing (Портализацировать уровень)

    Building the Pathfinding Database (Обновить базы данных Поиска Пути)

    Lighting (Обновить Освещение)

  • Обычно, ваша камера и 2D окно движется синхронно с вашими движениями. Это можно изменить, нажав на одном из 2d окон правую клавишу мышки и выбрав команду "asynch all". Возврат к синхронному движению - там же команда "synch all".

  • Команда “cam_to_brush” телепортирует вас к выбранной в данный момент кисти. Отлично раборает в конструкции с “find_obj x”, где х – имя объекта или его номер.

  • Полный список семейств текстур:
    Thief : ancient, bafford, basement, catacomb, cave, church, city, concastle, core, dungeon, keeper, lostcty, maw, mech, metals, mine, newcity, newkeep, newmage (только в Thief Gold), opera (только Thief Gold), ramirez, rescore, ruined, sewer, sewer (только в Thief Gold), temple, tower2 (только в Thief Gold).

    Thief 2: ancient, ArtDeco, ArtDMisc, ArtDout, buttons, catacomb, cave, CeilPain, church, city, CivicB2, CivicBuim, core_1, core_2, core_3, keeper, lostcty, maw, Mbfloor, mech, mine, newcity, newkeep, newmech, newmetal, numbers, ramirez, rescor_1, rescor_2, ruined, StainGlass, tower2, vicm01, vicm012, vicm04, vicm07, vicm09, vrescor1, wdfloor.

  • Освещение – Есть три режима освещения: Quick, Raycast, and Objcast.

    Quick режим установлен по умолчанию. Очень быстрый!

    Raycast режим гораздо более реалистичен. Занимает много времени.

    Objcast режим наиболее реалистичен. Некоторые предметы, которые будут оставаться на одном месте, будут также отбрасывать тень. Занимает ОЧЕНЬ много времени. Особой разницы между ним и Raycast почти не видно.

    Выберите нужный режим в меню “Tools”, далее нажмите там же “Light” для перехода на новый режим освещения. Заметьте, что DromEd поддерживает окружающее освещение (ambient light). Если окружающее освещение равно 0, то ваш уровень будет полностью во тьме. Для того, чтобы установить более высокое значение освещения (допустим, 20), используйте команду в командной строке “ambient 20”. [Thief 2 - к сожалению, в Thief 2 это не получалось пока.]

  • Свойства (Properties) и Связи (Links) – Как вы видели, в диалоговых окнах “Links” и “Properties” очень много связок и свойств. Это один из путей, с помощью которых дизайнер Thief уровней воплотить в игру сложные и интересные вещи. Конечно, некоторые свойства и связи могут иметь ненужные эффекты или вообще не иметь никакого эффекта. Кроме того, некоторые из них предназначены для использования проектировщиком уровней, в то время как другие предназначены для автоматического управления в течение игры (и таким образом можно внести в игру очень проблематичные изменения). Мы никак не сможем охватить их всех здесь, но вы всегда можете экспериментировать с ними и самим узнавать их действия. Ниже приведены несколько полезных свойств (Properties).

    Game :: Damage Model :: Hit Points – Определяет, сколько хитов (единиц жизни) у AI (и у некоторых объектов). Чем меньше хитов, тем меньше ударов нужно нанести.

    Engine Features :: Locked – Если двери или сундуку создать это свойство и поставить галочку (Истина - true ), то этот объект будет закрыт.

    Engine Features :: Key Src – Этим свойством помечается ключ, которым будем открывать закрытый объект. В строке “LockID” указывается тип ключа (например, 5)

    Engine Features :: Key Dst - Этим свойством помечается закрытый (как закрывать, см “Engine Features :: Locked”) объект. В строке “LockID” указывается, какой тип ключа открывает данную дверь (в нашем случае - 5)

    Dark Gamesys :: Pick Cfg - Этим свойством помечается закрытый объект (дверь или сундук), который можно открыть с помощью отмычек (lockpick). В этом свойстве три поля – можно открыть, максимум за три попытки (трехзубая, четырехзубая, трехзубая или четырехзубая, трехзубая, четырехзубая). Проставляется время открытия замка ;-)

    AI :: AI Ability Settings :: Combat:Non-hostile – Определяется, враг ли данный AI игроку.

    AI :: AI Ability Settings :: Flee:Conditions for Flee – Определяется, когда AI будет бежать и когда сражаться.

    AI :: AI Core :: Alertness Cap – Может использоваться для установок: Максимальный уровень настороженности (Max level), Минимальный уровень (Min level) и время, за которое AI расслабится после шума... Как вы поняли, если макс. Уровень и мин. Уровень сделать одинаковыми, то AI будет все побарабану или наоборот – все время на шухере.

    Difficulty :: Destroy – Если указать это свойство для данного объекта и выбрать желаемые уровни трудности – 0, 1 и/или 2 (допустим только 0), то при игре на уровне сложности Normal, этот объект будет, а на уровнях Hard/Expert его не будет. Заметка: это будет работать, если вы будете запускать миссию через Thief.exe. В DromEd не будет никакого эффекта. Единственный вариант для DromEd – команда “process_difficulty”, но ТОЛЬКО В ИГРЕ!!! (“Ctrl + P”). Если вы сделаете это в редакторе, то удалятся объекты, для которых выставлено данное свойство! Эта команда удаляет в игре если запустить в игре её и в уровне если в уровне все предметы, в свойствах которых проставлена галочка напротив текущего уровня сложности.

  • Во время Портализации, операционные кисти обрабатываются в определенном порядке. Нажмите на клавиатуре Tab для перебора их по порядку и посмотрите в левый нижний угол в поле, названное “Time”. Time начинается с нуля и заканчивается последней кистью в вашем уровне. Заметьте, что все новые “fill”(заполнить...) команды (такие, как “fill water” – заполнить водой) удаляют все кисти “fill” типа в пределах своих размеров. Допустим, вы создали статую с помощью “fill solid”. Теперь, если вы создадите воздушную кисть “fill air” вокруг вашей статуи, то она исчезнет после портализации. Чтобы ваша статую осталась, нужно задать воздушной кисти более близкий к нулю номер, чем у кистей, из которых состоит статуя. Для этого нужно выделить интересующую нас кисть (в нашем случае – воздушную) и в поле “Time” ввести новый номер или с помощью кнопок “<” и “>” выбрать нужный. Если у вас неприятности с ландшафтом, всегда проверяйте порядковые номера кистей. И, наконец, обратите внимание, что конверсионные кисти (типа “water->solid”) не всегда изменяют весь ландшафт в своих пределах. Экспериментируйте.

  • Всегда используйте размер сетки 11 или больший. Это вам поможет избежать проблем, связанных с различными размерами стыкующихся кистей и д.р. Если сетка включена, тогда кнопка “Use” (под индикатором размера сетки) сиреневый (не серый). Если вы когда нибудь получите сообщение об ошибках (фатальных или нет) от “ renderer” (в этих сообщениях фигурируют слова типа “polyhedrons”, “portals”, “planes” и д.р.), попробуйте уменьшить сложность ландшафта в вашей миссии, используя выровненные операционные кисти. Для этого чуть-чуть переместите все ваши операционные кисти при включенной сетке. Также, помните, что большое количество полигонов может привести к проблемам, так что не делайте открытые пространства в вашем уровне слишком большими и детальными. Кроме этого, могут возникнуть следующие проблемы: “обездвиживание” игрока (не может сдвинуться с места), AI “идет в стену”...

  • Фильтрация – Найдите в левом нижнем углу кнопку “Filter”. Иногда 2D окна DromEdа сильно загромождены и вы хотите видеть только предметы, или только операционные кисти и д.р. Когда вы нажмете на кнопку “Filter”, тогда вам можно будет скрыть один (или несколько) типов кистей (“Terr”, “Light”, и д.р.). Не забудьте включить их обратно перед Портализацией и Освещением (portalizing, lighting).

  • Кисти Области (Area brushes) – другой вариант фильтрации, на этот раз с помощью близости, а не типа. кисти Области – это кубовидные кисти, которые можно создавать, выбрав их в “Create” меню. Создаются они также, как и обычные кисти. Когда кисть Области выбрана, то вы можете исспользовать фильтр. Нажмите кнопку “Me Only”(Только Меня) для того, чтобы показывать все кисти, находящиеся внутри кисти Области. Нажмите “Not Me Only”(Не Только Меня) для деактивирования фильтрации. Вы также можете задавать имена кистям Области (кнопка “Name”) и потом выбирать их по имени (с помощью кнопки “Search”, активировать некоторые кисти Операции и д.р. Эти кисти полезны для ускорения портализации, когда вы сосредотачиваетесь над работой в небольшой области, например, в небольшой комнате. И снова, когда вы хотите портализировать или переосветить весь уровень, то вы должны отключить фильтрацию.

  • Мультикисти (multibrush) – это хороший инструмент для вырезания-и-вставки группы кистей. Например, вы сделали колонну с одной стороны комнаты и теперь котите создать точно такующую кисть в другой стороне комнаты, вы можете сделать мультикисть, нажать Insert и и передвинуть новую мультикисть в нужное место. Для добавления кистей в мультикисть, зажмите клавишу Shift и выберите нужную кисть. Таким же образом и удаляются кисти из мультикисти. Обратите внимание, что когда вы находитесь в режиме мультикистей, внизу, где вы часто видите рисунок текстуры, написано слово “multibrush”. Для того, чтобы выйти из режима мильтикисти, необходимо выбрать любую кисть при не нажатой клавишей Shift. Меню “Multibrush” дает вам другие функциональные возможности мультикисти, типа сохранение(saving)/загрузка(loading) мультикистей, что особенно важно при перенесении мультикистей из одной в другую миссию.

  • Комнатные кисти – это ваш путь, как проектировщика, определить “общие формы и вид” вашего 3D пространства для DromEd. Прихожая должна иметь ковер по середине, окна, колоны посередине и некоторые приятные мелочи. Эти все вещи сделать вы сможете и сами, тут встает вопрос, как определить “общие формы и вид” вашего звукового 3D пространства для DromEd с теми же размерами и с тем же положением как и вся прихожая. Самый легкий способ – сделать следующим образом Когда вы делали прихожую, вы вероятно, сначала создали воздушную кисть “fill air” и потом добавляли другие кисти для деталей. Выберите вашу первоначальную “fill air” кисть, нажмите и зажмите Shift и нажмите Insert. DromEd создаст комнатную кисть такую же, как и оригинальную кисть, но только слегка больше. Другой полезный инструмент – кнопка “show sel”, которая начертит линии, которые покажут, как будет соединена звуком с другими комнатами. Хорошая обработка комнаты занимает много времени, но может значительно улучшить звук в ваших уровнях. Далее описаны основные правила при обработке комнат.

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

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

    Когда две комнатные кисти пересекаются, звук может переходить из одной в другую. Используйте кнопку “show sel” для того, чтобы увидеть, как звук будет распространятся. В случае необходимости создайте большее количество комнатных кистей.

    Центр одной комнатной кисти не должен находиться в другой комнатной кисти.

    Не забывайте делать “Build Room Database” для обработки комнатных кистей.

  • Водные кисти - Чтобы создать воду, пробуйте использовать “fill water” и “flood”. Важно знать две вещи: 1) Если вы создаете водную кисть, то она как бы сотрет все твердые кисти, которые будут находиться внутри неё. 2) Кисть затопления (Flood brush) отличается только тем, что не стирает все твердые кисти, которые будут находиться внутри неё.

  • Кисти Потока (Flow brushes) - Когда вы создаете воду в уровнях посредством fill water или flood, то при запуске миссии, убеждаетесь, что вода какая не такая. Не слышны звуки "шляпания" ног по воде, вообще, вода не ведет себя как вода и не смотрится как вода ;-) Кисти потока сложны, поэтому тут будут лишь затронуты. Эта кисть создается по среди воды или должна, хотя бы касаться ее. Каждая кисть потока принадлежит группе (group). Для изменения свойств группы кистей потока, выберите кисть, принадлежащую ей, и нажмите на кнопку "Edit Group" посередине окна. Измененные кисти потока могут иметь свойства типа “x change/ sec” (изменение по оси х в секунду), что означает, как быстро течет вода по оси X. Также можно задавать в поле “texture name” (название текстуры) одно из следующих: "bl" или "gr" ("bl" - в игре будет синяя вода; "gr" - зеленая вода). Самый легкий путь для создания кисти потока - создать несколько больших таких кистей. Убедитесь, что вы нажали кнопку "“update in world” (обновить в уровне) и/или перепортализировали.

  • И последнее, не обращайтесь за помощью к EIDOS и LG!!! Мы просили вас об этом.

    Перейти: На главную / К главам I - X

    Хостинг от uCoz