GDR
> Вас не затруднит дать ссылку
Ссылку меня дать не затруднит, меня затруднит её найти спустя много месяцев потому, что браузер уже почистил историю, а на пикабу найти места, откуда я туда попал, тоже не представляется возможным. Но поскольку построение живого сюжета RPG требует наличия в нём определённого уровня энтропии, то придётся начать поиски заново. Если сюжет полностью предсказуемый, то проходить его или читать становится очень скучно. Если сюжет полностью непредсказуемый, то надоедает полная неопределённость, которая начинает напоминать бессмысленность. Поэтому нужна определённая энтропия, которую нужно посчитать на лучших образцах и добиться того, чтобы свои последовательности событий вырабатывались для игрока не хуже. В игре событиями считаются выдаваемые игроку задания.
GDR
> про энтропию сюжета
Быстро удалось найти в иностранном сегменте вот это. В русскоязычном не удалось толком найти ничего, я подозреваю, что кроме переводов наша наука вообще ничем не занимается ибо денег на исследования нет.
https://en.wikipedia.org/wiki/History_of_entropy
https://en.wikipedia.org/wiki/Graph_entropy
https://www.coursehero.com/lit/Entropy/
https://www.researchgate.net/publication/49618823_The_Concept_of_… umanities.pdf
https://docs.lib.purdue.edu/cgi/viewcontent.cgi?referer=&httpsred… ontext=clcweb
https://www.eoht.info/page/Literature%20thermodynamics
https://sceneswithsimon.com/p/storytelling-entropy-and-fandoms
https://explodingstars.com/about/why-entropy/
GDR
> топологии графов сюжета
Продолжаю искать.
Здесь куча общих рассуждений https://www.gcsu.edu/sites/files/page-assets/node-808/attachments/davis.pdf
Здесь по истории внедрения математики в гуманитарные науки https://manilsuri.umbc.edu/outreach/mathematics-in-the-humanities/
Здесь немного про книгу https://brill.com/display/serial/MIAH
Алексей Патрашов
> Ссылку меня дать не затруднит, меня затруднит её найти спустя много месяцев потому, что браузер уже почистил историю, а на пикабу найти места, откуда я туда попал, тоже не представляется возможным.
Возможно, Вы помните какие-то ключевые слова (неважно, на русском или английском)?
> Но поскольку построение живого сюжета RPG требует наличия в нём определённого уровня энтропии
Какого именно уровня? И откуда вообще вдруг взялось это "требование"?
Алексей Патрашов
> > про энтропию сюжета
> > топологии графов сюжета
> Быстро удалось найти в иностранном сегменте вот это.
Если энтропия сюжета - это просто численный показатель энтропии [ор]графа (даже не суть важно, по какой именно формуле он вычислен), вершины которого - события сюжета (а ребра - связи/переходы между ними, соответственно), то это малоинтересно. И что хуже того - малополезно, почти бесполезно. А то, что сценаристы/писатели не только не смогут вычислить его (её, энтропию), но большинство, скорее всего, не сможет даже построить сам граф - и так всем очевидно, наверное.
Про топологию графов сюжета так ничего и не услышал. Там что-то примитивное про компоненты сильной/слабой связности или как?
И меня в первую очередь интересовала не "абстрактная математика в сценаристике", а её конкретные применения (если не формулы/алгоритмы, то хотя бы общие умозаключения) - ну типа мосты/петли/кратные рёбра в сюжете - это плохо (или хорошо, или её какой-нибудь вывод). В хорошем нелинейном сценарии соотношение количества альтернативных концовок к количеству мостов должно быть не менее 2 (или 3, или 10).
P.S. Никакой сильный математик сам по себе в одиночку тут ничего не даст. Равно как и хороший писатель/сценарист. Польза в таких исследованиях может быть лишь от их связки (чтобы было понимание обоих областей) - в одном человеке или в нескольких.
GDR
> Возможно, Вы помните какие-то ключевые слова
Слова-то я запомнил: энтропия, сюжет, граф, топология. Дело в том, что я просто лазил по пикабу и смотрел, куда бы что вбросить и любоваться воплями возмущённых людей, а тут как раз был подходящий вброс и ссылка на форум в комментарии на комментарий, найти которую я уже не могу. Там тоже ссылка на сайт или форум. Вот как он примерно выглядел https://www.homeworld3.ru/forum/showthread.php?t=884 и таких полно. Я вообще тогда не ставил перед собой задачу найти что-то новое, а скорее просто пролистать и успокоиться. Лет примерно 30 назад я как одержимый доказывал всем гуманитариям, что математика есть везде и во всём, а то, что её не нашли, так это потому, что гуманитарии просто ни на что не способны. Я и сейчас это продолжаю повторять при каждом удобном случае. Так что я просто посмотрел, пролистал, обрадовался и пошёл дальше. Главное, что мои утверждения подтвердились! А потом, уже месяцами позже, я просто посмотрел в поиске, нашёл вот это https://cyberleninka.ru/article/n/matematika-segodnya-ee-rol-i-me… tarnyh-naukah и успокоился.
Мотивировало меня тогда на такой подвиг стремление найти объективную оценку литературы для вот этой https://gamedev.ru/flame/forum/?id=251232 темы, чтобы можно было затолкать некий текст хоть в нейросеть и оценить, насколько содержание качественно. Тогда я считал, что вопросом формализации оценки сейчас вообще никто не занимается. Почему я так считал — для меня самого загадка. Тем более странно, что ещё 25 лет назад слово "энтропия" для сюжета уже было использовано https://core.ac.uk/download/pdf/287480571.pdf и я так думаю, что не только здесь. Первыми обычно приходят качественные оценки.
GDR
> Какого именно уровня? И откуда вообще вдруг взялось это "требование"?
Не нулевого, иначе получится просто шутер или слэшер без всякого выбора. Даже произвольное вкладывание очков развития уже вносит в игру определённый беспорядок.
GDR
> Если энтропия сюжета - это просто численный показатель энтропии
Тут не могу сказать ничего точно, потому что я в общей алгебре почти полный идиот, но кое-что я прикинул и кое о чём догадался. Речь идёт, скорее всего, про информационную энтропию, о которой уже давно и многое написано. Предполагаю, что речь идёт о немного изменённой для нормирования формуле Шеннона.
\(H(x)=-\sum_{i=1}^np_i\log_n p_i\)
То есть хорошую энтропию даёт построение сюжета, когда вот из этого
GDR
> вершины которого - события сюжета (а ребра - связи/переходы между ними, соответственно)
в каждом случае следуют вероятные события с примерно равными вероятностями, когда игрок или читатель предполагает вероятные исходы, но вероятности у них близкие. Когда есть преобладающая вероятность одного исхода, игрок или читатель уже видит наиболее вероятный исход и ему становится не так интересно. Конечно, можно выбрать вариант с низкой вероятностью, но тогда страдает правдоподобие и получается полный абсурд, а посчитать степень правдоподобия можно по Чебышеву и закону больших чисел для близких по вероятности событий, тут как раз всё просто.
GDR
> Про топологию графов сюжета так ничего и не услышал.
Тут ничего не могу сказить, потому что в строгом смысле топологию я не знаю, но думаю, что это было в смысле
GDR
> Там что-то примитивное про компоненты сильной/слабой связности или как?
То есть про количество рёбер на количество узлов. Можно посадить кучу линий сюжета и они между собой никак не будут связаны, а можно две линии превратить в сетку.
GDR
> абстрактная математика в сценаристике
На эту я даже не покушаюсь потому, что всё равно не пойму: там такие области, что моему пониманию недоступны.
GDR
> а её конкретные применения (если не формулы/алгоритмы, то хотя бы общие умозаключения)
Умозаключения в меру своей тупости мне удалось некоторые сделать.
1. Энтропию для разных вариантов можно посчитать по Шеннону.
2. Степень правдоподобия можно посчитать по закону больших чисел и Чебышеву.
3. Взаимодействия действующих лиц можно выразить матрицами, причём с учётом инициатора. То есть получается матрица преднамеренных взаимодействий и матрица случайных.
GDR
> Польза в таких исследованиях может быть лишь от их связки (чтобы было понимание обоих областей) - в одном человеке или в нескольких.
Вон, чем https://nnov.hse.ru/ba/ling/news/223289411.html люди занимаются в отличие от изобретателей велосипедов наподобие меня.
Алексей Патрашов
> То есть хорошую энтропию даёт построение сюжета, когда ... в каждом случае следуют вероятные события с примерно равными вероятностями, когда игрок или читатель предполагает вероятные исходы, но вероятности у них близкие.
Да, это пожалуй имеет смысл (точнее, имело бы - теоретический, но не практический, увы), но и тут много "но" - начиная с того, как считать вероятности событий ("оценивать на глаз" автором?), отличия в оценке автора и читателя, и наконец отличие сюжетов/сценариев книг/кино и интерактивных сценариев - игр и кино (у которых вероятности меняются и зависят от игрока).
> Когда есть преобладающая вероятность одного исхода, игрок или читатель уже видит наиболее вероятный исход и ему становится не так интересно. Конечно, можно выбрать вариант с низкой вероятностью, но тогда страдает правдоподобие и получается полный абсурд
Ну вот, взяли и одним махом отменили такие явления как аверсия и инверсия.
> посчитать степень правдоподобия можно
Боюсь, что нельзя. По крайней мере, в практическом смысле - точно нельзя.
Алексей Патрашов
> То есть про количество рёбер на количество узлов
Да, это хоть и примитивно, но в этом есть определённый смысл... Но это просто один показатель (число), по которому нельзя будет сделать каких-то окончательных выводов - например, сюжет с небольшим полносвязным графом на 3 концовки по этому показателю может оказаться лучше, чем хороший и длинный сюжет на 7 концовок, но гораздо менее полносвязный (по паре переходов между ветвями, как в Ведьмаке). Но, полагаю, тут есть и полезные прикладные применения - как похвастаться "у нас 120тыщ вариантов развития сценария", так и выделить основные варианты сценария (по мостам и/или концовкам) и провисающие ветки/события/квесты, например.
Алексей Патрашов
> Вон, чем https://nnov.hse.ru/ba/ling/news/223289411.html люди занимаются в отличие от изобретателей велосипедов наподобие меня.
Спасибо за ссылку, просмотрел с интересом. Частотным анализом даже я занимался, хотя ни разу не лингвист. А лингвисты (те, с кем сталкивался - нижнего сегмента, не учёные) ни в зуб ногой в ИТ и математике, не говоря уже о серьёзных мат.моделях и науке. Кстати, тут на форуме есть Флинт2 - он не лингвист, но интересуется темой.
Алексей Патрашов
> 3. Взаимодействия действующих лиц можно выразить матрицами, причём с учётом инициатора. То есть получается матрица преднамеренных взаимодействий и матрица случайных.
Прорва работы, между прочим - не по сложности, а именно по объёму. Представьте себе такие матрицы на 10+ основных персов (ГГ и спутники), 10+ НПС и хотя бы 5-7 фракций...
GDR
> "оценивать на глаз" автором?
Хотя бы так, некоторые даже так не оценивают.
GDR
> аверсия и инверсия
У них вероятности низкие, то есть количество их должно быть в сюжете небольшим, а не каждый второй раз.
GDR
> Боюсь, что нельзя.
Можно, только сложно. Для этого нужно построить хотя бы упрощённый граф и посчитать математические ожидания по вероятностям. Руками это сделать сложно, а вот САПР можно этим запрячь.
GDR
> Представьте себе такие матрицы на 10+ основных персов
10 это можно руками в электронных таблицах составить, а вот 100 уже надо сваливать на машину, только я сомневаюсь, что есть смысл делать сложный сюжет на 100 и больше действующих лиц. Читатель забудет, а игрок запутается в таком количестве отношений и переходов.
Я если вспомню, то ещё напишу. Дело в том, что я после 300 граммов при пересчёте на водку лезу в интернет и до 500 граммов ищу там что-то, а потом не могу вспомнить, что искал и что нашёл. Иногда найденное вспоминаю как собственные изобретения или решения, потом лезу искать и проверять и не всегда нахожу.
Алексей Патрашов
> Можно, только сложно. Для этого нужно построить хотя бы упрощённый граф и посчитать математические ожидания по вероятностям. Руками это сделать сложно, а вот САПР можно этим запрячь.
Не, тут дело не только в самом графе, но и в самих алгоритмах и данных для них. И никакие САПР тут не помогут, потому что дело не только в вычмощностях. Помогли бы ИИ, наверное, но "общие" неизвестно когда появятся, а собственную писать нереально дорого.
> Дело в том, что я после 300 граммов при пересчёте на водку лезу в интернет и до 500 граммов ищу там что-то, а потом не могу вспомнить, что искал и что нашёл. Иногда найденное вспоминаю как собственные изобретения или решения
О, это чрезвычайно полезная и приятная привычка. :) Главное - чтобы без вреда для печени. :)
GDR
> И никакие САПР тут не помогут, потому что дело не только в вычмощностях.
Тут нужна теория, но я её не знаю. Пока получилось только вручную сделать свёртку или аггрегацию, не знаю, как это называется. То есть когда вероятных исходов 5 с вероятностью 20% каждый, то можно задать множество пространства событий как множество вероятностей с вероятностями вероятностей. Тогда можно сложить равные вероятности, получить 100% и считать это правдоподобием. Если вероятных исходов только два с вероятностями 20% и 80%, то всё вообще понятно. А вот если есть один исход 50% и 5 исходов с вероятностью 10%, то уже не очень понятно потому, что получается вроде бы редкий исход с одной стороны и частый с другой стороны. Что делать с кучей разбросанных вероятностей, вообще непонятно, как автоматизировать их обработку.
VICTOR_JD
> Ваять для каждого NPC AI-модуль - это реально для численности NPC порядков ~10 (~100 далеко не каждое серверное железо потянет) ?
> Отметаем этот вариант сразу.
Зря ты так. Интересен кейс с разрушаемостью. В онлайн шутере (не помню как называется) сделали расчет разрушаемости на сервере, что позволило разгрузить клиенты и обеспечить реалтайм разрушаемость в сетевой среде. Так что при грамотной архитектуре - потенциально бесконечное количество нпц со сложнейшей логикой ии, при горизонтальном масштабировании серверной части.
Чисто в ММО продумывал такой кейс "Мультисим". Условный майнкрафт, но с возможностью для игрока иметь свое поселение, с ботами под командованием по типу симулятора колоний. Этакий римворлд онлайн с бесшовным миром и игроком от первого лица.
В сетевых делать живое поведение болванчикам не сильно важно. Погружение и глубина геймплея завязана на поведении игроков и инструментах такого взаимодействия. Сингл и мультиплеерные активности вообще никак обычно не связанны. Стоит моб и у него все подряд берут квесты. И вот уже квест "помоги собрать 10 грибов чтобы сварить суп и накормить жену" выполнили сотни игроков. Что там у моба за жена такая, что ее суп из десятков тысяч грибов не может накормить? Возникает лудонарративный диссонанс.
Если говорить о кооперативных играх - сложное поведение может быть реализовано как более интересная задача для озадачивания игрока.
Обычно, живость мира решается нарративной механикой: события, катсцены, декорации разных биомов, строчки диалогов (два нпц могут обмениваться баблами, имитируя разговор). Т.е. заранее проработанные уникальные игровые ситуации, запускающиеся по триггерам, последовательно. Это наиболее простой вариант при его эффективности.
Если и делать в сетевых механики - то хорошо бы их связывать с этой самой мультиплеерной составляющей. Т.е. предоставление игрокам инструментов, которые буду взаимодействовать с другими игроками. И подход, в котором нпц вообще убирают, оставляя лишь игроков как персонажей - очень хорошо работает. EVE Online например.
Или можно задать правила поведения мира, например животных на эволюции, при этом это останется инструментом взаимодействия между игроками.
Игровой мир живет для игрока. А если игроков много, и в разные моменты времени могут зайти в него (не сессионные ммо) - в любом случае он должен быть статично кристаллизован в некотором наиболее приятном для игрока состоянии. Так что развитие и изменения в этом мире ограниченны. PlanetSide - живость мира обеспечивается самими игроками, но ни одна из сторон никогда не победит, лишь меняются захваченные области.
В Ultima Online разрабы делали особую механику био-системы. Хищники охотились на размножающихся травоядных, давали больше опыта и дорогой лут. Поэтому игроки должны были охотится в первую очередь на хищников. Однако, игроки истребляли зайцев, как бы разрабы ни дорабатывали эту систему. В итоге они сдались и сделали просто типичных мобов для фарма.
Так что в ммо сделать тупо спавн по кулдауну может оказаться более "живой", чем сложная система, но в ней в конечном итоге игроки просто истребят всю живность и будет пустырь.
ildarin
> но в ней в конечном итоге игроки просто истребят всю живность и будет пустырь.
Так игроки должны при этом умереть от голода или начать болеть из-за растительной пищи, вот суть баланса. Тогда игроки начнут защищать зайцев, чтобы потом самим их убить и съесть.
/A\
Видел тубитути сервер анархии в майнкрафт и как выглядит спавн? Там даже перемещаться толком нельзя (все уничтожено), не то что еду найти. Там уже идет война помогать новичкам или охотится на них, как на дичь, а не забота об экологии.
Всегда может пойти что-то не так, поэтому нужна система, которая лишь будет "качаться" из одного допустимого положения в другое. Например, зайцы спавнятся и волки. Но чем меньше волков - тем быстрее спавн зайцев. А критичная ситуация просто недопустима. Нельзя полагаться на рациональность игроков вообще. Вроде Helldrivers 2, где роботы наступают (не играл, не в курсе как там, просто пример на ней). Чем больше роботы захватят - тем меньше дают ресурсов. Но при слишком слабой позиции роботов - усиливать, чтобы произошло "качание" в обратную сторону. Хотя, качаться может просто при суточной разнице в умении играть. Заметил, что ночью чаще играют дикие задроты (так что рейтинги нужно набивать в праймтайм).
___
А вот в одиночках это не нужно, всегда можно выдать "вот и живи в проклятом мире, который сам и создал". Еще такое можно проворачивать в "сессионных" ммо. Например, я продумывал такой концепт сессионности, который устраняет ограничение "качания":
В новом мире появляется "портал", из которого появляются игроки. Допустим, фпс шутер с добычей ресурсов и крафтом сооружений/транспорта/оружия и терраформингом (аля DeepRockGalactic). Портал на каждую из фракций. Опционально, игрок может переходить в личный локальный "стабильный" мир. В общем мире - идет война за ресурсы, состояние мира может быть вообще любым. Общий мир имеет таймер, после которого портал закроется и мир уничтожается, и откроется портал в новом свежем мире. Параллельно существует несколько общих миров с разной продолжительностью с момента открытия портала (например, каждый день открывается новый портал и закрывается старый, одновременных порталов - 7).
ildarin
> В сетевых делать живое поведение болванчикам не сильно важно. Погружение и глубина геймплея завязана на поведении игроков и инструментах такого взаимодействия.
В моем концепте многое завязано на Живой Мир.
Для Объединений Игроков (Кланы, Альянсы, Фракции, Государства) предусмотрена такая составляющая как Население - в Виртуальном (фоновом) режиме это набор таблиц (структур данных) для каждого Объединения, но как только Игровой Персонаж оказывается в локации с Населением, происходит переход из Виртуального режима в Инициированый (сначало генерация NPC (на основе данных Населения в Фоновом режиме!), потом симуляция взаимодействий меду ними, при попадании тех NPC в поле зрения Игрового Персонажа, та часть процесса симуляции просто шлется на соответствующий клиент). При покидании локации с Населением последнего Игрового Персонажа, происходит редактирование (на основании состояний соответствующих NPC) и сохранение данных Фонового режима (т.е. обратный переход: из Инициированного режима в Виртуальный).
Кроме того на все это, в моей концепции, непосредственно завязаны механики Разведки и Контрразведки (прими это как игровые классы, для лучшего понимания). Если по простому: эти механики предполагают на время брать под управление Игроком еденицы Населения = "глаза" на территории другого Объединения Игроков.
Изложил примитивно сжато.
ildarin
> Т.е. предоставление игрокам инструментов, которые буду взаимодействовать с другими игроками.
Все верно))
ildarin
> Или можно задать правила поведения мира, например животных на эволюции, при этом это останется инструментом взаимодействия между игроками.
Думаю, это будет на порядок проще реализовать
VICTOR_JD
Очень похоже на концепт "мультисима", но с шовным миром и оптимизацией под большое количество игроков. В такой стратегии пока что лучше механики нпц римворлда ничего толком нет. имхо его и достаточно, нпц жрут/спят; работают и строят по команде. Ты какие-то другие взаимодействия планируешь? У тебя есть реализации, или пока только описание?
ildarin
> Ты какие-то другие взаимодействия планируешь?
Например?
ildarin
> У тебя есть реализации, или пока только описание?
Планомерная работа над концептом (как оказалось, задача Живого Мира, самая сложная)