Pull to refresh

Comments 39

«Как вы видите, на первый взгляд сцена представляет собой полный хаос, нельзя даже точно сказать, что мы видим, и это точно нельзя создать в сцене.» — очень старался, но так и не «осилил» это предложение.
Статью написал сам движок NMS.
Отличный перевод и статья, я единственное не понимаю, почему разработчики не додумались до такой идеи, как менять «волшебное число» генерации из перехода с одной галактики в другую, чтобы весь мир тоже менялся.
Я думаю, что менять параметры можно, однако слишком опасно: побочные эффекты могут проявиться из ниоткуда. Это же сильно нелинейная система — процедурный мир.
Подобных решений полно, только в геймдеве их применяют редко. В зависимости от сложности от них либо нет смысла, либо они слишком сложны.
из воспоминаний разработчиков — Elite была готова генерировать 32 млн звезд, но издатели попросили ограничить до 8к — так лучше видно «разнообразие».
ЗЫ. спасибо за сатью!
вообще там речь была про 8 галактик :) и в итоге те их миллионы никуда не делись, просто стали недоступны из стандартной игры. кстати, в нмс поступили похожим образом, только число галактик сделали 256 и не стали закольцовывать на начало списка отчего-то
Я думал, отреверсили и поняли почему оно так дико тормозит :)
Теперь всё это хорошенько смешать, и получится отличный инструмент для игроделов.
Можно будет сгенерировать сотни персонажей, и отобрать лучших для своей игры.
А если будет удобный инструмент создания правил генерирования, то персонажи разных игр даже не будут похожи друг на друга.
На самом деле такая технология была бы полезна для того, чтобы мир был менее «одинаковый». Когда игра надоедает, начинаешь присматриваться и начинает бросаться в глаза что все люди/животные/техника/здания/прочие_объекты вообще одинаковые. А так, было бы здорово, если все они отличались чуть-чуть — этот домик более ветхий; у этого статиста шрам на лице, а у этого ожег на руке и царапинка на шее; у того животного не хватает глаза и выдран клок шерсти, а у этого лапа в грязи; на той машинке помят бампер и поцарапано крыло, а на третьей у водителя на приборной панели целый иконостас; у одного охранника обычный АК, а у второго с примотанной тряпкой на прикладе и т.п.

Обычно такие элементы в играх жестко ограничены, а если бы генерировались рандомно, а не заранее намоделены были…
Помнится, вроде крайтек лет 10 назад обещали автогенерируемых персонажей, чтобы абсолютно все npc получались с разной внешностью. Так я этого и не дождался.
забавно, что сейчас Стар Ситизен делает именно это на том же движке, но даже они решили (на данном этапе), что лучше иметь примерно 20 «заготовок» лиц и добавлять к ним небольшие изменения.
Процедурная генерация — будущее для ОЧЕНЬ больших игр. (В той мере, в какой они будут нужны. Земля для миллиардов, город для миллиона).
Автор рассуждает об игре как о скринсейвере с рыбками.
UFO just landed and posted this here
На мой взгляд генерация ни разу не прорывная.Берем пять деталей и пытаемся слепить из них два ну совершенно разных существа, ага. Я уже обжегся с завышенными ожиданиями от генерации еще на spore Уила Райта (хотя как набор мини-игр в то время этот проект был действительно впечатляющим).

Я это все к чему — после крутых книг/фильмов о фантастике, после в ручную созданных рас в космических стратегиях (см stellaris) не получается верить что во вселенной могут быть только двух-четырехногие существа отличающихся парой лишних крыльев.
Все так, ничего особо революционного в нмс нет. Со Спорой сравнивали со дня релиза и не в пользу нмс, очевидно. Но самая беда нмс в том, что, скажем так, пропорции генератора выбрали неверно: взяли «крылья ноги и хвосты», тупо смешали погуще и вперед выпекать животин, как пирожки на конвейере. А не надо было давать такой частый выход фауны — люди не должны так часто видеть нечто настолько уникальное (теоретически), как формы жизни, а особенно — фауну. В результате всем это просто приелось и началось автоматическое сравнение и мозг человека волей-неволей стал замечать одинаковые «детали» всех этих франкенштейнов и отторгать мир игры.
Соглашусь. Процедурная генерация может быть неплоха как фон, но неспособна дать реальное разнообразие и интерес, ну или во всяком случае это требует огромного количества труда, как нарисовать очень много составных частей и подобрать всякие хитрые коэффициенты чтобы оно красиво смешивалось — зачастую это более трудоемко чем нарисовать нужное количество зверей/инопланетян вручную.

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

Процедурной генерацией все болели несколько лет назад, и мне казалось что уже переболели когда увидели ее ограниченность и так сказать «однообразное разнообразие».
Это не её ограниченность, а её реализации. Или подхода к генерации. Более тщательный и осмысленный подход должен исправить ситуацию. А пока большинство генераторов сделаны по принципу — рандом на входе, рандом на выходе. В лучшем случае с минимальным анализом результата (чтобы комнаты не пересекались в пространстве например).

Весь реальный мир по сути — процедурная генерация, и ничего, вполне играбельно ;)
Интересно, а как игра сшивает разные сетки? Если я правильно понял, то модель собирается из кучи их.
Думаю, что у вершин швов есть индексы, и швы просто соединяются соответственно им. Например, вершина 1 шва «шеи» соединяется с вершиной 1 шва «головы», и т.д. А вот автоматический скиннинг и анимации — это действительно сложно.
Я никогда не понимал, почему нельзя подключить всех желающих к такому проекту — дать им сырой движок и выбрать для каждого желающего сферу которую он будет там прокачивать, потом собрать результат и соединить все вместе. Фантазии тысяч желающих могло реализоваться в этой игре… А так они малым составом потеют и тужатся, чтобы впихнуть все в сжатые сроки, при этом выбрав для этого совершенно инновационную технологию построения игровой структуры.
Ответ прост — деньги. А то придется делиться с тысячами желающих.
UFO just landed and posted this here
Только в этом случае проект никогда не будет готов. Это же деятельность ради деятельности, а не ради результата. В этом нет ничего плохого, но для коммерческого продукта такой подход не подойдёт.

Другое дело, если уже после запуска игры дать игрокам инструменты и позволить делиться своими творениями. Ну то есть модостроение и прочие штуки никто не отменял. Может, разработчиками NMS стоило в эту сторону больше развивать игру — люди могли бы создавать свои планеты, звёздные системы и галактики )
Не смогли бы, проект не подразумевает даже минимальной «отсебятины» в мире, абсолютно все прибито генерацией, видимо они решили/поняли, что сервак не осилит такого.
Пришлось бы сильно переделывать движок, а в итоге получится средненькая игра-редактор моделек. Или вот как автор описанной в статье утилиты сделал, только данные будут храниться на сервере и доступны всем.
Но если ограничить игроков только существующими деталями конструктора (описанными в статье), то достаточно на сервере хранить seed для объекта, сгенерированного игроком, и тогда все другие игроки смогли бы получить тот же самый контент в результате генерации. Было бы интересно, мне кажется.

Ну да, это при наличии своего собственного и 100% детерминированного генератора рандома. Но, хотя я могу и ошибаться, это не выглядит непосильной задачей.
Все так, логично. Но вот даже такое они ниасилили, видимо. Иначе бы мультиплеер выкатили в момент релиза. Ключевое слово — хранить (на сервере). И непросто сказать, чем это для разрабов было сложнее хранения тупо текстовых строк, которыми являются кастомные названия. Предположу, что сложность тут в потенциальном объеме данных. Потому как любых названий не может быть больше объектов (а может даже и на это какой-то лимит есть, просто игроки уже никогда его не достигнут), а объектов, созданых людьми, может быть сколь угодно много.
сообщество начнет пилить существ с огромной скоростью даже бесплатно

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

А те кто хочет и умеет зачастую уже и так делают что-то свое, зачем им в чужое лезть?

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

Соглашусь что рассчитывать не стоит, но есть много игр в стиме где в мастерской много годных материалов.

Вы удивитесь, но людей, готовых бесплатно помочь в разработке игры, очень много. Для большинства — это возможность самоутвердиться — похвастаться друзьям, что они сделали свой вклад в крупный проект. Множество игроков вполне реально понимают, что они обычные потребители, и прикоснуться к миру игроделов, это мечта многих геймеров. К тому же это добавило бы популярности игре.
Все бы хорошо, но только не про эту конкретную игру. :) Как видно из статьи, замоддить в традиционном смысле можно всего несколько вещей: космонавта, которого все равно никто не видит, и несколько скриптовых объектов. А в движок все равно мододелов не пустят. Ну разве что кто-то отреверсит все целиком, включая сервак. Но кому теперь это нужно?
Мне кажется вы сильно недооцениваете сообщество. Зайдите на nexus mod, curse, steam workshop, etc. Посмотрите на minecraft, besiege и им подобные игры. Был бы инструмент, а «креативить» найдется кому.
Но посмотрите сколько модов для TESS и Fallout'a. Да, разнообразие своеобразное, но чего там только нет. А все из-за того (ИМХО), что разработчики сами предоставляют инструменты для создания модификаций. А это добавляет интереса к перепрохождению игры, как минимум.
А как быть с деньгами? Не платить «всем желающим» за разработку, но самим продавать готовый продукт и рубить бабло или официально нанимать как фрилансеров? В первом случае думаю не так много людей проявят альтруизм и выполнят профессиональную работу за спасибо. Во втором мороки вагон. Опять же сроки, контроль качества исполнения. А если в процессе будут фундаментальные изменения движка и придется править уже сделанные части, кто этим займется?
Можно, конечно, выпустить базовый набор и инструменты для клепания модов пачками, но опять же сначала нужно сделать что-то работающее и «вау, хочу купить», а потом уже моды.
Технически No Man’s Sky стала настоящим сокровищем

ну само собой, за 60 бачей-то, еще бы не сокровище… :3

нет, ну правда, за 10-20 денег игра бы вполне могла успешно выйти и продаваться, даже с учетом недостатков. может даже сейчас бы ее уже слегка допилили до заявленного (читай — домышленного наивными фанатами) состояния.
Тема частой генерации бегающих пиписек не раскрыта :)
Играл 10-15 часов. Судя по всему половина деталей и в правду зарезана, т.к. местный пререндеринг намного разнообразнее животных из игры.
Выводы — интересно почитать было. Всё остальное — в принципе, ни о чём.

Более того — это вообще можно называть процедурной генерацией лишь с большой-большой натяжкой. На самом же деле это ни что иное просто сборка моделей из частей с рандомом — подход далеко (и давно) не новый, применялся в куче игр за последние 10-15 лет.
Sign up to leave a comment.

Articles