Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Принципы и алгоритмы сюжетной генерации | страница 12
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 12 из 16
На страницу: Пред.  1, 2, 3 ... 11, 12, 13, 14, 15, 16  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Принципы и алгоритмы сюжетной генерации»
Нужны ли такие сгенерированные сюжеты?
Да, всяко лучше, чем тупо бабло сколачивать - всегда есть чем заняться.
8%
 8%  [ 2 ]
Да, но только если хорошенько поработать над БД ситуаций и алгоритмами генерации
73%
 73%  [ 17 ]
Будет нелишне, хотя и не обязательно
13%
 13%  [ 3 ]
Нет, всё равно люди лучше придумают чем машина
4%
 4%  [ 1 ]
Нет, лучше усилия в другое русло направить (графику, например улучшить)
0%
 0%  [ 0 ]
Традиционный "пофиг".
0%
 0%  [ 0 ]
Всего проголосовало : 23
Jerry Rezet
 581 EGP


Рейтинг канала: 5(113)
Репутация: 86
Сообщения: 3365
Откуда: Санкт-Петербург.
Зарегистрирован: 01.04.2005
Minx :
Если рассматривать сюжет в классическом понимании (так, как его понимают в театре, кино, литературе, ..), то это совсем не эмуляция, а законы и правила его построения.
В данном случае под термином "эмуляция" имеется ввиду ровно такое приближение, чтобы оно не занимало много ресурсов и выглядело при этом достаточно убедительно. Этого, конечно, может быть мало, но этого достаточно (пока?). Просто если мы будем заморачиваться всякими "семантическими марковскими цепями с неконформным отображением в эквидалистическое пространство фазовых вероятностей" - это будет точно слишком заумно Гы-гы Только в этом смысле. В остальном ты, конечно же, прав. Подмигиваю
_________________
- Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c]
    Добавлено: 22:30 26-05-2012   
Gladius
 52 EGP


Рейтинг канала: 1(9)
Репутация: 0
Сообщения: 124
Откуда: Санкт-Петербург
Зарегистрирован: 18.12.2007
Я вот схемку тут маленькую набросал по поводу принципов генерации...
Схемка простая. Если хотим, чтобы был сюжет, но не было "рельсов", то надо сюжет задавать точечно, в виде пунктирной линии. А путь между точками пусть игрок ищет сам.

Примерчик простенький.
Есть река, мост, лодка, игрок, враг. Враг на одной стороне реки, игрок на другой. Игроку надо сразиться с врагом.
Если сюжет линеен, то чтобы добраться до супостата нужно пройти по мосту и никак иначе.
Если у игрока есть выбор, то он может пойти по мосту, может переплыть реку на лодке, а может и вплавь.
Игровая механика должна позволять игроку этот выбор, иначе механика не игровая. Книжная, театральная, киношная, но не игровая.

Как-то так...
_________________
Спасибо за внимание.
    Добавлено: 00:55 27-05-2012   
mc_
 408 EGP


Рейтинг канала: 1(8)
Репутация: 41
Сообщения: 2841

Зарегистрирован: 09.04.2010
Еще мысль: AI групп.

Допустим, есть шахта на астероиде. Время от времени туда нужно привозить запчасти (по типу 20 тяжмаш, 10 точмаш, 5 электроники), чтобы шахта могла добыть руду (или что она там добывает). Руду надо дотащить до обитаемых мест и продать - генерится транспортник.

На транспорт (как и на саму шахту) могут напасть пираты - тогда скрипт "директор шахты" приобретает оборонительные турели или нанимает истребители.
А если безопасность обеспечена, можно начать гадить конкурентам, лучше чужими руками Подмигиваю

Квесты идут на "биржу труда" и подхватываются игроком или нпц.

Последний раз редактировалось: mc_ (05:11 27-05-2012), всего редактировалось 1 раз
    Добавлено: 05:06 27-05-2012   
WandererX
 77 EGP


Рейтинг канала: 1(6)
Репутация: 2
Сообщения: 243

Зарегистрирован: 05.12.2007
Minx :
Если у вас он получается разнотипным первые десять раз - то это проблема вашего генератора.

Генератор у меня к в Элите (так формируются описания планет)
События разделены по уровню глобальности:
1. Частный (Взаимодействие НПС на станциях и в космосе)
2. Локальный (Отдельные планеты в системе)
3. Государственный (Внутренние дела государств)
4. Фракционный (Сюжеты связанные с отношением фракций)
5. Эпические (всякие властелины зла и т.п...)
Для каждого случая свой набор набор стандартных фраз. Проблема в том, что частных событий в игре предполагается до 100 на систему и текст в этих событиях начинает приедаться со временем. К эпическим сюжетам такой претензии нет, такие сюжеты очень редко появляются в игре.
    Добавлено: 10:52 27-05-2012   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Gladius :
Игроку надо сразиться с врагом.

То, что игроку надо сразиться с врагом - это обязательность действия, что означает линейность. В отличие от этого может быть несколько вариантов победы - победить, договорится, накопить много очков/денег, прокачаться так, что он испугается и пр..

Любой генератор имеет некоторую степень линейности/обязательности, и некоторую степень разнообразия (вариантов решения проблемы). Если взять ту же 3ю элиту, то в ней последовательность событий в галактике линейна, а решения, которые может принимать игрок - обладают разнообразием, так как можно летать по разным траекториям/системам, покупать разные корабли и оборудование, выполнять миссии или нет и пр..

Полностью разнообразный сюжет сделать не получится. Т.к. в игре должна быть цель (без цели что и зачем делать - не понятно) и результаты различных игр должны быть сравниваемы по каким-либо критериям (иначе какой смысл игры?).

mc_ :
Допустим, есть шахта на астероиде. Время от времени туда нужно привозить запчасти (по типу 20 тяжмаш, 10 точмаш, 5 электроники), чтобы шахта могла добыть руду (или что она там добывает). Руду надо дотащить до обитаемых мест и продать - генерится транспортник.

На транспорт (как и на саму шахту) могут напасть пираты - тогда скрипт "директор шахты" приобретает оборонительные турели или нанимает истребители.
А если безопасность обеспечена, можно начать гадить конкурентам, лучше чужими руками

У вас в этом примере все пишется ручками. Человек-сюжетописатель создает шахту и принцип её функционирования. Этот же человек понимает, что для продажи нужен транспортник, и прописывает его (но не генератор). Он же понимает, что на транспорт могут напасть пираты, и ручками прописывает данную фичу. Что же тут делает генератор??

WandererX :
Генератор у меня к в Элите (так формируются описания планет)

У вас - это где? Он уже где-то реализован в корпусе?

WandererX :
Для каждого случая свой набор набор стандартных фраз.

Ту же фразу можно собирать из составляющих. См. например отсюда.
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 13:36 27-05-2012   
mc_
 408 EGP


Рейтинг канала: 1(8)
Репутация: 41
Сообщения: 2841

Зарегистрирован: 09.04.2010
Minx :

У вас в этом примере все пишется ручками. Человек-сюжетописатель создает шахту и принцип её функционирования...

Отнюдь.
Шахта должна думать сама: налетели праты - апгрейдим защиту и т.д. То есть поведение задается некими коэффициентами в зависимости от того, сколько раз нападали и какой был ущерб, как дела у конкурентов, почем руда на торговой станци и т.д., которые со временем могут меняться.

Да, конечно, набор возможных "квестов" у неё ограничен (диапазон примерно от "привези детальку" до "сбей транспорт конкурента"), но, мне кажется, алгоритм создаст иллюзию работы некой социальной (или в даном случае - экономической) структуры.
    Добавлено: 13:49 27-05-2012   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
mc_ :
Шахта должна думать сама: налетели праты - апгрейдим защиту и т.д. То есть поведение задается некими коэффициентами в зависимости от того, сколько раз нападали и какой был ущерб, как дела у конкурентов, почем руда на торговой станци и т.д., которые со временем могут меняться.

Эти же зависимости прописываются человеком?

Или так понимаю идею, что нужно создать шаблон умной шахты, понатыкать много таких шахт в игровое пространство, они заживут своей жизнью и в этом (большом количестве одинаковых умных шахт) будет заключаться генерация?
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 13:59 27-05-2012   
WandererX
 77 EGP


Рейтинг канала: 1(6)
Репутация: 2
Сообщения: 243

Зарегистрирован: 05.12.2007
Minx :
У вас - это где? Он уже где-то реализован в корпусе?
"одолжил" у одного студента Хы... , у них что-то вроде лабораторной было по работе с текстовыми файлами, приспособил под свои нужды.


mc_ :
Допустим, есть шахта на астероиде. Время от времени туда нужно привозить запчасти (по типу 20 тяжмаш, 10 точмаш, 5 электроники), чтобы шахта могла добыть руду (или что она там добывает). Руду надо дотащить до обитаемых мест и продать - генерится транспортник.

Что-то подобное есть в иксах: если на станциях очень мало ресурсов, то можно встретить миссии по их доставке + профит за партию
Вообще странно, что у нпс кораблей есть хотя бы зачатки ИИ: стрелять по противнику, бежать если проигрывают или груз сбросить, откупиться. А для станций ИИ не предусмотрели...
ИМХО технически такое можно реализовать

Последний раз редактировалось: WandererX (21:54 27-05-2012), всего редактировалось 1 раз
    Добавлено: 21:52 27-05-2012   
Gladius
 52 EGP


Рейтинг канала: 1(9)
Репутация: 0
Сообщения: 124
Откуда: Санкт-Петербург
Зарегистрирован: 18.12.2007
Minx :
То, что игроку надо сразиться с врагом - это обязательность действия, что означает линейность. В отличие от этого может быть несколько вариантов победы - победить, договорится, накопить много очков/денег, прокачаться так, что он испугается и пр..

Мы с Вами говорим об одном и том же, уважаемый Minx
Ведь сразиться = победить, а мост, лодка и вплавь = победить, договориться, испугать.
Просто я всё чаще встречаю сингловые компании, где и этого не делают.

Цитата:
Полностью разнообразный сюжет сделать не получится. Т.к. в игре должна быть цель (без цели что и зачем делать - не понятно) и результаты различных игр должны быть сравниваемы по каким-либо критериям (иначе какой смысл игры?).

Полностью - нет. Да и не нужно это. А вот разветвить сюжет, обеспечив несколько концовок (Ведьмак, Сталкер) можно. Только мутарно это...
_________________
Спасибо за внимание.
    Добавлено: 22:08 27-05-2012   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Gladius :
Только мутарно это...

Причин может быть много. Например если это нерентабельно, невозможно или банально скучно.

В моем контексте идет речь о том, что в любой игре есть некая доля вероятностей/разветвлений, и другая доля линейности/зависимостей. С помощью генераторов и придумываний сюжетов можно смещать пропорциональность долей.
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 22:20 27-05-2012   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Jerry Rezet :
принципом "возрастания эпичности" - т.е. чем дальше двигаешься по сюжету, тем эпичней твои победы

Аналогичные принципы есть в журналистике, литературе и прочем сюжетописании. Называются они по-буржуйски "Inverted pyramid" и "Burying the lead".

Первый - это когда наиболее значимые вещи подаются вначале описания. Делается ради того, чтобы привлечь зрителя и не занимать его время если детали не интересны. Например такой стиль используется в новостях, научных публикациях, заголовках книг и др. (броские заголовки, отражающие самую суть).

Второй - это когда самое интересное находится в конце. Т.е. сначала много деталей и событий, и зритель не знает, чем все закончится. Такое - это анекдоты, детективные истории, притчи, поучительные рассказы и др..

В общем случае думаю необходимо комбинировать принципы. Можно например стрелять Burying the lead малыми порциями, или новые открывающиеся миссии оформлять как Inverted pyramid.
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 14:43 28-05-2012   
mc_
 408 EGP


Рейтинг канала: 1(8)
Репутация: 41
Сообщения: 2841

Зарегистрирован: 09.04.2010
В РПГ есть так называемый "принцип трех С" - "сила, скрытность, слово". Настоящий (в смысле труЪ) квест должен решаться любым из этих способов.

На практике это, естественно, возможно не всегда.
    Добавлено: 17:43 28-05-2012   
WandererX
 77 EGP


Рейтинг канала: 1(6)
Репутация: 2
Сообщения: 243

Зарегистрирован: 05.12.2007
mc_ :
В РПГ есть так называемый "принцип трех С" - "сила, скрытность, слово". Настоящий (в смысле труЪ) квест должен решаться любым из этих способов.

Ещё двух "С" не хватает: Сдаться (по убеждению или на милость победителю ) и Сбежать (пусть другие разбираются, а я лучше астероиды покопаю).
    Добавлено: 15:45 29-05-2012   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Minx :
WandererX :
Разнотипный он получается только первые десять раз. Конешно же можно сделать текст более подходящим ситуации.

Если у вас он получается разнотипным первые десять раз - то это проблема вашего генератора.

Походу вырисовывается ещё один источник для понимания обработки и генерирования текстов. Это "Natural Language Processing"(рус.отзыв). сам не проходил, потому не осуждаю (;

Судя по различным косвенным данным, овладение им стоимостью в 50-100 часов позволит разработчику быстро получить advanced навык программной обработки текстов.
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 23:38 03-06-2012   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
о генерациях

лабиринтов
примеры и описания разных
http://www.astrolog.org/labyrnth/algrithm.htm
тжс, только готовый софт в исходниках
http://www.astrolog.org/labyrnth/daedalus.htm
(по мне так эти исходники ужасны и как библиотека это не применимо)

в рогаликах много разных генераций описано
http://roguebasin.roguelikedevelopment.org/index.php/Articles

в частности, например аналогичная этому идея
http://roguebasin.roguelikedevelopment.org/index.php/Programming_Roguelike_Magic
есть генерация имен, линки на генерации звуков и прочее.

---

Во всем, что нахожу, не вижу нигде фундаментальной теории по генерациям. В 99% случаях народ пишет что-то, что генерирует что-то, которое похоже на то, что хочется и все.

Чаще всего требуется что-то генерить специфичное, и оно практически никогда не вписывается в готовые заготовки. Поэтому важны базовые теоретические элементы и способы, а не собранные примеры с картинками.

В частности, хотелось бы видеть:
* сравнительные характеристики разных PRNG (немного есть тут);
* генерация сущностей с гарантированными заданными свойствами;
* способы верификации результата (например генерация с верификацией через матиндукцию);
* как делать переход от генерации грубого заполнения памяти к функции для быстрого получения нужной части карты (чтобы можно было бегать по лабиринту, но при этом не держать его в памяти);
* создание рандомных сущностей, изменяющихся во времени, и вписанных в канву созданного мира;
...
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 23:56 02-09-2012   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Несколько статей по генерациям:
https://larc.unt.edu/ian/research/content/

Хотя авторы пишут такие паперы, что я бы вряд ли послал куда-то такой материал как научный.

Джерри, посмотри внимательно на эту статью: https://larc.unt.edu/ian/pubs/pcg2011.pdf
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (10:39 12-09-2012), всего редактировалось 2 раз(а)
    Добавлено: 10:36 12-09-2012   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Кучу обезьян посадят генерировать сценарии для игр за деньги: http://www.technologyreview.com/view/525061/the-problem-with-serious-games-solved/
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 03:13 25-02-2014   
Jerry Rezet
 581 EGP


Рейтинг канала: 5(113)
Репутация: 86
Сообщения: 3365
Откуда: Санкт-Петербург.
Зарегистрирован: 01.04.2005
Minx :
Несколько статей по генерациям:
Прекрасно (на первый взгляд)! Правда английский на порядок больше времени для понимания требует. Есть на русском?
Minx :
Джерри, посмотри внимательно на эту статью: https://larc.unt.edu/ian/pubs/pcg2011.pdf
Внимательно глянул "по диагонали". На первый взгляд - то же, что и я предлагал, только ближе к программированию сценариев, более разветвлённое и учитывающее больше факторов. Хотя перспектив для развития намного больше. Да и сама идея намного лучше проработана. Принято в вдумчивому прочтению. Спасибо!
_________________
- Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c]
    Добавлено: 15:12 25-02-2014   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Джерри, эти ссылки тебя полтора года ждали (;

Jerry Rezet :
Правда английский на порядок больше времени для понимания требует. Есть на русском?

У меня нет. Не видел чтобы пробегало.

---

Оказывается есть по генерациям специальная конференция. Последняя: http://pcg.fdg2014.org/
6 докладов и 2 демки в прошлом году.

В этом году уже в 5-й раз собираются. Надо будет попробовать найти паперы..
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (22:49 26-02-2014), всего редактировалось 1 раз
    Добавлено: 22:47 26-02-2014   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10527
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Minx :
Infinite Game Universe: Mathematical Techniques

Таких книг на самом деле две. Вторая: ссылка (есть у меня)

Книги прочитал подробно. В первой вообще ничего для себя не нашел. Во второй может 5-10% того, что потенциально полезно. Это пару идей звуковой генерации и генерации предложений (текст).
Звуки может кому-то будут более полезны, если вы не знакомы с теорией передачи сигналов или обработкой звука (волны, наложения, модуляция, фильтры и т.п.).

Основные проблемы книг.

1.
Как программист автор чайник. В качестве аргумента и факта, пример страницы: http://www.freeimagehosting.net/ya89i
Программисты меня поймут.

2.
Что такое генерация по мнению автора? Это создать как можно более разных элементов игрового мира. И пофигу, что это такое. Важно, чтобы количество разных было как можно больше.

Например если генерируется лабиринт 100х100, и генератор с seed в 2^32 бит, то считается, что мы создали 2^32 карт и тем самым сэкономили 100*100*2^32 ячеек памяти, и это очень круто. Чем больше сэкономили, тем лучше.

В этом ключе страница книги: http://www.freeimagehosting.net/cxgdd

Так генерируются портреты. Берется растровая картинка, например 100х100, и рандомно выбирается два числа - сжатие-растяжение по X, и тжс по Y. От 50 до 200 например. Это означает, что мы нагеренировали 150*150 изображений и тем самым сэкономили 150*150*(~ 100)*(~ 100) памяти, и это очень круто.

Такое можно написать только вообще ничего не понимая в геймдизайне.

Вот навхрена? Кому нужны твои 2^32 лабиринта и миллиарды морд? Автор что, думает игроки будут всех их проходить и смотреть на все лица? Может ему сгенерировать лабиринт в миллиард на миллиард клеток, пусть получает фан (;

3.
В книге куча откровенного барахла. Автор пытается скребками объяснить ООП в одной части, во второй рассматривает рынок разных игр в ключе как важн будет генерировать на мобильных платформах, потому что там Game Boy имеет 16Kb памяти.

4.
По генерациям материал безнадежно застрял где-то в 80-90-х гг.. Первых 70 страниц разбираются генераторы вида ряда Фибоначчи или "(ax+b) mod c" и какой из них лучше. Большинство примеров из 80-х, используется C++ в стиле C - без STL, с постояныым new/delete, объявлением переменных до исполняемых действий и пр.. Куча примеров как мы сэкономили 100 байт памяти и давайте ещё вот это заархивируем.. А то Брабен смог, чем мы хуже?

--

Потом посмотрел биографию автора. Ни одной выпущенной игры. Книги писались через год после окончания ВУЗа, при том что автор работал в банке.

Не понимаю таких авторов. Не сделал в жизни толком ничего, опыта нет, зачем писать? Я бы наверно после такого.. повесился.
Или самому что ли книгу написать..
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (23:49 26-02-2014), всего редактировалось 2 раз(а)
    Добавлено: 23:39 26-02-2014   
Канал Игры Мечты: «Принципы и алгоритмы сюжетной генерации»
На страницу: Пред.  1, 2, 3 ... 11, 12, 13, 14, 15, 16  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Можно не понять не-логику, но логику не понять, значить не иметь логику. (как всегда доходчиво объяснила MeLeK)

  » Принципы и алгоритмы сюжетной генерации | страница 12
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18