Это очень хороший вопрос. Спасибо, что вы его задали. Я знаю, что параметры настроек могут ввести в заблуждение. К сожалению, возможно, я смог бы написать целую книгу на эту тему. Но я постараюсь ответить покороче. TL/DR — читайте последний абзац.
Самым большим испытанием при создании нашей лётной модели, была задача обеспечить реалистичность симуляции полётов на высочайшем уровне, но также требовалось добиться этого таким образом, чтобы наши дизайнеры могли легко настраивать и балансировать характеристики корабля. Множество игр имеют простую модель, где дизайнер может задать максимальную скорость корабля, как быстро он может вращаться, может даже то, как быстро он может ускоряться линейно и в момент вращения, а затем игрок управляет кораблём напрямую, и в очень упрощённом виде. Часто такие системы непосредственно задают скорость корабля, в отличие от применения ускорений. Управление для кораблей в Star Citizen всегда обеспечивается силами ускорений, и никогда не используется прямой контроль скоростей, или даже позиционирования (за исключением сетевых корректировок в экстремальных случаях). И за всем этим стоят ускорения, которые всегда генерируются определённым источником тяги на корабле, которыми обычно являются его маневровые ускорители. Каждая сила генерируется маневровым ускорителем и применяется в той точке, где ускоритель установлен, в реальном направлении, в котором ускоритель выстреливает (прим. пер. очевидно, что здесь ошибка, и имеется ввиду в реальном направлении, противоположном тому, в котором выстреливает ускоритель). Сумма этих сил обеспечивает тягу, которую запросил пилот. Во многих играх генерируется одиночная линейная сила из центра масс. Это нужно, чтобы избежать появления крутящего момента в корабле. В кораблях Star Citizen, мы никогда не мухлевали с векторами сил. Если вектор тяги из ускорителя не проходит через центр масс и не компенсируется другим ускорителем, который генерирует эквивалентный крутящий момент, то это приведёт к тому, что корабль начнёт вращаться, как только ускоритель толкнет его вперёд.
Изначально, наша система настраивалась мощностью ускорителей. Это был способ настройки путём проб и ошибок, когда дизайнер (в первую очередь, возвращаясь к более раннему периоду, Каликс Реню [Calix Reneau], конечно, не без помощи остальных) мог летать на корабле и регулировать ускорители, еще полетать немного, затем повторить настройку, и так до тех пор, пока поставленная задача не будет выполнена, по крайней мере, когда это возможно. Часто бывало так, что из-за особенности ускорителей, которые обычно дают тягу во множественных направлениях, одновременно линейного и вращательного характера, не получалось добиться цели. Если вы снижаете ускорение по оси x, к примеру, это могло повлиять и снизить уровень ускорения по оси z. Очевидно, что дизайнерам такой системой было весьма сложно пользоваться, и иногда требовалось несколько дней, чтобы перенастроить только один корабль, а результаты были далеки от идеальных. Это был тупик.
Наконец, с помощью дизайнера Пита Маккея [Pete Mackay], я нашел способ автоматической настройки наших кораблей, с помощью установки базовых характеристик для каждого корабля. Идея заключается в том, что дизайнер может указать, как корабль должен себя вести в случае каждого из его управляющих действий, включая все шесть линейных направлений (+/- x, +/- y, +/- z) и три симметричных типов вращения (pitch, roll, yaw). Чтобы задать характеристики корабля, дизайнер определяет, как быстро корабль должен останавливаться, когда он летит на максимальной скорости в режиме SCM, или, для определения вращений, как быстро он перестанет вращаться, вращаясь с максимальной скоростью. Отталкиваясь от этих целей, новый модуль настройки рассчитывает мощность тяги, основываясь на мощности каждого ускорителя, идеальной массе эталонного корабля, наборе шкал IFCS, которые ограничивают количество тяги, которая может быть приложена к каждой линейной оси, или оси вращения. По замыслу игры, объяснение появления этих шкал такое, что любой корабль разработан для заданных характеристик, и таким образом, создаётся именно необходимое количество тяги, не больше, вдоль каждой оси. Ни один корабль, выходящий за рамки заданных характеристик не будет спроектирован, по крайней мере, если он выходит за эти рамки слишком сильно. Таким образом, даже если корабль и способен генерировать 1 000 000 Ньютонов тяги по оси x, отталкиваясь от чистой мощности своих ускорителей, он должен быть спроектирован с учетом тяги только в 500 000 Ньютонов, и вместе с эталонной массой корабля, это даёт нам нужные характеристики ускорения по этой оси. С помощью этих осевых шкал, у нас есть возможность независимо настраивать каждую ось, не оказывая влияния на любую другую управляющую ось.
Благодаря появлению этой новой системы, дизайнеры, после пары часов первичной подготовки, теперь могут полностью настроить корабль, согласно его спецификациям, за пару минут. Это даёт нам намного больше свободы для изучения различных настроек кораблей, которые вы можете «пощупать» уже сейчас, в обновлении 2.6.
Еще раз подчеркну, что корабли в Star Citizen всегда контролируются с помощью отдельных сил, которые прикладываются реальными ускорителями, каждая в своей точке (лишь с незначительными «костылями», что позволяют художникам стать аэрокосмическими инженерами). Центр масс рассчитывается динамически для каждого корабля, это касается не только распределения массы корпуса, но и предметов тоже. Ускорители не всегда функционируют со стопроцентной отдачей, и даже могут быть полностью уничтожены. Все эти вещи будут нарушать идеальное поведение корабля в полёте. Поэтому задача заключается в том, чтобы заставить корабль отлично летать в идеальных условиях, в соответствии с целями дизайнеров, но также сделать так, чтобы этот баланс нарушался от полученного урона и от изменения массы, или распределения массы. Кроме того, в конце концов, вы сможете добиться более высоких характеристик, путём модернизации ваших ускорителей.
В любом случае, IFCS может помочь пилоту управлять и ускорением, и скоростью, или позиционированием корабля во всех шести степенях свободы. Но первичный режим контроля — это скорость, это то, чем вы будете оперировать непосредственно в игре. Тем не менее, даже для скорости и контроля позиционирования (которые скоро появятся и в капитальных кораблях), все управление кораблём осуществляется исключительно приложением сил и созданием первичных ускорений, и как я говорил ранее, источником ускорения является каждый отдельно взятый ускоритель, который создает точное необходимое количество тяги, и задаёт её направление, для обеспечения запрошенного движения. Здесь нет места «читам».
Подводя итоги, да, параметры, которые вы видите в xml, являются заданными целями получения нужных характеристик корабля. Эти конечные значения применяются в процессе автоматической настройки для генерации необходимых мощностей, выдаваемых ускорителями, чтобы полностью обеспечить, основанное на этом, реалистичное поведение корабля в полёте, чтобы корабль соответствовал тем целям, которые задают проектировщики. Намеченные характеристики просты, но способ, которым корабль достигает этих намеченных целей — весьма сложен и, к счастью, скрыт от дизайнеров.