Вокруг Вселенной - эволюция квантовых перелетов

Вокруг Вселенной - эволюция квантовых перелетов

Вокруг Вселенной - эволюция квантовых перелетов

Приветствуем, Граждане!

Предлагаем вашему вниманию первый полный перевод AtV от нашего портала.

Обсуждение новости на нашем форуме.

Видео:

Текстовый транскрипт:

Вступление

Сэнди Гардинер: Привет и добро пожаловать на очередной эпизод Вокруг Вселенной – наш еженедельный взгляд на продолжающуюся разработку Star Citizen. Я Сэнди Гардинер.

Крис Робертс: А я Крис Робертс, и я только вернулся из Европы.

СГ: Да, вернулся. Сегодняшняя игровая особенность посвящена системе квантовых перелетов. Учитывая столь большие расстояния между небесными телами эта механика – важнейшая часть того, с чего начинается ваше путешествие.

КР: Определенно. Но прежде чем мы перейдем к ней, давайте взглянем, каков прогресс команды над Альфой 3.0 в очередной части Burndown.

Burndown - вступление

Эрик Кайрон Дэвис: Добро пожаловать назад в Burndown, наше еженедельное шоу, посвященное обзору продвижения к релизу Star Citizen Alpha 3.0. Мы работали над каждой из наших обозначенных категорий, о которых мы рассказывали в предыдущем эпизоде, а также указанных в графике разработки, среди которых шоппинг, задания, корабли и прочие средства передвижения, путешествия, mobiGlas и общие производительность и стабильность. Давайте перейдем к команде и посмотрим, каков прогресс над каждой из них.

Шоппинг/грузы

Эрин Робертс: Что по товарам и полировке шоппинга?

Тодд Папи: В общем Крис приоритезировал задачи Саймона Уайта, среди них есть необходимая полировка, однако Крис хотел сначала разобраться с вещами для системы предметов 2.0, так что на Саймоне лишь финальные задачи.

Крис Робертс: В целом выглядит так, что вам нужно внедрить все механики и весь контент, а затем нужно отполировать вещи вроде шоппинга и кораблей, верно?

ТП: Справедливо, да.

Стивен Эган: Вот киоски, над которыми мы работали. Это изначальные. Согласно отзывам, которые мы получили, они слишком привязаны к окружению, экраны мелковаты, так что опыт взаимодействия игроков выходит не самым лучшим. Так что мы собирались взять этот стандартный киоск и попробовать сделать для магазинов что-то более индивидуальное. И он очень близок к завершению. Планшетный формат также помогает, и мы знаем, что то, над чем мы работаем, может быть просто интегрировано и сразу будет работать. Вот этот для Порт-Олисара уже закончен. Лично я сейчас работаю над кассой для Левски, над киоском, который почти… Прочие члены команды усердно трудятся над прочими кассами для различных зон вроде Bazaar Bargains, а нет, простите, не для него, а для Dumper’s Depot и прочих магазинов в игре. У каждого из них будет свой уникальный индивидуальный киоск, кассовый аппарат и прочее. Так что да, все очень близко к завершению.

Миссии

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

ТП: Я уже это сделал.

РД: Окей.

ТП: Это то, что я делал до этого. Джейк уверен, что они успеют завершить это в срок.

Роб Рейнингер: Мы работаем над несколькими NPC для 3.0, парочка из которых выдают миссии. У нас есть Экхарт, который, очевидно, на Левски, и о котором вы уже знаете. Еще у нас есть Руто, который также находился в разработке. Они оба являются очень важными персонажами, так как будут ответственны за выдачу части контента, к которой у вас будет доступ.

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

Мы передали эту работу во Франкфуртский офис. Так что в этом задействованы Витис, Кунис, также помагает Крис Спик, а еще команда Дэна Трепидса. В общем это действительно такая глобальная работа по завершению этих двух персонажей, а мы в это время сосредоточимся на завершении шоппинга.

Корабли/транспортные средства

Мэттью Вебстер: Буквально 10 минут назад мне передали эту ошибку из QA. Когда вызываешь второй корабль, во всем окружении пропадает освещение, а также пропадает управление движением для всех игроков на сервере, что абсолютно ненормально.

-Очень странно

МВ: Ага, именно.

-Необычный баг

МВ: Он присутствует в билде А14, который мы выпустили прямо перед обедом.

Чед МакКинни: Я разбираюсь с жутким багом, когда вы вызываете корабль, а затем еще один, все огни и все звезды гаснут и вы пропадаете, также, как и все, это происходит со всеми и вы не можете двигаться.

Калик Рено: Глава программистов работает над полем перегрева на тепловом дисплее. Я обнаружил, заметил, что мы не отображаем где-либо глобальный тепловой пул, что вообще-то важно, так что, наверное, нам стоит сделать это. Так что я собираюсь добавить его сегодня, вероятно поговорив с Максом о том, откуда мне брать эту информацию, так как мне не удалось отследить ее в прошлый раз, но это то, над чем я сейчас работаю.

Перемещение

Мэттью Лайтфут: На данный момент для 3.0 я слежу за тремя основными частями работы, которые можно разделить на шесть отдельных механик. Эти три сегмента работы касаются системы помощи при полете и летного баланса, в который входят атмосферный полет, второй уровень форсажа, а также полировка и настройка системы левитации над поверхностью.

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

Пол Рейнделл: И Тодд сказал, что это в приоритете.

МЛ: Тодд сказал, что то первое предложение по усовершенствованной модели атмосферного полета было именно тем, что он хотел. Второе, касающееся переключения в атмосферный режим, надеюсь, будет легко реализовать, но если возникнут проблемы, то мы перенесем это в 3.1. Так что как только это обернется более долгой задачей чем ожидалось, мы можем отбросить ее на 3.1.

Дэвид Колсон: После того собрания я, как и сказал, сглаживал переход и совершенствовал ускорения системы контроля полета, чтобы во время вашего полета вы не замечали какие-то внезапные изменения в ускорении, которые очень заметны, когда ваш корабль внезапно теряет в маневренности. И для этого нужно было придумать систему, которая могла бы постоянно контролировать это и, например, нам еще нужно разобраться с режимом decoupled, что было довольно проблематично, так как сейчас полет в режимах coupled и decoupled сильно отличается, и системе нужно стабильно работать в обоих случаях. Так что я потратил много времени на то, чтобы убедиться в том, что систему можно использовать в режиме decoupled, и она ведет себя схожим образом. Мы не хотим сильного расхождения в том, как она работает в двух разных режимах. Так что мы работали, и я участвовал, и мы внедрили систему, при которой разгон до высших скоростей происходит только когда вы летите по прямой, а если вы попробуете изменить свою скорость, она вас вышвырнет или попытается снова замедлить вас.

Эндрю Николсон: Из-за некоторых проблем, которые были связаны с увеличением форсажных скоростей по прямой, мы обнаружили, что можно легко переключаться из режима боевого маневрирования, и что по желанию можно врубить форсаж и действительно быстро достичь этих высоких скоростей. Одним из рассматриваемых способов исправления этого было возвращение к некоторым вещам, которые мы делали до того, как режим боевого маневрирования или SCM был подогнан под меньшие масштабы. Мы хотим дать больше возможностей для боевого маневрирования, чтобы вам не пришлось слишком часто полагаться на форсаж. Так что к этому моменту мы серьезно прошлись по всем кораблям в игре в части их скоростей в SCM, а также всем связанным ускорениям. Фактически увеличиваем их, чтобы у вас было больше возможностей изменения скорости, но я не изменял ускорения, так что они должны переехать из текущего билда.

mobiGlas

Рикки Джатли: Что касается звездной карты, то, фактически, Лео сделал большинство своих вещей на стороне кода, и Тодд сказал, что все окей. Сейчас в основном мы хотим увидеть вещи Зейна, которые уже на подходе, так как мы реорганизовали этот процесс.

Тодд Папи: Звездная карта в mobiGlas. Звездная карта на корабле ниже, прокрути, Рикки.

РД: Это в последующем цикле, с кораблем и радаром.

ТП: Это прямо с кораблями, и сейчас все находится на той стадии, когда Олег заканчивает работу над тем, как это будет выглядеть в 2D против того, как это будет выглядеть в 3D, а затем художники по кораблям и технологиям вместе с нами смогут делать свою работу, необходимую для радара, и разместить все эти вещи, чтобы Бон и его команда могли делать их работу.

Лео Vansteenkiste: Последние несколько месяцев я работал над внедрением радара в систему звездной карты, и я решил использовать что-то вроде системы, основанной на компонентах. Так что если вы открываете звездную карту, то можете с ней взаимодействовать, а если добавить компонент радара поверх этого, то вы сможете приблизить вид к себе и, внезапно, появится этот радар, а если вы снов уберете карту, то будете видеть лишь радар на своем дисплее. И это тот путь, которому я стараюсь следовать, и мы всегда можем добавлять различные компоненты, чтобы расширять функциональность этих дисплеев.

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

ТП: Окей

ЗБ: Ага. Тогда, видимо, мне стоит подчистить кое-какие вещи, касающиеся кнопок размера навигационной карты и радара, чтобы было четче видно, что они активированы, но в общем и целом думаю, что было бы хорошо, если Крис взглянет на это, если еще не видел.

ТП: Да, определённо.

ЗБ: Да… Текстуры выглядят иначе.

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

Хьюго Сильва: Менеджер заданий в mobiGlas побывал на ревью, мы получили некоторые отзывы, и сейчас изменяем некоторые вещи в соответствии с этим. Мы отполировали несколько элементов.

Теперь можно видеть, сколько времени осталось на выполнение миссии. Здесь у нас вся информация, описание, кто выдал задание, как много времени отведено, какова оплата. Можно принять эти миссии, можно отслеживать их в списке взятых заданий. Также есть возможность после отмены задания зайти в историю и узнать, какие миссии были отменены, какие выполнены, какие в процессе. Как вы можете видеть, теперь есть информация обо всех этих заданиях.

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

 

Производительность/стабильность

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

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

Burndown - заключение

ЭКД: Только на этой неделе мы добавили 756 обновлений в нашу ветку 3.0 в Perforce по всем возможным категориям. От категории к категории можно увидеть, насколько непредсказуем может быть прогресс, так как Эвокати и наши внутренние QA работают вместе, чтобы раскрыть новые проблемы, в то время как руководство оценивает, с чем совершенно необходимо разобраться, чтобы выпустить 3.0 на PTU как можно скорее.

Так что возвращайтесь в Burndown на следующей неделе, чтобы посмотреть на наш прогресс.

Снова в студии

СГ: Если вам бы хотелось получить больше информации о нашем графике того, как мы работаем над грядущим релизом Альфы 3.0, сверьтесь с еженедельным отчетом о разработке на нашем сайте.

КР: Обязательно сделайте это, но сейчас время перейти к механике этой недели – квантовым перелетам, где мы взглянем на обновления, выходящие с Альфой 3.0, которые сделают систему более динамичной.

СГ: При старой системе квантовых перелетов вы бы выбрали точку назначения, зарядили бы квантовый двигатель и молнией пролетели бы к этой цели.  И все было одинаково, куда бы вы не направлялись.

КР: Ага, это работает, но учитывая то, насколько дистанция будет важна в будущем, в 3.0 и далее, мы знали, что хотели бы улучшить эту систему. И вот почему мы решили варьировать скорости перелета и эффекты на основании дистанции перелета. Таким образом путешествие от Земли до Луны будет выглядеть иначе, чем путешествие от Земли до Юпитера. А в нашем случае по системе Стэнтон, где-нибудь между чем-то вроде Левски и… не знаю….

СГ: АркКорп?

КР: Возможно АркКорпом, да.

СГ: Вот так вот. Чтобы узнать больше, давайте взглянем на обновленную систему квантовых перелетов.

Квантовые перелеты

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

Марк Абент: Вы смотрите в любом направлении, включаете зажигание и летите. Это было прекрасно. Были визуальные эффекты и все такое. Проблема в том, что дизайнеры не были рады, а Крис Робертс хотел, чтобы все было несколько иначе, так как у нас будут большие карты, и мы хотели, чтобы система функционировала по-другому. Предыдущая система фактически позволяла лететь из любой точки в другую, просто задавала максимальную скорость, и вы просто летели. Не было концепции наклона, точнее была, но легкая и очень линейная. Так что вне зависимости от того, короткий ли прыжок или длинный, он ощущался одинаково, а Крис хотел, чтобы все ощущалось совершенно по-разному. Скажем, я хочу пролететь от Земли до Луны. Это довольно далеко, но считается коротким прыжком. Дальний прыжок будет от Земли до Плутона. Так что мы хотели, чтобы прыжок от Земли до Луны ощущался несколько медленней, так как вы не достигаете максимальной скорости, в то время как при прыжке до Плутона вы достигаете этой скорости, но Крис не хотел линейного ускорения до нее. Он хотел более резкое нарастание при полете туда.

Так что мы экспериментировали с различными способами достичь этого, и одна из идей, появившаяся еще на очень раннем этапе прототипирования, заключалась в концепции, если уж совсем упростить, концепции короткого и длинного прыжков. И первой имплементацией стала двойная система. Под этим я имею ввиду, что при определенной дистанции будет короткий прыжок, а при другой – уже длинный. И для них были различные скорости. Так что полет от Земли к Луне занял бы несколько больше времени, так как вы бы не летели столь быстро. Вы могли бы насладиться видом. А при полете на Плутон скорость была бы гораздо выше, чтобы вы скорее добрались туда. Но все еще была проблема линейности, которая была минусом такой системы. Вы бы просто разгонялись, добирались в точку и просто останавливались. Не хватало этакой плавности наклона, да и еще из-за двойственности системы малейшего изменения дистанции хватило бы для замены короткого прыжка длинным. Скажем, если я планирую полететь от Земли к Марсу, и если этой дистанции достаточно, то чуть пролетев в обратном направлении, прыжок стал бы считаться длинным, а по возвращении назад – коротким. И в зависимости от типа прыжка были бы разные эффекты, звуки, все это абсолютно разное, и все это никак не масштабировалось, ибо либо один вариант, либо другой.

Так что мы вернулись к чертежной доске, говоря: «Хорошо, он хочет этот эффект уклона и дизайн также очень хочет кривую, а мы собирались использовать движения, постоянное ускорение». Вы как бы начинали с начальной скорости, у вас была конечная скорость, до которой вы со временем фактически разгонялись линейно, что и дает эту прямую илинию, а это не то, чего мы хотели. И то, что хочет дизайн, более похоже на некоторое искривление процесса. Что-то как в том фильме, «Назад в будущее». Вы в Делориане, педаль в пол, разгоняетесь до 88 миль, что довольно плавно, но как только достигаете этих 88 миль в час, вы просто безумно ускоряетесь. Так что вы как бы предварительно разгоняетесь, разгоняетесь, разгоняетесь, а потом достигаете этой взрывной фазы, и просто уноситесь.

И вернувшись к чертежной доске я взглянул и сказал: «Что мы можем сделать? Чтож, хорошо. Ускорение линейно. Что будет, если мы пойдем еще дальше?» В том знаменитом фильме мы бы дошли до 11. В нашем случае мы идем еще дальше до штуки, которую называем рывком. У нас есть постоянный рывок со скоростью и ускорением, изменяющимися со временем. И это дает то, что вместо того, чтобы ваша скорость была такой, она немного искривляется. Так что, если мы используем рывок для того, чтобы определить, как быстро мы собираемся достичь данной точки, мы можем избавиться от двойной системы и просто выбрать позицию, зная максимальную скорость двигателя и зная минимальную. Мы можем рассчитать минимальное и максимальное ускорение на основе рывка, и просто ускориться.

И это дает нам то, что вне зависимости от выбранной точки на звездной карте, вне зависимости от локации, мы получим эту опрятную небольшую кривую. И если бы я направлялся к Марсу, я бы разогнался, достиг этой высокой скорости, а затем снова замедлился, но если бы я летел к Плутону, то я бы разогнался до максимума, даже до больших скоростей, какое-то время пролетел бы на предельной скорости, а потом замедлился. И это предоставляет что-то вроде гибрида краткосрочного длинного прыжка в плане впечатлений., а так как это больше не двойная система, где возможен либо короткий прыжок, либо длинный, в зависимости от дистанции, то мы можем корректировать все наши эффекты на основе скорости. Так что, когда вы разгоняетесь, но не достигаете определенной скорости, вы не увидите эффекта тоннеля. Будут лишь небольшие искры, так как вы не преодолеваете этот…, даже не знаю, квантовый барьер. Вы не преодолеваете его. Вы летите прямо на его грани. Вроде того, когда вы летите быстро, но недостаточно, чтобы преодолеть звуковой барьер. У вас будут некоторые эффекты, но вот если вы полетите еще быстрее, то преодолеете барьер, а мы активируем эффекты, так что все станет гораздо более зрелищным. Скажем, я добрался до системы. Там есть планета, я выбираю одну из ее точек. Я как бы подлетел ближе, но не вижу эффекта тоннеля. Но если я выберу что-нибудь подальше, то бам! Сразу будет виден тоннель. Это довольно небольшая, но интересная деталь, а по ходу ее разработки со всей этой математикой, мы просто прототипировали всю систему в виде отдельного приложениz, чтобы дать его дизайнерам и сказать: «Эй, запустите-ка это. Вот графики, вот скорости, вот ускорения. Довольно круто».

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

И вопрос стоял в интеграции системы, чтобы мы смогли привязать ее к кораблям 2.0, а также соединить ее с ключевыми системами энергии, тепла, всего в этом роде, с топливной системой. Старый двигатель не использовал никакую из этих механик, так как не был совестим. Для новой системы Макс создает каналы для топлива и энергии, а я также уже могу соединять их.

Аран Андерсон: Эффект квантового перелета изначально состоял из этого эффекта тоннеля. И Крис попросил адаптировать его, он хочет голливудского эффекта, что-то вроде Стар Трека, когда он постепенно появляется спереди корабля и движется назад вдоль него. Он начинается с заряжающей части, а затем достигает того уровня ускорения, который Крис обозвал «88 милями в час, как в Назад в Будущее». И когда вы проходите стадию зарядки, спереди появляется смесь частиц, и она все увеличивается и увеличивается, потом будто зажигается, а затем превращается в большой взрыв, который служит эффектом входа в квантовый перелет. Эффект звездной пыли был таким, когда появлялись звезды, пролетали планеты и звезды на протяжении всего пути к цели. Эффект, который мы добавили, привносит больше частиц перед кораблем, огибает носовую часть, а затем распадается на что-то вроде проносящихся огней, что было недостижимо при оригинальной процессорозависимой системе. Так что нам пришлось использовать систему частиц графического процессора с тысячами точек, образующих частицы.

Изначально у нас был этот синий плазмаподобный эффек, но затем Крис захотел добавить больше цвета, так что мы добавили некоторые цвета шлейфов двигателей, которые мы интегрировали недавно.  Из тех, что мы используем для Мустанга или Фрилансера, например, вроде синеватого эффекта, смешанного с синей плазмой, или как на М50, где перемешаны желтоватый оранжевый и синий эффекты.

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

МА: Возвращаясь к тому, что представляет из себя квантовый двигатель, можно выделить две части. Первая относится к дизайну: Чего хотят дизайнеры, чего хочет Крис? Вопрос был в медленном ускорении и добавлении этой небольшой кривой, а затем выхода из нее. Мы игрались с различными инструментами и программами, чтобы вычислить всю задействованную математику. А вторая часть заключалась в том, что мы получили эту математику, рывок и его формулы. У нас есть куча страниц о том, как его просчитывать, что здорово, но ведь надо перевести это на язык игры. Это всегда непростая часть, но благо есть этот рывок, он постоянный, со своими ускорениями и скоростями, и мы знаем определенные части формулы, которые можем адаптировать для программного кода также по частям. Мы сделали это путем внедрения пяти фаз для квантового двигателя. Есть изначальный уклон, согласно которому вы разгоняетесь от нуля до этих условным 88 миль, которые мы заменим на разгон от вашей текущей скорости до форсажной, ибо теперь у нас есть форсажная скорость.

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

У нас есть все расчёты, все время, что тоже весело. Нам нужно, чтобы система была предсказуемой, т.е. если есть начальное и конечное время полета, то мы должны знать местоположение в любой момент. Нам нужно аналитическое решение, благо уже не первый год мы стараемся придерживаться Ньютоновской физики, что очень хорошо. И зная эти пять ключевых фаз, мы распределили их по дистанции. Так что, если мы знаем дистанцию, мы можем выяснить еще пару вещей. Мы можем вычислить фазу разгона, мы заем скорость, текущую скорость, мы знаем расстояние, которое преодолеем с ней. Мы можем вычислить расстояние, которое понадобится для максимального разгона и наоборот, так что мы откладываем круиз и у нас остается две вещи. Первая – если мы можем достигнуть максимальной скорости, то формула становится просто прекрасной, мы может просчитать все с лёгкостью. Но если мы не достигаем максимальной скорости, то все становится сложнее, так как нам, кажется, нужно решить полином четвертого порядка, это реально жесткая математика, я избавлю вас от деталей. Нам пришлось обойти это путем быстрого и кривоватого решения, чтобы убедиться, что производительность в порядке. Мы рассчитываем все дистанции, каждую из которых вам предстоит преодолеть, затем мы можем подсчитать время, затем все разделяем и сохраняем информацию, получая так называемый квантовый слепок. Таким образом мы вычисляем дистанцию, вычисляем где вы будете находиться в каждый момент времени, и на основании этого мы можем сказать, например, что вот в этот момент будет переход на фазу снижения скорости. А затем мы можем решить, что нужно вернуться назад, и наличие вот этого времени позволяет нам по желанию отматывать процесс вперед-назад. Во-первых, это важно для сетевой части. Во-вторых, если мы захотим захватить что-то для кинематографичного ролика, мы можем вернуться назад во времени. В итоге все выглядит просто и легко, при этом красиво, но у нас ушло довольно много времени на математику, на разделение системы, чтобы она работала в сетевой части, работала для мультиплеера, работала при кинематографичной камере, работала в роликах. Одно решение, которое работает во всех этих интересных режимах, так как оно основано на времени, мы можем гонять его вперед-назад, мы можем проигрывать эффекты в зависимости от положения на временной шкале, и все работает просто замечательно. Ушло очень много кофе на то, чтобы сделать это.

Заключение

КР: Как вы видели, понадобилось много настройки и сложной математики, чтобы заставить систему квантовых перелетов работать так, как мы хотим. Теперь у нас есть система, которая предоставляет более динамичный и вариативный игровой процесс для Альфы 3.0 и в дальнейшем.

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

КР: Ага, обязательно, и спасибо большое всем нашим бекерам за поддержку. Эта игра стала возможной лишь благодаря вашим преданности и энтузиазму, позволяющим нам создавать уникальную вселенную от первого лица. Так что спасибо вам большое.

СГ: Наконец, загляните на Счастливый Час разработки игры завтра в 8 утра по тихоокеанскому времени, чтобы посмотреть, как дизайнеры уровней Андреас Йоханнсон и Тобиас Йоханнсон строят наземный аванпост в прямом эфире.

КР: Ага, а они даже не родственники.

СГ: Нет, не родственники.

КР: Хотя одна фамилия.

СГ: Они и сидят рядом…

КР: До следующей недели и увидимся...

Во Вселенной!

H1rurg editor