Наложить это на генератор с богатой логикой и мы получаем именно то что любой игрок хочет от мира - потрогать, посмотреть, покусать предмет.
Дык в этом и фишка, что все эти "потрогать-покусать" -- это НЕ сюжет. Генерировать разнообразие наполнения рандомом -- это не сложно и не страшно, но ради самоцели в cRPG, имхо, совсем не годится (сам же понимаешь, что мало народу заинтересуется). Наполнение генерировать -- это для песочниц а-ля Minecraft, вот там это вопрос первостепенный.
Речь идёт именно о том, чтоб генерировать сюжет -- последовательность событий, ведущего очередного безвестного избранного от убиения крыс за кусок хлеба до спасения мира (если мы возьмём клише фентези). И о том, чтоб "строительные кирпичи" для этого -- минимизировать настолько, насколько это практически возможно.
Я поясню на практическом примере, пожалуй.
Вот есть у нас cRPG с прописанным сюжетом. И решили мы добавить "нелинейности" и представить некий ключевой момент в 10 вариациях, из которых в каждое прохождение игрок видит лишь одну. Затем -- следующее ключевое событие представили в 10 вариациях. Потом -- еще одно. В итоге у нас 10 событий и 10 вариаций в каждом, и общее количество возможных комбинаций -- "всего-то" 10 млрд. На мой взгляд -- очень даже вариативно.
Беда такого подхода -- разумеется, в том, что движок игры на самом деле никак не участвует в создании сюжета, и в итоге за целостностью и непротиворечивостью всех комбинаций придётся следить самим разработчикам. Как тебе идея оттестировать 10 млрд. возможных путей сюжета?
Теперь попробуем уменьшить размер блока настолько, чтоб его можно было как-то классифицировать и вообще допустить к алгоритмической обработке. Допустим у нас есть некий движок, который берет некие заготовленные примитивы (актёров, локации, предметы, факты, свойства), и "варит" из них сюжетные сцены. На таком этапе вариативность происходящего при условии нормального наполнения базы данных примитивов вообще улетает куда-то в астрономические числа, но зато на таком этапе происходящего к обеспечению целостности картины можно уже привлечь сам движок: пусть он следит за уже выложенной информацией (чтоб не было дублирования), пусть он отсекает противоречащие друг другу варианты, пусть он смотрит в заготовленные разработчиками шаблоны сцен, чтоб придать этой всей генерации "очеловеченный" вид, пусть он следит за длительностью всего приключения, чтоб не допустить ни затягивания, ни чрезмерной краткости (Проснулся Избранный, пошел в лес дров нарубить, а там Чорный Властелин грибы собирает. Тут и сказке конец), и тэ пэ.
В итоге можно наваять игру с, допустим, фиксированной фабулой (начало игры и способ её завершить жёстко заданы), но при этом с абсолютно случайной историей между началом и развязкой. Вот проснулся Избранный, а тут его призывает старейшина и говорит ему, что всё плохо, и что надо б искать спасения, и отправляет в соседний город. Вот идёт Избранный в соседний город, и например, доходит. А в город никого не пускают. Или не доходит, а попадает в бандитскую засаду. А бандиты, его, допустим, вербуют и отправляют в город с целью организовать возможность налёта. Или вообще продают на органы Чорному Властелину. А герой, допустим, выясняет, что он -- незаконорожденный сын Чорного Властелина (NOOOOOOOO!!!!!), и попутно сбегает, прихватив с собой какой-нибудь там МакГаффин Всевластья. Или никуда он не сбегает, а просто встаёт под знамёна Чорного Властелина, и идёт захватывать мир.
(Бггг, я за какие-то три сцены вон уже дошёл до полной смены стороны конфликта, а то ли еще можно устроить!)