Тебе повезло, что ты оказался с Колыбелью по одну сторону от Ядра. Как я уже замечал ранее, окажись ты по другую сторону Ядра, возможность достижения Колыбели осталась бы, скорее всего, гипотетической.
Вопрос, действительно, без рамок, поэтому начну с сугубо личного. В этом году я окончательно осознал, что наигрался. Я больше не ищу игр. Ищу место для жизни. В процессе поисков я наткнулся на mmozg.net, и вот это я могу назвать моим личным открытием 2019 года :) Нет, это не попытка кому-то польстить, просто внутренняя оценка. Здесь я узнал о таких проектах, как Book of Travel и Occupy White Walls. В силу специфики своих предпочтений, думаю, что я никогда не узнал бы о них просто из «интернета». Я никогда в них не зайду. Просто потому, что я, как упомянул выше, уже не ищу приключений, а ищу место для жизни. Но то, что я узнал об их механиках и геймплее, меня очень вдохновляет. То, что находятся люди, которые задумываются о таких вещах, прекрасно само по себе. Но ещё лучше то, что это не просто абстрактные идеи, а нечто воплощённое. Ничего не возникнет оттого, что кто-то об этом мечтает. Нужно просто начать делать. Неважно, станут ли эти проекты популярными; неважно, сколько денег их авторы на этом заработают. Важно, что это реализовано. Пока одни мечтают, другие нарабатывают компетенции, накапливают опыт реализации. И это бесценно. Уверен, что когда-нибудь эти наработки пригодятся в том мире, который я найду себе для жизни. Я был бы счастлив устроить в своём виртуальном доме картинную галерею :)
В 2019 году я наконец-то (и тоже благодаря MMOzg'у) решился приобщиться к трём проектам, которые давно лежали в моих «хотелках» и ждали лишь маленького пинка, чтобы реализоваться. Это No Man's Sky, Star Citizen и Elite: Dangerous. Ну и? Я доволен :) Стоило сделать это раньше. Нет, они не перевернули мою жизнь, но, определённо, добавили в неё новых красок.
В 2019 году мне стало очевидно, что Project Genom, на который я возлагал очень большие надежды, умер окончательно. И это главное моё огорчение уходящего года. Ну, что ж… c'est la vie.
Идея номинаций мне не очень близка, как и вообще все идеи шоубиза :), но для создания атмосферы — почему бы и нет?
Итаааак!!!
1. В номинации "R.i.P." побеждает Project Genom!
2. В номинации "А что, так можно было?" на пьедестале балансируют Book of Travel и Occupy White Walls!
3. В номинации "Я буду ждать тебя вечно" фаворит Star Citizen!
Аплодисменты, господа и дамы!
Пока я раздумывал, не запилить ли мне обзор по юбилею, Атрон уже взял и сделал :) И это прекрасно. Элита была специфическим продуктом 35 лет назад, остаётся таковым и по сей день. Но 35 лет назад требовалось за точками, цифрами и 16-цветной (в основном, чёрно-белой) каркасной графикой вообразить Космос, Великий и Ужасный, что, конечно, было не каждому интересно. А сегодня это больше для любителей симуляторов, нежели для любителей… гм… всего остального. Вот у вас, например, есть знакомый, который может 10 часов лететь из Москвы в Нью-Йорк в Microsoft Flight Simulator? У меня — нет… кроме себя, любимого XD Словом, Элита обречена, простите за каламбур, на элитарность; это продукт для тех, для кого наблюдение чёрного через стекло кокпита — процесс самоценный и самодостаточный. Для этих странных аутичных персонажей проект предоставляет тонны контента, позволяющего погрузиться во Вселенную так глубоко, что становится трудно вынырнуть. Чувствую, Fuel Rats ждут меня. Чувствую — это неизбежно :)
Я изиняюсь, но изменения уже сгенерировано мира должны храниться на сервере, иначе получится дичь.)
Об этом и речь, хотя держать базу изменений на сервере — всего лишь наипростейшее решение; существуют и другие. Hello Games решили к стройному зданию процедурной генерации пристроить балкончик с изменяемым «вещным» миром — от текстур до ассетов. Отсюда все проблемы, потому что это фундаментально разные подходы, противоречащие друг другу по своей природе. Если посмотреть на классическую процедурно-генерируемую игру — Elite (хоть классику, хоть Dangerous) — там таких косяков не может вылезти в принципе, потому что та вселенная девственно чиста: ничего «вещного» игрок там не создаёт, никаких изменений в окружение не вносит, а потому и чего-то сохранять или синхронизировать нет нужды.
Синхронизация в пределах базы сомнений не вызывает. Если бы этого не было — я бы назвал это ужасным косяком разработчиков. Думаю, что одним из маркеров, по которым движок определяет неслучайность изменений, является искусственность объекта. Созданная игроком постройка — искусственный объект. Уверен, ты видишь мой маяк на Герберте, хотя он расположен не на базе. Я тоже вижу твою коммуникационную станцию на Шекли, хотя она расположена не на базе. А вот натыканных мною возле портала сбоев не видит, вероятно, никто, кроме меня, потому что они объекты «естественные». Я не создавал их, они изначально были частью этого мира, просто я перенёс их из другого места вселенной на Шекли. Вырытая мной яма тоже, скорее всего, не будет видна другим игрокам. «Вырыть другому яму» здесь не получится XD. Это всё интересно, но гораздо больше меня занимает другое: как, в таком случае, реализуется здесь мультиплеер? Если я правильно догадываюсь, в рамках общей игровой сессии должен быть реализован некий «пузырь реальности», любые изменения в пределах которого должны быть синхронизированы между всеми участниками этой сессии. Если это не так — здравствуй, геморрой…
Принципиальное отличие архитектурного решения с процедурной генерацией от классического — в том, что процедурно-генерируемой вселенной объективно не существует (если слово «объективно» применимо к виртуальным мирам). Миры WoW лежат, в виде байтов, на серверах WoW. Миры Линейки лежат на серверах Линейки. Играете вы в Линейку или не играете, — ей всё равно; набор данных, формирующих этот мир, существует независимо от вас. Если часть этих данных будет повреждена или утрачена — из мира вывалится его кусок, и вы неожиданно сможете оказаться на Краю Мира в самом буквальном смысле. Вселенная NMS не лежит нигде, её не существует вне игроков. Для каждого игрока вселенная NMS формируется индивидуально, персонально, в тот момент, когда он заходит в игру. Для игрока здесь важно то, что не происходит закачивания сотен мегабайт (или гигабайт) с сервера, клиент получает лишь формулу описания плюс «апдейт», описывающий изменения, внесённые кем-то в данном конкретном месте. Для авторов игры важно то, что им не приходится хранить чёртовы эксабайты данных, описывающих миллиарды миров, на каких-то физических серверах. Вот в этом контексте, как мне кажется, имеет смысл говорить, что какая-то игра является процедурно-генерируемой. А то, что с помощью процедурной генерации изготавливаются ландшафты, — это просто частное (одно из возможных) решений частной дизайнерской задачи. Я сам баловался этим в Unity, когда мне надоело вручную расталкивать булыжники и кусты по рельефу, но назвать мою поделку «процедурно-генерируемой» мне бы и в голову не пришло… Просто уточняю терминологию :)
Вот же блин! :) С таким я ещё не сталкивался. Получается, у нас с тобой для этого места две разных базы данных изменений, которые не синхронизированы. Полагаю, синхронизация случится, если мы будем присутствовать там одновременно. Интересно…
О, это интересно. А давай проверим! Вот так портал возле твой базы на Шекли сейчас вижу я:
А ты?
Я положил кусок герокса в контейнер, который на первом этаже, за голографической дверью. Для тебя он существует?
Забавно, что мой маяк на Eykjav, который теперь Herbert, всё ещё стоит, хотя открывателем планеты теперь считается Darqsat. Процедурная генерация в действии XD
Проблема немного глубже и принципиально неустранима. На ММОзге, как мне кажется, сложилось слегка искажённое мнение о процедурной генерации как о чём-то, имеющем отношение к случайности. На самом деле это не так. Процедурная генерация — это воссоздание контента по неизменной, отлитой в металле формуле, и смысл её существования не в том, чтобы вносить в мир разнообразие, а в том, чтобы не засорять оперативную память и каналы клиента данными миллиардов ячеек базы данных, в которых хранится описание этого контента. Именно неизменность формулы генерации обеспечивает то, что для двух игроков, находящихся в одном месте, это место будет выглядеть одинаково. Но когда игрок вносит изменения в сгенерированный ландшафт, эти изменения сохраняются в классическом виде «базы данных», объём которой, действительно, ограничен. Если бы он не ограничивался, это помножило бы на нуль все неоспоримые плюсы архитектуры процедурной генерации. Попытка скрестить ежа с ужом привела к созданию интересных механизмов, когда движок игры пытается «анализировать» степень случайности внесённых изменений. Выкопайте яму возле базы — она «затянется» довольно скоро, при условии, что вы не будете её больше трогать. Когда я строил свою первую базу, практически ничего не зная про NMS, я решил срезать холм для размещения посадочной площадки. Борьба с игрой, пытающейся восстановить этот холм, заняла у меня примерно неделю, пока игра не сдалась и не перестала заваливать мою площадку тоннами грунта. Но это было тогда, когда на базе я присутствовал достаточно часто. Недавно я вновь решил посетить это место спустя примерно два месяца после последнего визита. Угадайте, что я увидел? :)
Ситуация усугубляется тем, что создатели время от времени что-то «подпиливают» то ли в формулах генерации, то ли в других местах, но то, что очередное обновление может радикально преобразить знакомое вам когда-то место — факт. В своих скитаниям по странным местам мне приходилось натыкаться на довольно большие застроенные игроками площадки, полностью погребённые в грунте. Хуже того, если вы захотите покопаться в вики-ресурсах, вы можете обнаружить, что там полно описаний и скриншотов из мест, которых больше не существует. Читаешь в описании системы «6 планет», прилетаешь туда — а планеты четыре… Такие дела.
Хотел дополнить твой ландшафтный дизайн несколькими сбоями, но, поскольку строительство гостям не разрешено, воткнул их возле портала. Буду рад, если найдёшь им применение. И да, с электричеством у тебя проблемы :) Ночью всё тухнет довольно надолго…
Дьявол, как всегда, скрывается в деталях. Лотерея как идея вполне себе нейтральна, и негативную/позитивную окраску начинает приобретать в зависимости от реализации. Могу привести в качестве примера Revelation, где в рамках одного проекта были реализованы два вида лотереи, очень чётко эту разницу в подходах иллюстрирующие. В одном случае несколько раз в год устраивалась классической механики лотерея, где каждый купленный билет давал право крутануть барабан, указывающий на какой-нибудь выигрыш. Проблема там была одна: в качестве выигрыша предлагались, в том числе, предметы, дающие игровое преимущество, для получения которых ингейм требовалось затратить много времени и усилий. А поскольку основная масса билетов распространялась за реальные деньги, получался классический пэйтувин. С другой стороны, была еженедельная развлекуха в Парке аттракционов, которая являлась, по сути, тоже лотереей, хотя и с несколько нестандартным механизмом. Но, поскольку ничего, дающего существенное игровое преимущество, там не разыгрывалось, и нельзя было «крутить этот барабан» бесконечно, воспринималась она гораздо более позитивно. Кроме того, это было реально весело. Я, бывало, заходил в свой выходной в Реву только ради того, чтобы пробежаться по Парку. Так что «потенциальный источник проблем», как обычно, обнаруживается в головах разработчиков :)
Мессидж статьи разделяю, поэтому плюс. Но, как человек текста, замечу, что к аргументации стоило бы отнестись… гм… аккуратнее. Начиная с лошадки, которая, если что, везёт кокаин, и заканчивая хотя бы международным гуманитарным правом. На кой тут вспоминать писанные людьми законы? До ООН была Лига наций со своим гуманитарным правом, и Вторую мировую она предотвратить не смогла. Нравственность над любым законом. Если речь о нравственности, аргументы нужны другие. Мушкетёры в этом смысле слабоваты… :) Но тема хорошая. Ценю ММОзг за то, что здесь говорят об этом вслух.
В 2019 году я наконец-то (и тоже благодаря MMOzg'у) решился приобщиться к трём проектам, которые давно лежали в моих «хотелках» и ждали лишь маленького пинка, чтобы реализоваться. Это No Man's Sky, Star Citizen и Elite: Dangerous. Ну и? Я доволен :) Стоило сделать это раньше. Нет, они не перевернули мою жизнь, но, определённо, добавили в неё новых красок.
В 2019 году мне стало очевидно, что Project Genom, на который я возлагал очень большие надежды, умер окончательно. И это главное моё огорчение уходящего года. Ну, что ж… c'est la vie.
Идея номинаций мне не очень близка, как и вообще все идеи шоубиза :), но для создания атмосферы — почему бы и нет?
Итаааак!!!
1. В номинации "R.i.P." побеждает Project Genom!
2. В номинации "А что, так можно было?" на пьедестале балансируют Book of Travel и Occupy White Walls!
3. В номинации "Я буду ждать тебя вечно" фаворит Star Citizen!
Аплодисменты, господа и дамы!
А ты?
Я положил кусок герокса в контейнер, который на первом этаже, за голографической дверью. Для тебя он существует?
Забавно, что мой маяк на Eykjav, который теперь Herbert, всё ещё стоит, хотя открывателем планеты теперь считается Darqsat. Процедурная генерация в действии XD
Ситуация усугубляется тем, что создатели время от времени что-то «подпиливают» то ли в формулах генерации, то ли в других местах, но то, что очередное обновление может радикально преобразить знакомое вам когда-то место — факт. В своих скитаниям по странным местам мне приходилось натыкаться на довольно большие застроенные игроками площадки, полностью погребённые в грунте. Хуже того, если вы захотите покопаться в вики-ресурсах, вы можете обнаружить, что там полно описаний и скриншотов из мест, которых больше не существует. Читаешь в описании системы «6 планет», прилетаешь туда — а планеты четыре… Такие дела.