Оригинальная публикация была в 2012 году, но эта статья относится к концепции игры и поможет получить общее представление о том, какой игру видит её идейный вдохновитель.
Прозвучало достаточно вопросов о том, какой будет система физики в игре. Будет ли она наподобие «простой физики» как в игре Wing Commander, полной и точной ли моделью ньютоновской физики, как в большинстве современных игр, или чем-то средним? Крис Робертс недавно отметил этот момент на форуме и мы посчитали, что будет супер, если мы поделимся этой информацией со всеми вами:
Как человек, который занимался физикой в Манчестерском Университете прежде, чем перейти к разработке игр на постоянной основе, я могу заверить всех, что физическая модель ПОЛНОСТЬЮ точна — это полная симуляция поведения твердого тела. Я знаю потому, что я написал код.
Возможно мне стоило показать это в демонстрации лучшим образом, но если вы летите на скорости и установите желаемую скорость в ноль, то вы УВИДИТЕ, как верхние передние ускорители повернутся в нужную сторону и дадут импульс, чтобы замедлить вашу скорость. Если вы посмотрите мою демонстрацию, вы обратите внимание на поведение Хорнета, когда я замедляюсь вблизи мостика в определённый момент. Возможно, на экране это не так заметно, но я уверяю, что Хорнет не остановится на монете в десять центов. Если вы нагрузите его большей массой, например, дополнительным вооружением, вы сразу ощутите от этого эффект.
Здесь нет смоделированного сопротивления, всё что происходит — происходит так, как было бы в космосе.
Кроме того, по правилам физики применяется встречная тяга и, если бы ваши руки лежали на рычагах управления, вы бы это почувствовали. Если вы присмотритесь, вы заметите инерцию — корабль не перестанет вращаться, или качаться в мгновение ока. Тем не менее, есть очень хорошая причина, по которой вы не замечаете очень точных импульсов ускорителей.
Проблема визуализации правильной направленности ускорителей заключается в том, что на самом деле это выглядит довольно ужасно (поверьте мне, я эту концепцию применил в первый раз, но до сих пор довольно легко переключиться обратно, поскольку я предпринимаю дополнительные шаги для того, чтобы визуальные эффекты выглядели приятнее).
Причина в том, что в космосе нет сопротивления, поэтому даже микроимпульсы заставляют Хорнет (или любой другой космический корабль) вращаться до тех пор, пока вы не компенсируете это вращение встречной тягой. Так что на самом деле система управления полетом всегда применяет микроимпульсы и встречную тягу в ответ на команды пилота. Это приводит к тому, что двигатели выстреливают и гаснут в микроскопических промежутках времени, и вы фактически не получаете хорошего общего ощущения от применения тяги. Думаю, ты знаешь, что мне нравятся вещи, которые выглядят круто (давай, мы все знаем, что ты, вероятно, не участвовал в космических боях на скоростях Второй Мировой войны, но это гораздо веселее, чем может показаться на самом деле), поэтому система все еще моделируется точно, но я использую угловую/линейную разницу в скоростях, чтобы управлять визуальным представлением тяги. Вот мой комментарий к коду:
//Обратите внимание, что thrustGoal — это фактическая разница линейной скорости (желаемая скорость – текущая скорость
//транспортного средства и скорость вращения, а не реальное линейное и угловое ускорение/тяга.
//Это сделано для того, чтобы вы могли видеть постоянные эффекты, пока вы совершаете движение с целью корректировки курса
//вместо точного отображения незаметных импульсов.
//Если бы мы просто использовали ускорение, а не желаемую коррекцию скорости, вспышки постоянно включались бы и отключались —
//особенно в случае реализации космоса Wing Commander,
//где нет атмосферы для обеспечения сопротивления.
//
//Конечно, если вы передадите значения фактического ускорения в SetThrustGoal,
//то вы получите точное визуальное представление о том, что в действительности происходит с ускорителем.
Я надеюсь, что это позволит вам избавиться от любого недопонимания!
Я признаю, что кораблю не обязательно иметь крылья или пропеллеры в передней части, но идея заключается в возможности атмосферного полёта (это не обещание игры на планетах в ранних сборках игры, но допущение появления такого функционала в будущем), и как RAM-улавливатель. Плюс, это просто круто выглядит и ощущается!
Крис Робертс