Мы их тут критикуем что игра не вышла. А они нас убеждают что это не техдемо. Но по сути, они как раз провели громадную работу в технологиях, но не дотянули геймплей.
Понимаешь. Это как с любыми затерянными в истории технологиями — тысячи их — которые забыты не потому, что они плохие, а потому что с ними не смогли справиться нормально, или какой-нибудь сторонний фактор помешал, или рынок не готов был, или просто конкурирующая технология была просто первой.
Да к тому, что это какой-то локальный парадокс Ферми — если всё так просто, возможно и уже даже запрототипированно, то где же все эти десятки-сотни игр на процедурной генерации, которые сэкономили разработчикам сотни нефти и человекочасов? :)
Больше похоже на то, что у них в команде никто не увлекался географией, и никому даже в голову не пришло усложнять первичную генерацию.
Ну вот я слышал жалобы, что летать между системами (когда генерится новая) долго, мол могли бы и побыстрее. Наверное не могли, и наверное потому планеты такие простые и однообразные, чтоб процесс их создания не затягивался.
Я не думаю, что речь в производительности, скорее в ресурсах разработчика.
Это тот парадоксальный момент, когда процедурная генерация как бы должна заменить тысячи часов ручного труда, а вместо этого сама занимает примерно то же время на создание, при этом даёт гораздо менее предсказуемые результаты.
Касательно процедурной генерации космоса — SpaceEngine, выглядит и правда волшебно.
Но там нет и половины того, что есть в НМС. Есть другая добрая часть того, чего нет в НМС, но Спейс Энджин ещё меньше игра, чем НМС.
Вот ты сгенерировал планету предположим с пятьюдесятью параметрами, в отличие от десяти. теперь тебе придётся генерировать весь контент на планете, беря в учёт все эти 50 параметров, иначе придёт какой-нибудь придирчивый игрок и скажет — а почему радиация на планете не влияет на распределение радиоактивных ресурсов? Или там ещё придумает что-нибудь вроде — а зачем глаза животным на тёмной планете? Или ещё что-нибудь такое, что разрабы просто не предусмотрели. Всегда найдётся что-нибудь, чего в этой игре нет. Но чем больше мы добавляем параметров, тем больше таких нюансов надо предусмотреть, тем дольше время разработки, шире бюджеты, и что самое поразительное — требования игроков.
Аааа окей, я перечитал и понял твой трюк. Только это будет работать, если ты не даёшь никакую информацию о системе заранее, например тип звезды, наличие планет и так далее. И как правильно заметил Шкуурник, это можно провернуть только с непосещёнными системами.
То есть ты узнаешь куда он полетит только когда он решит уже полететь и сможешь начать генерацию только в этот момент. До того, как он решил лететь, ты не сможешь предугадать это, а значит не сможешь начать генерацию, когда он майнит на планете ресурсы например.
Конечно, если ты сделаешь линейную игру, где есть всего один выбор — вперёд, ты точно знаешь куда он полетит дальше и сможешь генерировать на бэкграунде.
Я понимаю что всё это возможно. Я видел генератор на джаве прямо в браузере, которые делает географию на основе литосферных плит. Он даже немного атмосферу симулирует с разными поясами, ветрами и прочим. Видел алгоритм, который хорошо генерирует распределение температуры по широтности и влажность по векторному полю ветров, с ветровой же тенью от гор, в которой должны быть пустыни. Видел алгоритм, который правдоподобные реки генерирует с итерацией водной эрозии (кстати пасфайндинг обычно — самая ресурсоёмкая часть, а ещё есть проблема когда он натыкается на локальный минимум и надо создать здесь озеро), видел генератор, который наоборот от моря идёт вверх по локальным минимумам с вероятностью ветвления, видел генератор, который генерирует сначала реки по L-system, а на их основе уже создаёт правильный ландшафт (что кстати не лишено смысла).
Я только не видел никогда чтоб это всё вместе было, с быстрой генерацией, да ещё и на сфере, на которую красиво двумерную матрицу не натянешь, но в которой всё можно очень компактно хранить. Сфера вообще самая противная часть — её затайлить нельзя, а если будешь сшивать из квадратов или шести-пятиугольников, то надо как-то компенсировать возникающие при преобразовании в сферу артефакты. Ну или хранить случайный массив точек, который ещё надо придумать как сжимать для создания LOD. Бррррр короче :)
Хм, так значит у них генераторы проецируются сначала на куб, который преобразуется в шар. Это значит что в некоторых регионах плотность просто математически выше, чем в других. Забавный артифакт :)
Ну вот смотри. Значит их внешний вид зависит от внешних условий, и это заметил только наблюдательный ты, а все остальные не заметили и отругали игру за однообразие. Показательно.
Да нет же. Основной геймплей, как верно заметил Ascend, заключается лишь в расширении инвентаря.
Собственно это я и имел ввиду.
Ну вот я слышал жалобы, что летать между системами (когда генерится новая) долго, мол могли бы и побыстрее. Наверное не могли, и наверное потому планеты такие простые и однообразные, чтоб процесс их создания не затягивался.
Вот ты сгенерировал планету предположим с пятьюдесятью параметрами, в отличие от десяти. теперь тебе придётся генерировать весь контент на планете, беря в учёт все эти 50 параметров, иначе придёт какой-нибудь придирчивый игрок и скажет — а почему радиация на планете не влияет на распределение радиоактивных ресурсов? Или там ещё придумает что-нибудь вроде — а зачем глаза животным на тёмной планете? Или ещё что-нибудь такое, что разрабы просто не предусмотрели. Всегда найдётся что-нибудь, чего в этой игре нет. Но чем больше мы добавляем параметров, тем больше таких нюансов надо предусмотреть, тем дольше время разработки, шире бюджеты, и что самое поразительное — требования игроков.
Эдакая Uncanny Valley для планет, хехехе
Конечно, если ты сделаешь линейную игру, где есть всего один выбор — вперёд, ты точно знаешь куда он полетит дальше и сможешь генерировать на бэкграунде.
Я только не видел никогда чтоб это всё вместе было, с быстрой генерацией, да ещё и на сфере, на которую красиво двумерную матрицу не натянешь, но в которой всё можно очень компактно хранить. Сфера вообще самая противная часть — её затайлить нельзя, а если будешь сшивать из квадратов или шести-пятиугольников, то надо как-то компенсировать возникающие при преобразовании в сферу артефакты. Ну или хранить случайный массив точек, который ещё надо придумать как сжимать для создания LOD. Бррррр короче :)