Процедурная генерация | Elite Dangerous

Процедурная генерация - это метод программирования компьютерных игр, в котором контент или мультимедиа создаются с помощью определенных, заранее заданных алгоритмов. Обычно это достигается путем использования генерации псевдослучайных чисел с начальным числом и набора правил для создания желаемого контента. Более сложные методы используются в системе под названием Stellar Forge из Elite Dangerous. Она основана на конкретных правилах и науке приправленное некоторыми дизайнерскими решениями. Изменение достигается путем параметризации алгоритмов. Это похоже на то, что фильтры Photoshop и модификаторы 3ds Max напрямую встроены в игровой движок.

Генерация систем в Elite Dangerous формируется из некоторых принципов. Тела постепенно агрегируются в течение очень длительного времени моделирования из доступного вещества с учетом его химического состава. В зависимости от момента импульса, они могут начать формироваться в одно тело или в несколько ко вращающихся тел.

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

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

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

Все вышеперечисленные процессы основаны на принципах Elite: Dangerous, называемых Stellar Forge, для почти всех 400 миллиардов звездных систем.

Процедурная генерация | Elite Dangerous

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

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

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

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

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

Процедурная генерация | Elite Dangerous

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

Я использую «технический» в самом широком смысле этого слова, имея в виду кого-то, кто очень интересуется техникой, определяемой как процедуры, создаваемые при выполнении сложной задачи. Это не обязательно означает, что задача должна быть научной или технологической. Техника в равной степени относится и к математической теории графов и к практическим методам бросания глиняного горшка. Художник и инженер одинаково технические.

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

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

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

Процедурная генерация | Elite Dangerous

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

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

В целом процесс процедурной генерации систем можно разделить на несколько частей.

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

Часть 2: Рендеринг планетарных тел. 2 Часть объясняет, как визуализировать планетарные тела в натуральную величину на любом уровне детализации.

Часть 3: Вопросы масштаба. В части 3 показывается, как расширить концепции, обсуждаемые в частях 1 и 2, для создания звездной системы, заполненной планетными телами, галактикой звездных систем и, в конечном счете, целой вселенной галактик. Также в нем определяется проблемы с масштабом и системой отсчета, с которыми можно столкнуться в действительно больших игровых мирах.

Часть 4: Планетарные текстуры. Часть 4 объяснит процедурное создание текстурных карт. Для большой модели создание нескольких слоев текстур может быть лучшим способом справиться с совершенно разными уровнями детализации.

Процедурная генерация | Elite Dangerous

Данное видео затрагивают лишь малую часть темы. А стоит ли мне сконцентрироваться на ней в следующих видео зависит от вашей активности.

Также заходите в нашу группу ВК в которой публикуются анонсы и новости игровой индустрии:

3838
34 комментария

Стар Ситизен собрал 300млн$ и чего достигла Элита за это время?

Комментарий недоступен

27

Комментарий недоступен

1

А чего не в подсайте про Элиту? По правилам не прошел?

Боится, а вдруг забанят 

3