avatar
Однако. Удачно получилось.
avatar
Но это не отменяет того, что в той же NMS именно благодаря случайным сочетаниям переменных генерируются уникальные планеты.

Для владельца бесконечной вселенной важно то, как хранятся эти данные, потому что его мощности не бесконечны. Но для игрока, исследующего мир, важно то, что такой подход позволяет достичь большого разнообразия и непредсказуемости, дать чувство открытия. Потому что ты реально можешь быть первым, кто видит результат работы алгоритма и сочетания случайностей, в отличие от локации, которую стопроцентно сначала задизайнил какой-то человек. :)
avatar
Принципиальное отличие архитектурного решения с процедурной генерацией от классического — в том, что процедурно-генерируемой вселенной объективно не существует (если слово «объективно» применимо к виртуальным мирам). Миры WoW лежат, в виде байтов, на серверах WoW. Миры Линейки лежат на серверах Линейки. Играете вы в Линейку или не играете, — ей всё равно; набор данных, формирующих этот мир, существует независимо от вас. Если часть этих данных будет повреждена или утрачена — из мира вывалится его кусок, и вы неожиданно сможете оказаться на Краю Мира в самом буквальном смысле. Вселенная NMS не лежит нигде, её не существует вне игроков. Для каждого игрока вселенная NMS формируется индивидуально, персонально, в тот момент, когда он заходит в игру. Для игрока здесь важно то, что не происходит закачивания сотен мегабайт (или гигабайт) с сервера, клиент получает лишь формулу описания плюс «апдейт», описывающий изменения, внесённые кем-то в данном конкретном месте. Для авторов игры важно то, что им не приходится хранить чёртовы эксабайты данных, описывающих миллиарды миров, на каких-то физических серверах. Вот в этом контексте, как мне кажется, имеет смысл говорить, что какая-то игра является процедурно-генерируемой. А то, что с помощью процедурной генерации изготавливаются ландшафты, — это просто частное (одно из возможных) решений частной дизайнерской задачи. Я сам баловался этим в Unity, когда мне надоело вручную расталкивать булыжники и кусты по рельефу, но назвать мою поделку «процедурно-генерируемой» мне бы и в голову не пришло… Просто уточняю терминологию :)
avatar
Ну вот те, которые получили бан — те, что-то абузили и нарушали. А те, кто скипают пак мобов, пройдя вдоль стены в Подгнилье, те ничего не нарушают и не абузят.

Вы почему-то в кучу все мешаете. Гварды не агрятся — это одно. А пробежать где-то незаметно — совершенно другое. Сдоджить абилку эмиссари в Мифик+, спрятавшись за стенкой, — это геймдизайн такой. Если гвард должен агриться, но не агрится — явно что-то работает не так. А если ты просто обходишь мобов так, чтобы не попасть в рейндж агра — все работает нормально. Если механика игры такова, что сквозь текстуру нельзя бить заклинаниями, значит, это элемент игры, который я могу использовать. В WoW'е есть умения, которые по-другому даже и не пережить.

Я же не проход через кривые текстуры оправдываю. Повторяю в который раз — каждый случай нужно рассматривать отдельно. А не обсуждать чьи-то субъективные фантазии: «разработчики этого не предусмотрели, мобов просто так натыкали». Это вот кто решил — просто так они натыкали или умышленно?
avatar
Вот же блин! :) С таким я ещё не сталкивался. Получается, у нас с тобой для этого места две разных базы данных изменений, которые не синхронизированы. Полагаю, синхронизация случится, если мы будем присутствовать там одновременно. Интересно…
avatar
Тут у меня всё просто: какие бы соблазны не были заключены в моддинге (а там есть много вкусного, чего я давно жду от оригинала), я никогда не использую моды. Хотя бы по той причине, что если я рассказываю о каком-то месте во вселенной NMS, у людей должна быть возможность прилететь туда и увидеть то же самое. Игра с визуальными модами — это как рассказ от человека под грибами. То есть у него всё очень красиво, но видит это только он, или тот, кто захавает с ним абсолютно те же грибы. :)
avatar
Ситуация усугубляется тем, что создатели время от времени что-то «подпиливают» то ли в формулах генерации, то ли в других местах, но то, что очередное обновление может радикально преобразить знакомое вам когда-то место — факт.

Есть еще такая вещь, как модификации.
Некоторые модификации позволяют улучшить «процедурную генерацию», делают ее более красивой и разнообразной. Я сам раньше часто пользовался такими, поскольку игра реально становится красивее. К сожалению, у них есть два серьезных минуса. Они меняют процедурное зерно, так что у игроков с отсутствующей модификацией база видится как глубоко под землей или где-то в небесах. И они ломаются при новом патче. А значит, базу забрасывают.
avatar
очень интересная тема!
avatar
На ММОзге, как мне кажется, сложилось слегка искажённое мнение о процедурной генерации как о чём-то, имеющем отношение к случайности.

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

Но когда игрок вносит изменения в сгенерированный ландшафт, эти изменения сохраняются в классическом виде «базы данных», объём которой, действительно, ограничен.

Да, это я тоже прекрасно понимаю. Как и необходимость ограничить объём хранящихся на сервере данных. Проблема в том, что когда эти значения достигают предела, начинается ерунда. Впрочем, в моём случае причиной, кажется, стало переключение языков, которое как-то влияет на файл сохранения. Я и при подготовке предыдущей заметки увидел, что с переключением на русский начала происходить какая-то ерунда, но быстрое возвращение на оригинальный язык в тот раз как-то уберегло меня от долгосрочных проблем (хотя и вынудило перестраивать взлётные площадки). В этот раз мне нужно было проверить русскоязычные названия некоторых игровых сущностей, и я снова переключился. После этого холм в районе солнечной фермы стал практически неубираем. То есть его можно снова убрать, но сохранение это не запоминает. Достаточно отлететь недалеко или перезагрузить игру — и снова холм.
avatar
О, это интересно. А давай проверим! Вот так портал возле твой базы на Шекли сейчас вижу я:

Вообще, это очень полезный эксперимент в любом случае. Спасибо. Я потихоньку собираю данные для следующей серии «Как устроен мультиплеер в No Man's Sky». Проверил. Увы, у меня ничего:

avatar
Забавно, что мой маяк на Eykjav, который теперь Herbert, всё ещё стоит, хотя открывателем планеты теперь считается Darqsat. Процедурная генерация в действии XD

Первооткрыватель тот, кто внёс открытие в серверный каталог. Я намеренно этого не делал, потому что после внесения в каталог нельзя переименовать.
avatar
брр, не пишите комментарии до утреннего кофе, чтоб потом не краснеть за тысячу опечаток :(
avatar
А я всегда говорил, что банхаммер — лучшее решение в таких ситуациях. Это грубо, но эффективно снижает процент тех, кто захочет даже просто ради интереса попробовать.
avatar
Это исследование игры и изучение тонкостей механики. Найти маршрут, пропустить патруль — этому нужно учиться.
Ахаха, серьезно? Потому что я вот прям вчера читала тему на форуме вова, насчет того, что если ты запрыгиваешь на крышу таверны (отмечу сразу, запрыгиваешь совершенно игровым способом, никаких читов и прочего), так, что ты добиваешь до игроков, а гварды на тебя на агрятся, то это бан.
Да-да-да, исследовал игру, изучил тонкости механики, нашел место, где гварды тебя не видят — получи бан.

Близы в курсе, да. Не фиксят и не поощряют, а банят.

Кстати, а те парня, которые убили Лича, использую саронитовые бомбы, разве не получили за свои игры с механикой?
avatar
что то эти подробности о «процедурной генерации» меня расстроили немного…
avatar
О, это интересно. А давай проверим! Вот так портал возле твой базы на Шекли сейчас вижу я:

А ты?
Я положил кусок герокса в контейнер, который на первом этаже, за голографической дверью. Для тебя он существует?
Забавно, что мой маяк на Eykjav, который теперь Herbert, всё ещё стоит, хотя открывателем планеты теперь считается Darqsat. Процедурная генерация в действии XD
avatar
Проблема немного глубже и принципиально неустранима. На ММОзге, как мне кажется, сложилось слегка искажённое мнение о процедурной генерации как о чём-то, имеющем отношение к случайности. На самом деле это не так. Процедурная генерация — это воссоздание контента по неизменной, отлитой в металле формуле, и смысл её существования не в том, чтобы вносить в мир разнообразие, а в том, чтобы не засорять оперативную память и каналы клиента данными миллиардов ячеек базы данных, в которых хранится описание этого контента. Именно неизменность формулы генерации обеспечивает то, что для двух игроков, находящихся в одном месте, это место будет выглядеть одинаково. Но когда игрок вносит изменения в сгенерированный ландшафт, эти изменения сохраняются в классическом виде «базы данных», объём которой, действительно, ограничен. Если бы он не ограничивался, это помножило бы на нуль все неоспоримые плюсы архитектуры процедурной генерации. Попытка скрестить ежа с ужом привела к созданию интересных механизмов, когда движок игры пытается «анализировать» степень случайности внесённых изменений. Выкопайте яму возле базы — она «затянется» довольно скоро, при условии, что вы не будете её больше трогать. Когда я строил свою первую базу, практически ничего не зная про NMS, я решил срезать холм для размещения посадочной площадки. Борьба с игрой, пытающейся восстановить этот холм, заняла у меня примерно неделю, пока игра не сдалась и не перестала заваливать мою площадку тоннами грунта. Но это было тогда, когда на базе я присутствовал достаточно часто. Недавно я вновь решил посетить это место спустя примерно два месяца после последнего визита. Угадайте, что я увидел? :)
Ситуация усугубляется тем, что создатели время от времени что-то «подпиливают» то ли в формулах генерации, то ли в других местах, но то, что очередное обновление может радикально преобразить знакомое вам когда-то место — факт. В своих скитаниям по странным местам мне приходилось натыкаться на довольно большие застроенные игроками площадки, полностью погребённые в грунте. Хуже того, если вы захотите покопаться в вики-ресурсах, вы можете обнаружить, что там полно описаний и скриншотов из мест, которых больше не существует. Читаешь в описании системы «6 планет», прилетаешь туда — а планеты четыре… Такие дела.
avatar
Я считаю, решение проблемы состоит в том, что авторы игры должны адаптировать игроков под свой мир. И тогда даже самые казалось бы деструктивные игроки, чьи поступки только разрушают гармонию и атмосферу игры, станут органической частью этой виртуальной вселенной. Нужно вписать игроков в игру, точно также как сейчас разработчики вписывают в нее неписей.
.
Привожу конкретный пример. Все знают про существование такой «токсичной» категории игроков, как ганкеры и ПК. Которые своим поведением мешают погрузиться в атмосферу игры и полноценно ей наслаждаться. Однако, что если ганкеры и ПК станут… частью этой атмосферы?
Допустим, разработчики создали ММОРПГ «Ведьмак онлайн». Почему бы в этой вселенной не дать ПК и ганкерам роль призраков? В рамках лора этой вселенной призраки могут функционировать только: ночью, в кромешной темноте подземелий или в особых нечистых местах, вроде кладбищ, заброшенных капищ и др.
ПК могут удовлетворить свою «тягу» к убийству других игроков, но только в роли призрака. В особое время и в особых местах. Дневной же свет делает их полностью бессильными или вообще убивает. В результате ПК своим существованием и действиями не разрушает атмосферу игры, а совсем наоборот наполняет ее.
Игрокам в этой вселенной нужно опасаться не шаблонных мобов, завывающих на споте, а вполне реальных, обладающих человеческим разумом и, соответственно, сложным поведением, призраков-игроков. И вот уже декорации ожили. Мы играем в живых декорациях, мы наслаждаемся глубокой атмосферой игры.
.
И совсем не важно, считают ли себя при этом ганкеры и ПК призраками. Входят ли они в эту роль или действуют чисто технично, болтая у себя по скайпу о своей семье или погоде. Эта роль — роль призрака — стала их кожей, они полностью срослись с этой «кожей». Остальные игроки не слышат их трепа по скайпу, не видят их дурацких имен в игре. Они видят страшного призрака на кладбище, охотящегося ночью на людей.
avatar
Ну вот возьмем тот самый WoW. Не Классик, а актуал. Каждый данж проработан до миллиметра. И если где-то можно аккуратно пробежать, скипнув мобов — это не срезание углов. Это исследование игры и изучение тонкостей механики. Найти маршрут, пропустить патруль — этому нужно учиться.

И додж заклинаний за уголочком — это тоже никакая не «непредусмотренная возможность». Близзы об этом прекрасно осведомлены. Если что-то в данже работает неправильно, они это фиксят. А все остальное применяется даже на MDL — и скипы, и эвейды, и дез-раны. Это творческая свобода. Люди играются с механикой — пробуют, тестируют, планируют. Разработчики это поощряют, т.е. это заложено в ту самую логику мира. Это не дарит никакого ощутимого преимущества, не дарит никакого господства, зато делает процесс разнообразнее и интереснее.
avatar
Нет, я не спорил с нарушением логики. То есть, описанная здесь логика нарушается. Тут сложно с чем-то спорить.