Чи є якісь наративні (або принаймні непросторові часові) орієнтовані двигуни / рамки? [зачинено]


9

EDIT (2): Оскільки є дві відповіді, і я не прийняв жодної з них, я вважав, що мотивую те, що вважаю відповідь тут: або щось, що настійно підказує, що такий підхід був би неможливим / зовсім не корисним або Альтернативно, посилання на дослідження (поле) або приклади хоча б дещо загальної такої системи поза текстовими пригодницькими іграми / інтерактивною художньою літературою.

Хоча я не буду робити вигляд, що я робив більш глибоке розслідування, я помітив, що всі ігрові двигуни / рамки, в які я заглянув, здавалися чимось на зразок прославленого графічного двигуна в тому сенсі, що вони говорять про форми / сутності у двох або тривимірний евклідовий простір з, можливо, певною формою моделі одночасності, "підтягнутою", що дозволяє вказати певну форму логіки, приєднану до цих "сутностей".

Гра "правила" та розповідь потім записуються дещо тимчасово (щодо двигуна) поверх цих примітивів.

Очевидно, що вищеописаний опис є досить спрощеним (візьміть більш спеціалізовані двигуни, такі як двигун нескінченності, який включає деяку форму квесту / наративної системи), і я розумію, що ця модель може працювати досить добре (багато людей, здається, використовували її) .

Мені цікаво, що ж було зроблено спроб створити двигуни / рамки, які б сприймали такі поняття, як (високий рівень) опис правил гри / логіки чи розповіді (або принаймні непросторового аспекту гри). основа?

EDIT (4): Це не означає, що гра не буде включати будь-яких просторових / графічних аспектів, просто, а не просторові сутності, до яких ви пов'язуєте логіку, у вас є поняття сюжету (або геймплея, або "правил настільної гри" ), яким ви потім опишете графічний інтерфейс до / реалізації.

Особливо мене зацікавили б будь-які декларативні підходи, які намагаються захопити якусь (напів) формальну семантику якогось досить великого класу ігор, таким чином, корисним для реальної реалізації (на відміну, наприклад, від рамки виключно для якісний аналіз ігор / розповіді).

Що я бачив - це деякі дослідження моделювання / аналізу оповіді за мережевою моделлю Петрі та цікаві підходи в мовах написання інтерактивної художньої літератури .

EDIT (1): я подумав, що я додаю приклад іграшки для ілюстрації.

Скажіть, нам було цікаво створити пригоди в стилі point & click (думайте, ігри SCUMM). Можна проаналізувати, що вони базуються на понятті більш-менш лінійного та дискретного прогресування від стартової ситуації до кінця.

Орієнтуючись на поняття дискретної прогресії та враховуючи деяку нелінійність, можна вибрати теорію (обмежених) DAGs як основну теорію. Визначаючи гру подібного типу, у своїй (відносно даної теорії) найбільш абстрактній формі таким чином відповідає додавання до цієї теорії додаткових аксіом (або так, що теорія задає конкретний графік, або просто достатня для того, щоб зафіксувати все, що думає, що потрібно для фіксації "сюжет").

Перетворення цієї фактичної гри тепер перетворюється на проблему проектування HCI / інтерфейсу щодо вбудовування цієї теорії у щось відтворюване (тобто побудова моделі теорії / знаходження гомо (ізо?) Морфізму графіків із колекції станів інтерфейсу користувача з переходами в DAG "уточнення гри").

У наведеному вище гіпотетичному сценарії я бачу щонайменше три речі, які мають бути можливими для захоплення в бібліотеках. По-перше, потрібні інструменти для перетворення / міркування про DAG-карти або графіки загалом. По-друге, бібліотека користувальницького інтерфейсу достатньо розумна, щоб допомогти переконатися, що наше представлення нашого графіка як граючої гри насправді моделює графік (таким чином, наприклад, принаймні частково / неофіційно, підтверджуючи, що гра не має застряглих станів через умови обмеженості) . Нарешті, може бути надана колекція бібліотек вищого рівня для визначення графіка; наприклад, бібліотека для вираження символів та їх взаємодії та генерування (частин) графіків у такому вигляді.

Навіщо тримати "середню" теорію DAG, а не просто впроваджувати низький рівень з деякими довідковими бібліотеками? Відповідь - всі звичні причини формальної семантики. Зважаючи на те, що ми визначилися з офіційною основою, ми можемо перевірити певні властивості гри, що дозволяє міркувати про такі речі, як оптимізація в бібліотеці інтерфейсів низького рівня (доки вона моделює DAG, ми можемо робити те, що ми хочемо), не маючи необхідності турбуйтеся про невідповідність опису високого рівня (символів / діалогу тощо), оскільки ці описи повинні самі описувати такі структури.

Я жодним чином не натякаю, що зазначений вище підхід конкретно спрацював би, і ідея полягає не в тому, що DAG повинен бути тим, що насправді зберігається в пам'яті (скоріше він формує щось подібне до обчислювального формалізму, наприклад, лямбда-числення), але сподіваюся, що це ілюструє той підхід, який мені цікавий.

Коротше кажучи, я думаю, альтернативним заголовком цього питання могло бути: Як Dijkstra написав комп’ютерні ігри?


Може, щось на кшталт Story Bricks ? @Kylotan дізнався би більше про це.
MichaelHouse

@ Byte56 Цікаво, що я про це раніше не чув. Але, хоча це все ще актуально (як спосіб моделювання розповіді), мені було цікаво більше про системи для розробки ігор, а не про ігри з налаштованим наративом (хоча, звичайно, його нечітка межа).
Тіло Віклунд

ваше запитання неоднозначне в тому, як воно суперечить "(високий рівень) опису правил гри / логіки чи розповіді". Двигун, який намагався кодувати семантику ігрової логіки у великому класі ігор, зовсім інший, ніж двигун, що моделює розповідну логіку. Котрий вас цікавить?
georgek

@georgek Поняття "логіка гри", я думаю, саме по собі неоднозначне. Причиною того, що я додав моделювання наративу, було те, що я мав на увазі приклад того, що це може означати (розповідь як один із основних аспектів ігор, таких як пригоди точок та натискань, деякі RPG та інтерактивна фантастика).
Тіло Віклунд

Storybricks ще дуже ранній у виробництві, але дякую за згадку, @ Byte56! Безумовно, наміри будуть безпосередньо стосуватися таких питань. (Хоча, мабуть, не формальна семантика - я не думаю, що формальна семантика існує для цього класу ігор.)
Kylotan

Відповіді:


4

Коротка примітка про розповіді та правила гри: в інтерактивній художній літературі можна стверджувати, що гра полягає в тому, щоб пройти графік розгалуження розповіді, але в кінцевому рахунку розповідь живе поза ігровим механіком - ви можете замінити всі слова чимось нечитабельним і все ж кроки, щоб завершити гру (або втратити, граючи в неї) були б абсолютно однакові. Це, в свою чергу, означає, що розповідь не має значення для ігрового процесу, за винятком випадків, коли розробник вирішить змінити один на інший. В іграх розповідь - це, по суті, фасад над механікою, який може зробити механіку більш привабливою для гравця, який користується цією розповіддю, але це все. Є деякі ігри (хоча деякі не називають їх іграми), де розповідь є основною формою розваг, а механіка гри в основному функціональна,Шановна Естер , але розробникам не потрібен офіційний метод розповіді історій більше, ніж це письменники-фантасти, тому я не буду більше розглядати розповідь. Взагалі кажучи, будь-яка гра, яка виглядає як "грабельна розповідь", - це дерево або графік ігрових подій, які можуть існувати і обговорюватися змістовно без розповіді взагалі.

Я помітив, що всі ігрові двигуни / рамки, на які я заглянув, здавалися чимось на зразок прославленого графічного двигуна в тому сенсі, що вони говорять про форми / сутності в дво-або тривимірному евклідовому просторі [...]

Так, більшість «ігрових двигунів», очевидно, є «двигунами відеоігор», і головна їх відповідальність з часом полягала в тому, щоб полегшити сторону програмного забезпечення відеоігри, а не ігрову сторону. Можливо, це має сенс, оскільки саме інженерія програмного забезпечення - це найновіший і найдорожчий і, отже, найбільш ризиковий аспект. Для порівняння, ігрове проектування в абстрактному розумінні робилося вручну тисячами років без допомоги інструментів, що може певною мірою пояснити, чому так продовжується.

які спроби були зроблені для створення двигунів / фреймворків, які б приймали такі поняття, як (високий рівень) опис правил гри / логіки чи розповіді (або принаймні непросторового аспекту гри)?

Наскільки я знаю, було декілька серйозних спроб, жодна успішна.

Storytron - це одне. "На відміну від традиційної інтерактивної художньої літератури, Світ історії більше стосується моделювання дій та реакцій акторів та їх емоцій та схильностей, а не географії світового ігор чи земних предметів, які її заселяють". З цього випливає попереднє зусилля під назвою Еразматрон, яке насправді не вдалося, і Storytron насправді не схожий на успіх. Про це добре читайте наступну статтю: Переслідування Дракона

На менш амбітному рівні є багато людей, які придумали прості способи представлення простих ігор. Один з паперів з багатьох такий: Мультігра - мова дуже високого рівня для опису настільних ігор (посилання знаходиться за логіном, але ви можете знайти її), але все, що у вас є, в кінцевому підсумку - це доступний для читання на комп’ютері набір штати, переходи штатів, умови перемоги або функції зберігання рахунків - чудово підходить для дискретних настільних ігор, таких як шахи або карткові ігри, такі як покер, але вони не узагальнюються для ігор з великою кількістю безперервного стану або тих, у яких більше семантики. наприклад, симуляції (наприклад, ігри з стріляниною) або спорт (наприклад, гоночні ігри). Такі ігри неможливо адекватно представити за допомогою простого дерева ігрових станів.

Один із способів наблизитись до розуміння цих більш складних систем - спробувати класифікувати кожного існуючого механіка в одну з декількох основних форм, а потім розробити, як базові форми можна комбінувати для формування більш складного ігрового процесу, за умови, що всі геймплей можуть складатися з цих основних одиниць або їх комбінацій. У Дена Кука є стаття під назвою " Що таке механіка ігор ?" та подальша робота « Хімія дизайну ігор"які намагаються задокументувати цей композиційний підхід до дизайну ігор. Теоретично можна було б побудувати декларативну систему поверх цього, але на практиці механіки складають лише невелику частину гри, і тому отриманий результат, мабуть, буде обмежений в рамках презентації, яка не буде достатньо гнучкою, щоб привернути увагу більшості геймерів.

Інші спроби формалізації концепцій ігрового дизайну часто називають «ігровою граматикою» - одна така стаття називається « Ігрові атоми для кількох гравців », але вона стосується різних попередніх робіт.

Скажіть, нам було цікаво створити пригоди в стилі point & click (думайте, ігри SCUMM). [...] можна вибрати теорію (обмежених) DAG, як основну теорію. [...] По-перше, потрібні інструменти для перетворення / міркування про DAG-карти чи графіки загалом. По-друге, бібліотека користувальницького інтерфейсу достатньо розумна, щоб допомогти переконатися, що наше представлення нашого графіка як граючої гри насправді моделює графік (таким чином, наприклад, принаймні частково / неофіційно, підтверджуючи, що гра не має застряглих станів через умови обмеженості) . Нарешті, може бути надана колекція бібліотек вищого рівня для визначення графіка; наприклад, бібліотека для вираження символів та їх взаємодії та генерування (частин) графіків у такому вигляді.

Проблема тут полягає в тому, що комп'ютер не додає багато процесу. Дизайнери подібних ігор часто складають саме це, графік в цифровій або фізичній формі, який показує потік гри. Банально бачити, чи можна теоретично завершити гру чи ні. Навіть кодування різних правил для просування через пригоду точки та натиснення дрібниць. Важкою частиною є змусити його слідувати за цікавою розповіддю, встановлюючи її у переконливому світі, створюючи мистецтво та звукові засоби для належного зображення гри та інтерфейсу, а також різноманітні завдання програмної інженерії, які утримують його разом. Спрямований графік значущих станів через гру зазвичай є відносно тривіальним; це вся проблема навколо нього, яка є проблемою. І тому до цього не так багато інтересу,

Я особисто зараз працюю з командою над продуктом під назвою Storybricksяка намагається дозволити побудувати цікавий ігровий процес через конкретизацію різних правил, і ці правила можуть констатувати початковий стан людини, її потреби тощо. Легко прийняти ці правила і перевірити, чи можуть бути задоволені потреби людини, і якщо так, то, як, отже, декларативно створювати завдання, які потрібно виконати в грі. Однак саме по собі це не створює цікавого ігрового процесу, адже як тільки ви абстрагуєте речі до рівня "X потрібно Y - забирайте їх для них", гравці починають помічати шаблон і перестають йому насолоджуватися. (Наприклад: люди швидко втомилися від автоматично створених квестів у Skyrim, тому що вони могли бачити, що не існує притаманного сенсу процедурно генерованій місії, порівняно з дизайнерами, створеними дизайнерами. ) Отже, нашою роботою буде використання методів AI, щоб зробити ці ситуації цікавішими, і над цим ми все ще працюємо. (Storybricks все ще знаходиться на дуже ранній стадії альфа). Але наше дослідження свідчить, що мало хто намагається зробити щось подібне, і що це дуже важка проблема.

Ще одна проблема декларативного підходу полягає в тому, що він не дуже корисний. Вченим це подобається, тому що це легко обробити, наприклад довести, що ситуація вирішима або що набір логічних правил є послідовним. Але в реальному житті ані програмісти комп'ютерних ігор, ані кінцеві користувачі, як правило, не задовольняють декларативному представленню, яке зосереджує увагу на результатах, наскільки вони мають імперативне представлення, яке підказує їм, як діяти для того, щоб результати відбулися. Поточні 10 основних мов програмування є усіма обов'язковими , і вказівки щодо реального світу також, як правило, знаходяться в імперативній формі, будь то як спекти торт чи як сконструювати меблі. Відсутність ентузіазму з будь-якого кінця спектру означає, що немає комерційного стимулу для створення офіційних специфікацій для сучасних ігор, і це, мабуть, не зміниться найближчим часом.


Відмінна відповідь! Хоча я не погоджуюся з цитатою "справжні вказівки в обов'язковому порядку" (я бачив це раніше, але це зовсім інша історія). Як різновид збирання ніт я б сказав, що оскільки структура графіка прикладу іграшки фіксує певні структурні властивості розповіді, я б сказав, що вона її конкретизує (хоча не однозначно, вона може не захопити багато цього, хоча, але Я сказав, що це ілюмінальний приклад іграшки для ілюстрації проблеми. Всі довідники звучать дуже цікаво і пропонують маршрути для подальшого дослідження (як і ваш власний проект). Тому прийнято Дякую!
Тіло Віклунд

3

Я деякий час розглядав, як відповісти, і не зовсім впевнений, як це зробити.

Це гарне запитання. На жаль, відповідь зводиться до того, що або не має сенсу нічого програмувати, не кажучи вже про ігровий движок таким чином, або що це вже так, як все відбувається.


Здається, цей акцент на графіці, тому що повинен бути спосіб визначити фізичне існування об'єктів. Це десь, коли все починає набувати екзистенціальність, оскільки те, про що ми говоримо, це репрезентація виміру, але давайте просто ігноруємо це. Основний момент - це те, що насправді досить задіяно. Дозвіл на представлення простору - це щось, що по суті займає багато програмування ігрового двигуна. І якщо дизайнери хочуть зробити приємні сцени, їм знадобиться великий контроль над тим, як розміщувати речі. Таким чином, ви збираєтесь побачити багато матеріалів про графіку.

Отже, це сторона речей низького рівня. Комусь потрібно дуже глибоко замислитися над усіма цими маленькими технічними питаннями.

Що стосується правил розповіді та гри? Це поза сферою того, що повинен робити ігровий движок. Це частина, куди входить група розвитку.

Більше того, це не так, як багато думок не було викладено, як представляти ідеї через програмування. Це дійсно те , що історія інформатики є . І тому ігрові двигуни часто мають інтерфейси до мов високого рівня. Простіше уявити думки через них.


Отже, маючи на увазі, чи можу викласти мову спеціально для ігор з розповідним акцентом? Я б сказав, мабуть, ні. Знову все це зводиться до представництва. Мова повинна вміти описувати деталі таким чином, щоб комп'ютер знав, що з цим робити. Якщо метою є створення мови, специфічної для створення ігор, то будь-які дизайнерські рішення повинні бути зосереджені навколо цього.

І знову ж таки, існує багато варіантів вибору мов. І розвиває їх більше людей, ніж просто тих, хто в ігровій індустрії. Взагалі має сенс використовувати один із них.


Підсумовуючи, ви задали цікаве, але дуже складне питання. І я не зовсім впевнений, що це таке, чи якщо я насправді відповів на це.

* редагувати: Я розумію, що я розглядаю лише 3D-ігрові двигуни, ніби вони є єдиними, які існують. У деяких іграх людина взагалі не діє у фізичному просторі. Хоча в таких випадках я не впевнений, що ігровий движок багато би сприяв.


Хоча я добре розробив питання, я не впевнений, що можу прийняти це як відповідь. Я певною мірою погоджуюся з вашою оцінкою (мої початкові думки перед тим, як задавати питання, були чимось довгими і ці рядки), але я не можу повністю зрозуміти, чому правила та розповідь повинні потрапляти в область "програмування загального призначення", в той час як речі, пов'язані з просторовим представленням, повинні вимагати широких і більш-менш стандартизованих моделей / методів (крім того, що історично існує набагато більше досліджень формальних моделей та обчислювальних методів для таких, лінійних алгебр тощо).
Тіло Віклунд

Крім того, якщо ви все ще зацікавлені, які ваші думки щодо таких мов, як inform7.com ?
Тіло Віклунд

Як я бачу, це зводиться до питання зручності використання. Чи спростила б така система створення гри? Якщо це лише альтернативний спосіб представлення даних та взаємодій, який вже можна виконати мовою та синтаксисом, який знайомий (програмування загального призначення), чому б хто-небудь хотів би використовувати та розробляти таку систему, яка додає зайвого рівня абстракції?
Matthew R

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

Перш за все, я бачу, що все стало більш зрозумілим. З трохи більше контексту зрозуміліше, що ви запитуєте. Я також не впевнений у тому, який у вас є досвід програмування, тому це також ускладнює пояснення речей. З питання інформувати? Мені це не здається винятково корисним, оскільки з моєї точки зору писати текстові ігри на основі досить просто. Я сам провів досить велику роботу з генераторами парсера. (Писати парсери вручну - жахливий досвід, якого я нікому не бажаю: P)
xuincherguixe

2

На початку історії хобі-обчислень (тобто 80-х рр.) З'явилися деякі комерційні набори для розробки ігор, доступні як для текстових, так і для спрайтових ігор. На основі спрайту вони дуже схожі на нинішні "графічні двигуни".

Інший тип включав такі речі, як парсери природних мов. Цей тип, здається, живе в сучасних "редакторах рівня". Більшість із них, схоже, містять підтримку чогось типу сценаріїв Lua або Python. Я також зауважу, що я не бачу великої активності в редагуванні рівня відкритого коду, але це тому, що ці речі, як правило, дуже щільно поєднуються зі специфікою гри, про яку йдеться. Я тут думаю про щось на зразок будівельних наборів Elder Scrolls.

Kinect може повернути аналізатор назад. Як шанувальник старої текстової пригодницької гри, я захоплююсь напрямком Бетесди і тут. Це, безумовно, є власником, але, можливо, якийсь молодий геній ...


Історичний вимір цікавий, чи знаєте ви, як ці набори текстових ігор відрізнялися від сучасних підходів, таких як запропоновані в темі SE, яку я пов'язав у питанні?
Тіло Віклунд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.