Лучшие компьютерные игры

СОЗДАЁМ ИГРУПАНЕЛЬ ИНСТРУМЕНТОВ

Автор материала:
Дмитрий Веселов
Опубликовано в журнале
«Лучшие компьютерные игры»
№12 (85) декабрь 2008

Galactic Civilizations II: Twilight of Arnor
(Космическая Федерация II. Звёзды страха)

Растим древо технологий

В прошлом номере мы изучили первые три редактора из набора Galactic Civilization II: Twilight of Arnor и создали с их помощью небольшую кампанию. Настала пора разобраться с редакторами технологий, планетарных построек и корабельных модулей. Они сложнее, но тем интереснее будет наше исследование.

  • Изучаем редактор технологий
  • Строим здания
  • Проектируем корабли

Редактор технологий

Прежде чем описывать сам редактор, расскажу, в каких файлах игра хранит информацию о технологиях.

Основной файл, в котором содержится большая часть сведений, — это Arnor\Twilight\Data\English\TechTree.xml. В нем описываются почти все технологии. Но это еще не научное дерево, а только заготовка.

Технологические древа рас заданы в файлах из папки Arnor\Twilight\Data\English\TechTrees\. При этом большая часть наук в них представлена лишь названием, которое полностью совпадает с такой же технологией из TechTree.xml. Из того же файла берутся и значения для пустых полей.

Если часть полей заполнить, то данные из TechTree.xml просто не учитываются. В итоге можно сделать так, что одна и та же технология для разных рас может иметь разную стоимость, давать разные способности и даже «расти» на разных ветках.

Таким образом, в игру попадают только технологии, описанные в файлах научных деревьев. Технологии эти условно делятся на три типа. Первые описаны только названиями — тогда сведения для них берутся из файла TechTree.xml. Для вторых часть полей заполнена, а для остальных берутся значения из того же TechTree.xml. Третьи технологии уникальны, и для них прописаны все нужные параметры.

Мы создадим несколько уникальных технологий, взяв за основу земное дерево наук.

Задумка: рационалистический подход к научным исследованиям, свободный от предрассудков так называемых «добра» и «зла», имеет множество преимуществ. Одно из них — возможность перекраивать генокод без оглядки на «общественное мнение». Если же кто начнет возражать... Что ж, умелые, дисциплинированные и всегда верные власти солдаты-клоны успокоят любой мятеж.

Редактор технологий. Не пугайтесь обилия «None» и пустых полей. Большая часть информации берется из файла TechTree.xml.

Для начала скопируем земное древо технологий (файл Terran_TechTree.xml), назовем его по-своему и сохраним в папке Arnor\Twilight\Data\English\TechTrees. Теперь откроем этот файл редактором технологий.

Чтобы наше дерево не конфликтовало с уже существующим, изменим его внутреннее имя (поле Internal Name). Рядом можно ввести и отображаемое имя, которое увидит пользователь (поле Display Name).

Новая технология добавляется кнопкой Add New. Все, что нужно сделать в открывшемся окошке, — это ввести внутреннее имя технологии. Введем, для примера, Genetic Research и перейдем к изучению полей в правой части экрана.

Tech ID — введенное нами внутренне имя технологии, по которому она отличается от всех прочих.

Display Name — название, которое видит пользователь.

Branch Name и Category — списки, определяющие область исследований: медицина, военное дело, управление или экономика. Несут декоративную функцию; ничто не помешает вам установить для генетических исследований тип Propulsion (движение).

Required Tech — внутреннее имя технологии, необходимой для изучения нашей Genetic Research. Выберем здесь Xeno Ethics, так как по условиям генетические исследования становятся доступными только после выбора мировоззрения.

Это баг: почему-то сразу после открытия любого файла редактор берет первую в списке технологию и в поле Required Tech прописывает для нее вторую технологию. Если сохранить файл в таком состоянии, возможны ошибки вплоть до вылета игры. Будьте внимательны!

Required Ethical Alignment — мировоззрение, требуемое для изучения создаваемой технологии. Выберем Neutral, чтобы злые или добрые ученые не могли копаться в генокоде.

Research Cost — цена исследования. Не знаете, что ввести? Смотрите на соседние технологии и прикидывайте порядок цифр «на глазок». Я установил 1500, принимая во внимание, что Xeno Ethics стоит ровно тысячу. Если же ввести 0, то раса получит исследование бесплатно в начале игры.

AI Value — ценность технологии для искусственного интеллекта. Определяет, как дорого он за нее запросит или, наоборот, сколько готов отдать, чтобы заполучить ее. Среднее значение 10-20, но тут скорее надо ориентироваться на баланс и действительную ценность технологии.

Civ. Ability Bonuses — премии к способностям цивилизации. Размер прибавки вводится в поле Numeric Value, а тип выбирается в списке Ability. Список довольно внушительный — целых 38 вариантов. Большая часть из них должна быть понятна тем, кто играл в GCII, поэтому раскрою лишь неочевидные вещи.

  • Cabinet — не используется.

  • ColonizeBarren, ColonizeHeavyGravity, ColonizeRadioactive, ColonizeToxic, ColonizeWaterWorld — дают возможность колонизировать бесплодные миры, миры с высокой гравитацией, радиоактивные, токсичные и водные планеты соответственно. Могут принимать значения 0, 1 и 2. Если способность равна нулю, колонизация вам недоступна; единице — половина производства на планете будет теряться; двум — миры полностью пригодны к заселению. Если хотите сделать поэтапное развитие этих способностей, то сначала добавьте единицу, а в следующей технологии — еще единицу. Премии складываются, и в сумме получится двойка.

  • Crime — не используется.

  • Culture — непонятно, почему эту способность не назвали Influence, как в игре, но это именно влияние.

  • Government — не используется.

  • HomePlanetQuality — в самой игре это значение используется только для того, чтобы в начале партии выбрать стартовое преимущество «высокое качество родного мира». Тем не менее можно повышать эту способность и технологиями.

  • InterestRates — процентная ставка. Только работает она неправильно — чем «ставка» выше, тем дешевле вам обходится покупка кораблей и построек.

  • PersistentTradeRoutes — если увеличить эту способность на единицу, торговые маршруты будут защищены от разорения. Торговцы по-прежнему могут подвергаться атакам, но маршруты при этом не отменяются.

  • WarProfiteering — моделирует торговлю оружием и институт наемных войск. Чем выше эта способность и чем больше в галактике войн, тем больше доход.

Созданная нами технология в игре.

Мы же выберем из списка Soldiering (мастерство солдат), введем размер премии — сколько совесть позволит — и нажмем Apply to Selected Ability.

Текст в поле Detailed Description отображается при изучении технологии.

В поле Tech Trading можно настроить, насколько охотно ИИ будет меняться данной наукой. Но мы просто снимем галочку напротив This Tech Can Be Traded, потому что создаем уникальную для нашего древа технологию, которую нельзя продать или купить.

Если оставить галочку в поле Civ. Creative Ability, то исследование может завершиться раньше времени, если сработает способность расы Creativity. Не будем трогать галочку. Имеет смысл убирать ее только для технологий, ведущих к научной победе.

Также оставим галочку в поле Tech Stealing, дав противникам шанс украсть наши разработки.

Наконец, введем описание технологии в поля Short Description и Detailed Description.


Как видно, ничего сложного. Главное, правильно задать имя технологии-«родителя», а все остальное — вопрос баланса и эстетики.

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

Домашнее задание. Создайте технологии Clone Governor и Space Scouts, как показано на рисунке.

Редактор построек

В отличие от технологий, информация обо всех планетарных постройках в игре хранится в одном файле — Arnor\Twilight\Data\English\PlanetImprovements.xml. Вот его и откроем с помощью редактора.

Это важно: на всякий случай сделайте резервную копию файла. Если для создания нового древа технологий мы фактически создавали новый файл, не меняя содержимое остальных, то теперь нам придется влезть во «внутренности» игры.

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

Задумка: людям не всегда нравится, когда ими управляют клоны. Многие считают, что правы дренджины из Клана Корат, для которых клоны — всего лишь рабы... Но если можно сделать неподкупного, честного и умного клона, обладающего лидерскими качествами, почему бы не попробовать?

Нам нужно добавить новую постройку — пусть это будет резиденция клон-губернатора. Для этого жмем кнопку Add New, в появившемся окне вводим уникальное внутреннее имя постройки (Clone Residence) и переходим к изучению вкладок.

Basic

В этой вкладке можно найти уже знакомые нам Internal Name и Display Name. Назначение у них такое же, как в редакторе технологий. Идем дальше.

В списке Upgrades Improvement выбирается младшее поколение создаваемой постройки. С его помощью можно задать цепочку улучшений, например, от простых заводов к более производительным и дорогим. Мы выберем в списке None, так как нашего клон-губернатора нельзя получить простой модернизацией какой-нибудь другой постройки.

В списке Improvement Type выберем Normal. Другие возможные значения:

  • Destroy — «постройка» уничтожает предыдущую и освобождает клетку;

  • GalacticAchievement — галактическое достижение, которое строится один раз на всю галактику;

  • SuperProject — сверхпроект; каждая цивилизация может создать по одному такому;

  • TradeGood — товар, который можно продать или обменять.

С полем Build Cost проблем быть не должно — это просто стоимость постройки в очках производства. А вот AI Value имеет несколько иное значение, чем в редакторе технологий. Чем выше AI Value, тем чаще ИИ будет строить это здание.

Maintenance — стоимость содержания. Введем сюда цифру 5 и будем платить 5 кредитов в ход за каждого клон-губернатора.

Осталось только описать постройку в полях Brief Description и Description и выбрать файлы с изображениями. В поле Icon File Name хранится путь к картинке, которая будет отображаться на поверхности планеты с постройкой. А в Query Icon File Name — значок, для очереди строительства.

Это важно: картинки должны быть в формате *.png и храниться в папках Arnor\Twilight\Gfx\Improvements\icons и Arnor\Twilight\Gfx\Improvements\query соответственно.

Restrictions

Здесь описываются требования и ограничения для постройки.

В поле Tech. Requirement введем внутреннее имя технологии, которая откроет нам доступ к дворцу клон-губернатора. Вы должны были создать ее в первой главе.

Таким вот нехитрым способом создаются проекты терраформирования.

Поле Placement Limit ограничивает число построек на планете. Введем сюда единицу. Зачем нам несколько губернаторов в одном мире?

Два ползунка — Min. и Max. Alignment — определяют мировоззрение, при котором здание будет доступно.

И наконец, список Tile Enhance Level ограничивает тип клеток, на которых можно строить проект. Возможные значения:

  • None — любая доступная на данный момент клетка;

  • 1, 2 или 3 — клетки, доступные после изучения соответствующего уровня терраформирования.

Очевидно, что список Tile Enhance Level служит для создания проектов терраформирования. Если в нем выбраны единица, двойка или тройка, то сразу после постройки проект исчезает, а клетка переводится в разряд общедоступных, после чего на ней можно возводить любые здания со значением None в этом списке.

Bonuses

Вот и добрались до самого вкусного — настроек, задающих эффекты от нашего клон-губернатора. Полей тут много, и все они разделены на четыре блока.

В первой группе, % Bonuses to Planet, собраны различные прибавки, выраженные в процентах. Назначение большинства понятно из названия, я перечислю лишь неочевидные вещи.

  • Ship Quality — одновременная прибавка и к защите, и к атаке кораблей, создаваемых на планете.

  • Perceived Might — «видимая мощь». Корабли на орбите планеты будут казаться сильнее или слабее, чем в действительности. Значения 0 или 100 соответствуют 100%, то есть никакого искажения не будет.

  • Logistics — позволяет кораблям на орбите воевать не поодиночке, а объединяться во флоты. Размер флотов и определяется значением в этом поле.

  • Resistance — повышает сопротивление планеты чужому культурному влиянию.

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

Созданный нами дворец клон-губернатора.

Добавим небольшие плюсы (5-10%) в экономике, сельском хозяйстве и производстве. В поле Morale поставим минус 5% — ну не любят простые люди клонов, ничего тут не поделаешь.

Задаем эффекты от клон-губернатора. Не забудем про минус к счастью, а то слишком уж несбалансированная постройка получится.

Следующая группа — Unit Bonuses to Planet — тоже задает плюсы или минусы, но уже в абсолютном выражении. Почувствуйте разницу: +5 или +5% к качеству планеты, когда среднее значение равно 10-12. То же в производстве, науке и сельском хозяйстве.

Группа Unit Ship Speed Bonus задает прибавку к скорости кораблей. В ней всего два поля: Civ. Wide — прибавка действует на всю цивилизацию, и Planetary — плюс к скорости получат только корабли, созданные на планете с данной постройкой.

В группу % Temple Revenue Bonus выделили поля, необходимые для создания храмов Зла, Добра и Равновесия. Поле Owner Bonus задает процент туристической прибыли других цивилизаций, который перечисляется владельцу храма. А Non Owner Penalty определяет штраф для тех, у кого такого храма нет. Штраф также вычитается из доходов от туристов.

Если хотите создать мощный суперпроект или галактическое достижение, добро пожаловать в последнюю группу — % Bonus to Civ. В списке Ability выбираем одну из способностей расы, а в полях Ability Amount или Ability Factor вводим желаемое значение. Разница между полями существенна. Значение в Ability Amount просто добавляется к способностям расы (или вычитается, если поставить минус), в то время как Ability Factor увеличивает способность на заданный процент от текущего значения.

Movies

Здесь можно указать мультики, проигрываемые на экране планеты при вторжении на нее. А можно и не указывать — для 95% строений в игре поля этой вкладки пусты.

Мультики должны иметь формат *.bik.

Редактор корабельных модулей

Интерфейс редактора корабельных модулей похож на интерфейс предыдущего редактора — все тот же список объектов и вкладки. Но приглядитесь внимательнее — список объектов здесь свой на каждой из одиннадцати вкладок! То есть на самом деле одна программа объединяет в себе одиннадцать разных редакторов. Но общего между ними немало. Поэтому сначала рассмотрим то, что их объединяет, а потом пройдемся отдельно по каждой вкладке.

Это важно: файл с данными корабельных модулей располагается в папке Arnor\Twilight\Data\English и называется GC2Types.xml. Прежде чем что-то в нем менять, не забудьте сделать резервную копию.

Internal Name и Display Name нам уже известны, и их назначение не поменялось. Помимо них, почти на всех вкладках присутствуют следующие поля и списки.

  • Tech. Requirement — внутреннее имя технологии, которую необходимо изучить для использования модуля.

  • Category — список, определяющий тип модуля. Почти на всех вкладках содержит всего одно значение.

  • Description — краткое описание.

  • Thumbnail — двумерный значок модуля для редактора кораблей.

  • Model — трехмерная модель, которая и отображается на звездолете.

  • Cost — цена модуля в производственных единицах.

  • Size — место, занимаемое модулем в корпусе.

  • Size Mod — модификатор размера. Итоговый размер вычисляется по формуле

     Size + (SizeMod×Capacity ,
    100
    где Capacity — «табличная» вместительность корпуса без учета миниатюризации.

Все остальные поля зависят от типа создаваемых модулей.

Atlas

Вкладка Atlas. Здесь создаются, пожалуй, самые интересные модули в дополнении Twilight of the Arnor.

Модули этого типа введены в игру недавно — в последнем дополнении. Они на заданный процент поднимают атаку или защиту корабля или сразу всего флота.

Особые поля на вкладке:

  • Attack и Defense — повышают атаку или защиту самого корабля.

  • Attack in ZOC и Defense in ZOC — аналогичны предыдущим, но работают только в пределах зоны влияния цивилизации. ZOC так и расшифровывается — Zone of Control.

  • Fleet Attack и Fleet Defense — увеличивают атаку или защиту сразу всему флоту.

  • Fleet Attack (first round) — тоже действует на весь флот, но только в первом раунде боя.

Остается добавить, что однотипные премии от разных модулей не складываются. Берется только наибольшее значение.

Defenses

Здесь собраны защитные модули — броня, защитные экраны и ПРО. Специальных полей здесь всего два. Урон, поглощаемый модулем, задается в поле Absorption. А тип защиты выбирается в списке Class. Возможные варианты:

  • A — Armor, то есть броня. Помогает против орудий и пушек Гаусса.

  • PD — Point Defense, то есть ПРО. Предназначена против ракет.

  • S — Shields, или щиты. Отражают лучевое оружие.

Drive

Что нужно от двигателей? Правильно, только скорость. Поэтому и особое поле здесь всего одно — Speed. Если впишем сюда +5, то корабль с таким модулем получит +5 к скорости.

Driver

А вот еще одно нововведение, доступное в дополнении только землянам и консулату Кринн. Впрочем, в игру для того и добавили редакторы, чтобы мы могли исправить эту — и любую другую — несправедливость...

Модули Driver похожи на обычные двигатели, только увеличивают скорость не одному кораблю, а всему флоту сразу. Жаль только, что премии от нескольких модулей не складываются, просто берется наибольшая.

Особое поле тоже только одно — Driver Strength, куда и нужно вписать желаемый плюс к скорости.

Созданный в редакторе «бортовой навигатор» для Арсеанской империи поможет их флотам летать немножко быстрее, но огромный размер навигатора не позволит поставить на корабль что-либо еще.

Fortitude

Третья и последняя новинка для кораблей — модули прочности.

На вкладке всего одно специальное поле, Fortitude Strength, число в котором определяет прибавку к прочности корабля.

Hull

Оказывается, корпуса — основа основ любого корабля — тоже модули... и создаются они на этой вкладке.

Понятно, что поле Size имеет здесь немного другое значение и определяет не занимаемое место, а вместимость корпуса. А поля Size Mode нет и вовсе.

Каждому корпусу можно задать базовую скорость и радиус обзора. Вас расстраивало, что истребители летают так же медленно, как линкоры? Измените это!

Из особых полей отмечу Speed и Sensor Range. Оказывается, каждому корпусу можно без всяких дополнительных модулей задать базовые скорость и радиус обзора...

Прочность корабля без учета плюсов от способностей расы и модулей Fortitude устанавливается в поле Hitpoints, а очки снабжения, занимаемые им во флоте, — в поле Logistics.

Life Support

Не знаю, как вы, а я в оригинальной игре почти не использовал модули жизнеобеспечения. Чтобы увеличить радиус полета, всегда проще было поставить новую космобазу... Но, если уж создавать мод, в котором ограничения по дальности будут играть большую роль, вкладка Life Support очень пригодится.

Особое поле только одно — Range. В нем задается прибавка к дальности полета корабля в парсеках, то есть в клетках.

Module

Вкладка под таким вот непритязательным названием служит для создания самых разных полезных модулей — от колонизационного до торгового.

Основной элемент здесь — список Ability, в котором выбирается назначение модуля:

  • Colonize — заселение новых миров;

  • ConstructStarbase — постройка и расширение космических баз;

  • SpaceTruck — постройка шахт на астероидах;

  • Spore — атака вражеских миров биологическим оружием;

  • Trade — торговля;

  • Troops — перевозка и десантирование солдат на вражеские планеты.

Для транспортных и колонизационных модулей есть еще одно поле, Max Capacity, в котором задается вместимость модуля в миллионах солдат или первопроходцев.

Sensor

На этой вкладке создаются сенсоры, или радары, если по-русски.

Главное поле — Sensor Range, цифра в котором устанавливает радиус обзора. Казалось бы, все? Нет. Есть еще список Ability с двумя возможными значениями: None — ничего необычного; и Survey — корабль с таким модулем может исследовать аномалии.

И это еще не все. В поле Alt. Cost Prerequisite можно указать галактическое достижение или товар, после получения которых данный модуль автоматически ставится на все корабли. При этом в другом поле, в Alt. Cost, должен быть ноль.

В самой игре два этих поля используются для обычного модуля Survey Module, который после постройки путеводителя по галактике бесплатно ставится на все звездолеты. Для этого в поле Alt. Cost Prerequisite прописывается GA:GalacticGuideBook. Обратите внимание на приставку «GA:». Если бы путеводитель был товаром, приставка была бы «TG:».

Structure

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

Ничего полезного они кораблю не добавляют и служат лишь для украшения. Галочкой напротив Is Hidden? можно сделать компонент невидимым. А галочка рядом с Apply Civ Logo? добавит на него герб расы.

Weapons

И последнее по порядку, но не по значению — оружие!

От элементов интерфейса на этой вкладке натурально рябит в глазах. Какие же из них нужны, чтобы создать свою пушку, лазер или ракету?

Во-первых, список Class, в котором выбирается одна из трех букв: B — лучевое оружие (Beam), G — пушки (Gun) или М — ракеты (Missile).

Во-вторых, поле Damage, задающее количество наносимого урона.

В-третьих... а в-третьих ничего и нет. Другие поля, если не считать рассмотренные ранее Size, Cost и т.п., на механику игры не влияют. Зачем же нужно все остальное?

Список Category можно отнести к условно-декоративным. Если в Class мы задаем тип наносимого урона, то в Category всего лишь определяем вкладку в редакторе кораблей, где будет находиться наш модуль. Невнимательно работая с этими списками, можно потерять какой-нибудь лазер среди ракетных установок — не смертельная, конечно, но досадная ошибка.

Списки Behavior и Type вообще не используются.

Все остальные поля носят декоративный характер — с их помощью задается анимация и звуки успешных и отраженных защитой выстрелов:

  • Animation File — путь к файлу с анимацией выстрела.

  • Launch в группе Animation Frame — номер кадра анимации, соответствующий моменту выстрела.

  • Impact в группе Animation Frame — номер кадра анимации, соответствующий моменту попадания по цели.

  • Explosion 1, 2 и 3 — файлы с звуками взрывов.

  • Attack — звук выстрела.

  • Deflection — этот звук проигрывается, если выстрел отражается защитой.

В Интернете всегда можно найти новые модели для ваших модулей или даже целых звездолетов.
Вкладка для создания оружия. Большая часть полей — анимация и звуки. Если вы всегда проматываете битвы, на эти поля можно не обращать внимания.

Домашнее задание: сами добавьте в игру любой корабельный модуль и «повесьте» его на какую-нибудь технологию. Если вы никогда не создавали анимации, не дружите с трехмерным моделированием и не умеете записывать звуки, просто воспользуйтесь готовыми файлами из игры.


Взращенное нами дерево технологий пока мало. По сути, это лишь маленький отросток, веточка на могучем древе оригинальной игры. Но я надеюсь, что изученные здесь редакторы помогут вам наполнить Galactic Civilization II новым содержанием. Придумывайте новые цивилизации! Создавайте для них уникальные технологии и постройки! Отправляйте в глубины космоса собственные корабли!

Дерзайте!



Назад