Грибы офигенные %) и очень красивые морские коньки!
Животные тоже необычные — большие грибы без шляпок. Было трудно их заскринить, потому что они меня боятся и прыгают куда подальше.
у меня тоже были такие же! Только светлые — без ручек, а с ручками — темные, выглядели очень жутко. По скрину не поняла, они у тебя какого размера были? У меня здоровенные, явно выше и толще меня.
какая однополярная, не выселив гуннов и решив её поставить рядом с ними манхейм потерял бы её от гуннов. Поставь цитадель на юге в данный момент, где Гунны, советы и прочие плюса. НЦ не потащат свой каток для её защиты и её сольют гунны. Так что разговоры о однополярности не состоятельны.
Захватили Дельв, с советами давят весь юг, потом собираются в фонтан и далее на север. НЦ и Панды не победили гуннов, они даже на юг не поехали мешать их заселению.
Ещё ко всему, существует идея процедурного «сценариста». Она тут мелькает периодически в обсуждениях.
Нечейное небо страдает сразу от двух крайностей — из-за масштабов планет сложно наткнуться на интересное место, и чтобы наткнуться на другие интересные места — они утыканы частоколом по всей планете и постоянно повторяются.
Но в процедурных мирах без мультиплеера можно опираться не только на законы природы, но и на законы кинематографа.
Когда действие «провисает», можно влепить возле игрока интересное место или событие, которое потом больше никогда не встретится.
Ну и ещё важно не превращать это в аттракцион для слабоумных, как разработчики поступили с достижениями.
То что разработчики запороли эту идею, не значит что это сделать было невозможно.
Игроки могли бы получить то что навоображали, если бы у разработчиков было больше знаний естественных наук и воображения. Добавить широтность и высотность — и на планетах можно было бы дольше 5 минут сидеть. При триллионах планет никто бы и не заметил уменьшения вариативности.
Связать растения и животных в биомы, вписать в рандомайзер зависимость от температуры \ влажности \ освещенности. Генерить планету в несколько проходов, сначала высчитывая карты температур\влажности.
Идея довольно банальная, но почему-то её игнорируют. Чтобы игра была похожа на реальность, нужно выявить законы, которые определяют реальность. Особенно это касается процедурной генерации.
Какими словами можно говорить о крутой графике? Например, можно сказать, что проект делается на Unreal Engine или CryEngine. Можно сказать, что графика будет круче. В представлении игрока будут какие-то опорные точки.
А как описывать генератор? Слова вроде «18 квентиллионов планет» не говорят ни о чем. Разве что о том, что используется seed размером в 64 бита. Даже банальное «игра весит 6Гб» говорит гораздо больше.
Это не имеет отношения к реализации, это внешний фактор, представление входных данных.
Что на этих входных данных будет реализовано — банальная комбинаторика или крутой генетический алгоритм? Зависит от разработчика генератора.
На мой взгляд все все эти отличия не логические. Это, скорее, вопросы реализации.
Опять долго объяснять (тут без блоксхем и примеров трудно объяснить) — логика меняется при проектировании этих двух способов.
Если кто-то на ассемблере будет писать — кода много — это же не значит, что метод другой.
На ассемблере надо реально немного по другому думать.
оффтоп но. Логика меняется в зависимости от типа языка.
Функциональные, объектно ориентированные, еще какие то тысячи их не помню сейчас всю теорию… каждый подразумевает свою логику и принципы реализации задачи.
Весь этот хайпо-хейт возможно плоховато сказался на разработчиках.
Притянуло игроков, которые имеют совсем другие интересы, они ожидаемо вылили на игру и разработчиков свои тазики с отрицательными эмоциями.
Плюс там еще издатель, который, вероятно, торопил и вносил свои коррективы, а разрабы в итоге остались крайними.
В общем по человечески ребят жалко.
Надо иметь хорошую стойкость и волевые качества, чтобы после этого продолжать.
Вся надежда на модеров. Уже сделаны маленькие робкие шаги в этом направлении.
А если их не 10, а допустим 10000(00) (заполняем карту с планетами или поле с травами)?
Формально любое количество вызовов rand() можно свести к входным параметрам функции. Пусть у нас на вход подается массив из миллиона чисел, а генератор на основании этих чисел расставляет миллион травинок.
Как заполнить этот массив перед вызовом генератора?
Можно вызвать 1000000 раз настоящий рандом и заполнить.
А можно взять хороший генератор псевдослучайных чисел, проходящий все известные тесты, скормить ему одно 64-битное число в качестве сида, и заполнить им.
Да, формальная мощность второго генератора (жалких 18 квентиллионов) намного меньше, чем первого. Но для человека это не имеет значения.
На мой взгляд все все эти отличия не логические. Это, скорее, вопросы реализации. Если кто-то на ассемблере будет писать — кода много — это же не значит, что метод другой.
И кстати, можно задавать переменную, которая станет seed'ом псевдослучайной последовательности, которая используется дальше. И это тоже будет процедурной генерацией.
у меня тоже были такие же! Только светлые — без ручек, а с ручками — темные, выглядели очень жутко. По скрину не поняла, они у тебя какого размера были? У меня здоровенные, явно выше и толще меня.
Нечейное небо страдает сразу от двух крайностей — из-за масштабов планет сложно наткнуться на интересное место, и чтобы наткнуться на другие интересные места — они утыканы частоколом по всей планете и постоянно повторяются.
Но в процедурных мирах без мультиплеера можно опираться не только на законы природы, но и на законы кинематографа.
Когда действие «провисает», можно влепить возле игрока интересное место или событие, которое потом больше никогда не встретится.
Ну и ещё важно не превращать это в аттракцион для слабоумных, как разработчики поступили с достижениями.
Что-то в фильме я ее не помню
Игроки могли бы получить то что навоображали, если бы у разработчиков было больше знаний естественных наук и воображения. Добавить широтность и высотность — и на планетах можно было бы дольше 5 минут сидеть. При триллионах планет никто бы и не заметил уменьшения вариативности.
Связать растения и животных в биомы, вписать в рандомайзер зависимость от температуры \ влажности \ освещенности. Генерить планету в несколько проходов, сначала высчитывая карты температур\влажности.
Идея довольно банальная, но почему-то её игнорируют. Чтобы игра была похожа на реальность, нужно выявить законы, которые определяют реальность. Особенно это касается процедурной генерации.
Равно как и признавать-патчить косяки.
ИМХО, если бы авторы сразу признали косяки и назначили фич-лист «на реализацию», как тот же Жабейший, то негатива в отзывах было бы в 2-3 раза меньше.
А как описывать генератор? Слова вроде «18 квентиллионов планет» не говорят ни о чем. Разве что о том, что используется seed размером в 64 бита. Даже банальное «игра весит 6Гб» говорит гораздо больше.
Что на этих входных данных будет реализовано — банальная комбинаторика или крутой генетический алгоритм? Зависит от разработчика генератора.
На ассемблере надо реально немного по другому думать.
оффтоп но. Логика меняется в зависимости от типа языка.
Функциональные, объектно ориентированные, еще какие то
тысячи ихне помню сейчас всю теорию… каждый подразумевает свою логику и принципы реализации задачи.Притянуло игроков, которые имеют совсем другие интересы, они ожидаемо вылили на игру и разработчиков свои тазики с отрицательными эмоциями.
Плюс там еще издатель, который, вероятно, торопил и вносил свои коррективы, а разрабы в итоге остались крайними.
В общем по человечески ребят жалко.
Надо иметь хорошую стойкость и волевые качества, чтобы после этого продолжать.
Вся надежда на модеров. Уже сделаны маленькие робкие шаги в этом направлении.
генератору можно внутренний таймер тогда скармливать для простоты и надежности.
Формально любое количество вызовов rand() можно свести к входным параметрам функции. Пусть у нас на вход подается массив из миллиона чисел, а генератор на основании этих чисел расставляет миллион травинок.
Как заполнить этот массив перед вызовом генератора?
Можно вызвать 1000000 раз настоящий рандом и заполнить.
А можно взять хороший генератор псевдослучайных чисел, проходящий все известные тесты, скормить ему одно 64-битное число в качестве сида, и заполнить им.
Да, формальная мощность второго генератора (жалких 18 квентиллионов) намного меньше, чем первого. Но для человека это не имеет значения.
Но интересно ;-)
На мой взгляд все все эти отличия не логические. Это, скорее, вопросы реализации. Если кто-то на ассемблере будет писать — кода много — это же не значит, что метод другой.
И кстати, можно задавать переменную, которая станет seed'ом псевдослучайной последовательности, которая используется дальше. И это тоже будет процедурной генерацией.
Хотя сколько я позитивных видео от игроков пересмотрел, многих даже так все устраивало, не начинай оно повторятся через не так уж много игровых часов.
Касательно процедурной генерации космоса — SpaceEngine, выглядит и правда волшебно.