|
Ф/\Ей|\/| Ну сами понимаете... должно быть место, которое не модерируется... Но не злоупотребляйте... |
|
Опции темы | Опции просмотра |
07.04.2012, 20:32 | #1 |
Новичок
Регистрация: 20.06.2011
Адрес: Нидерланды, Groningen
Сообщений: 9
|
Функциональный дизайн MUD
Всем доброго дня.
MUD придумали давно, движков много, каждый под свой набор правил и игровую механику, зачастую "жестко зашитую" в движок. Но игрового опыта сейчас у сообщества игроков еще больше, а технические ограничения движков, наверное, давно начали надоедать. Я почти не играл в MUD'ы, но очень люблю interactive fiction. Для меня, в первую очередь, в MUD'ах не хватает развернутой истории, диалогов с NPC или я просто на подобное еще не наткнулся. Я думаю, это следствие не очень удобных инструментов/скриптового языка и т.п. Хочется вместе с сообществом сделать открытый дизайн MUD движка. Задача собрать мета-движок, т.е. никакой "зашитой" механики/магии, все это часть сценариев. На таком движке воссоздать функционал Былин, а далее развивать его уже без ограничений, если таковые в нынешнем движке есть (какие?). Сам дизайн послужит отправной точкой для нового движка в будущем и поможет maintainer'ам нынешнего движка Былин лучше понять желания игроков. Функциональный дизайн это набор абстрактных, не загнанных в технические рамки, пожеланий игроков и дизайнеров "мира". В идеале набор историй, где каждая возможность/функционал раскрывает себя в игровом/игро-дельном процессе. Иными словами Хочется <функционал>, так чтобы <эффекты>. К примеру, <ситуация> и тут <событие>. Я <использую функционал> и <оценка>. Оценка даст зерно дискуссии по поводу удобства/fun описываемого функционала. Дабы не было вопросов, все изыскания будут опубликованы на bitbucket.org под лицензией creative commons. Другими словами, все ваши идеи озвучены для общества и любой человек их сможет воплотить в жизнь безвозмездно (чтобы вы сами смогли в это все поиграть). Свой движок я буду писать также открытым и свободным, ведь в самом деле, контент и игроки это единственная ценность любой игры. |
07.04.2012, 21:06 | #2 |
Новичок
Регистрация: 20.06.2011
Адрес: Нидерланды, Groningen
Сообщений: 9
|
Версии мира
Назовем миром всю логику игры и ее текущее состояние. Хочется сделать возможность создавать разные миры на одном движке так, чтобы было можно использовать ресурсы сообща и перемещать персонажей на сколько это возможно. Второе, это возможность "откатить" мир до некоторого состояния в прошлом.
Совместное использование ресурсов кажется простым. Пусть есть меч из Былин с описаниями под разные ситуации и с некоторой логикой (эффекты). Другая игра (Star wars) могут использовать этот меч, поменяв только часть логики, превращая железный меч в световой. Хорошо бы придумать парочку таких предметов, которые могли бы успешно быть использованы несколькими совершенно разными мирами. Импорт персонажей чуть сложней. Мир это постоянно изменяющийся набор логики и игровых объектов. Для каждого объекта можно вести историю (актуально для персонажей, менее значимо для просто артефактов). На примере персонажа, можно в любой момент отыграть его с базового "болванчика" до нынешнего состояния. Это позволяет нам при изменении логики игры автоматически применить "задним числом" все эффекты просто отыграв персонажа по новой. Естественно тут будут ограничения, если персонаж убил монстра, а после изменений ему это будет не под силу, то все равно монстр окажется убитым (или есть идея получше?). При перемещении игроков между мирами, правила мира будут принимать только допустимые события истории персонажа. Так к примеру получив супер меч и прибавку к силе +2, персонаж при переходе в другой мир может внезапно обнаружить вместо меча пистолет, а вместо +2 силы какой нибудь имплантант в тело или вообще ничего. Версии мира это наверное будет самым сложным в реализации. В идеале при изменении логики игры, мир ответвляется со всем его содержимым. Некоторые игроки приглашаются опробовать изменения. Когда все готово, мир сливается с основной веткой, автоматически применяя правила нового мира к событиям/изменениям после ответвления. Все возможности выше основываются на одном, детальный лог всех событий мира и возможность его "прокручивать" вперед/назад. Это все сильно похоже на системы контроля версий (mercurial, git etc), если кто тут с ними встречался. Позволяет игроделам проще создавать новый и доводить до ума нынешний контент. Итог: версии - это хорошая штука, нужно лишь описать все в деталях |
07.04.2012, 22:56 | #3 |
Новичок
Регистрация: 20.06.2011
Адрес: Нидерланды, Groningen
Сообщений: 9
|
Умное поведение персонажей
Пусть у персонажа есть некоторый набор навыков и вещей. Пусть есть навык "метнуть небесный огонь" и "чертов рог", тоже плюющий огнем. Допустим хотим сжечь цветок на дорогое. Не знаю на сколько умный парсер в Былинах, но предполагаю нужно будет:
Игроку необходимо конкретно указать чем и что сделать по отношению к цели. Теперь представим, что оба объекта помечены как "сжигающие цель". Тогда достаточно сжечь цветок, что бы игра предложила выбор или автоматом использовала наиболее эффективный (достаточный для цели, но не самый "дорогой") метод. Для игроков это может быть достаточно сильным послаблением, занижающим удовольствие. А вот для NPC это предпосылка к более умному поведению. Пусть есть не дружелюбный дракон, поведение которого по отношению к врагам "атаковать". Тогда игра автоматом находит наиболее эффективный метод для решения задачи: от новичка отмахнуться хвостом, от матерого вояки взлететь и бить огнем со всем мощи. Заметим, это не жестко прописанное поведение if-then, это динамический поиск решения (constraint satisfaction problem, на том же choco к примеру). Подобный подход открывает гибкий метод для задания поведения NPC. Технически это потребует RDF подобного графа знаний, от качества которого зависит "интеллект" сервера. Хранение и поиск в большом графе в принципе решенная проблема (к примеру 4store). Затем по найденным решениям выбираем подходящие (CSP solver), ранжируем, применяем. Все это можно вынести в клиент, но тогда отпадут существующие клиенты, что недопустимо. Или кешировать результаты на сервере, что не сложно и эффективно. Итог: кто-нибудь из игро-делов, может быть выложите скрипты одного любого персонажа из Былин (что то не нашел в открытом доступе). Попробую переписать под идею выше полу-натуральным языком. |
08.04.2012, 01:45 | #4 |
Новичок
Регистрация: 20.06.2011
Адрес: Нидерланды, Groningen
Сообщений: 9
|
Статистика
Полностью автоматизировать игровой мир нельзя, возьмем это за аксиому. Необходимо вмешательство человека (богов) для случайных событий, корректировки баланса и т.п. Для этого человеку требуется полная информация о игре, иными словами - статистика.
На ум приходят следующее: (персонаж, действие, цель). Позволяет нарисовать:
Карта активности местности (heatmap). По задумке покажет наиболее популярные дороги и местность, хотя эта информация должна быть скрыта от игроков. Означает отрисовку всей местности, которая в былинах... просто огромна. Но не больше чем наша планета, а значит можно положить на гугл карту (http://www.uesp.net/maps/mwmap/mwmap.shtml), хотя красочно не получиться (мир былин, как и любой MUD это "комнаты"/квадраты). Ранжирование игроков по активности за неделю/месяц. От туда же ранжирование по классам, кланам и т,п. Поможет увидеть кого много, кого мало, позволит вмешаться (обновить непопулярные классы и т.п.) Хорошо бы собрать полный список всех инструментов и выборок, интересных игрокам (основа для новостей, событий и т.п.) и богам (тюнинг игрового мира). |
08.04.2012, 18:13 | #5 |
mud.ru Teams
Регистрация: 02.04.2009
Сообщений: 73
|
Поясните мне, товарищ что-то от кого-то хочет, или это просто мысли вслух?)
|
08.04.2012, 19:22 | #6 |
Новичок
Регистрация: 20.06.2011
Адрес: Нидерланды, Groningen
Сообщений: 9
|
И мысли вслух и зерно для дискуссии. К примеру о статистике, быть может тут будут боги, которые вспомнят "а вот хотелось бы знать ..." и полезная в плане функционала мысль не пропадет зря. Или скриптоделы, вспомнят как описывали if-then логикой NPC, если такое было, и подкинут идеи в плане удобства построения мира. Или игроки вспомнят как после очередного изменения механики игры хотелось откатиться назад, если было, и озвучат мнение стоит делать версионный мир или это блажь. Или есть какие еще идеи.
Иными словами, мне нужен опыт игроков и игроделов. Хочется создать MUD движок, который был бы таким же удобным, как Inform (http://www.inform-fiction.org) для авторов и не имел бы "острых углов" для игроков. MUD со всей механикой - система сложная, эволюционная, от того и интересная Сейчас разбираюсь с движком Былин. По сути большая часть кода - один большой кусок механики игры. Первым качественным изменением хочу вынести игровую логику из кода, сделав правила данными, что даст возможность держать версии правил, пробовать изменения в песочнице и rollback/merge по ситуации. Вторым качественным отличием будет сброс всего мира в граф, что позволит проще (на мой взгляд) описывать действия/эффекты/saving throws и т.п. К примеру факт, что персонаж облит водой, приводит к небольшому fire resistance, без отдельной проверки этого в правилах. Таким образом правила будут просты, а новые эффекты можно будет легко добавлять. Минусом подхода, возможно, будет более низкая "абюзоустойчивость". Может оказаться, что поливать себя водой из фляги станет также эффективно, как создать вокруг себя магический щит от огня. С другой стороны, игрокам может быт будет интересно искать такие не стандартные подходы к решению проблем. |
08.04.2012, 19:39 | #7 |
Новичок
Регистрация: 20.06.2011
Адрес: Нидерланды, Groningen
Сообщений: 9
|
Не перевелись еще на земле программисты "старой школы" Удержать в уме все то обилие эффектов и действий, да собрать общую картину работы движка - на это требуется особо хорошая память. И судя по последним изменениям, такие люди есть
Чую меня на ближайшие пару недель займет только описание всех действий, магических эффектов и прочего. Выложу, быть может тогда игрокам будет проще обсудить/оценить это все. Думаю, что не все игроки знают все детали механики движка и кому то это все будет полезным. |
09.04.2012, 00:28 | #8 |
Новичок
Регистрация: 27.07.2010
Сообщений: 42
|
Вообще имху надо мады, былины в частности, обновлять в плане геймплея. Антураж у былек суперский, а вот зонинг и накой этот зонинг вообще сдался - слабоват. Хотя прежде чем что-либо менять главное определиться на кой оно вообще и кому надо. Как игра, уже многие замечали - мады дефакто умерли, ибо появились сотни и тысячи игр интереснее, красочнее, впечатляющее. Но именно как (сейчас меня дико засмеют), именно как направление искусства, как та самая интерактивная литература - мады могут быть более чем интересны. Ведь даже как простой чат мад уже на голову выигрывает, а что было бы, если заострить на этом внимание - книга, в которой герои реальные люди, да еще и способные повлиять на исход повествования.
Т.е. копать нужно даже не в сторону геймплея, а я даже не знаю как это назвать, в сторону концептуальности, идейности чтоли. Тоесть в подобном проэкте задротства должно быть минимум, если и вводить морты какие, то жестко ограничить их число неким разумным показателем, и не упирать весь зонинг в наличие этих самых мортов. Попробуйте сейчас побегайте-почитайте описашки даже ватных зонок былек в нуб-стафе. Дальше Корсы фиг дойдете. В итоге излагая свой собственный опыт - область Корсы в плане описашек прочитана вся, а дальше реж кратк и морты морты, ибо без них фиг куда дойдешь. А как происходит смена цели с искусства на бесконечно тупое по своей сути набивание мортов - читать что-либо становится попросту невыгодным. Т.е. в проэкте аля интерактивная литература упор должен быть сделан на смекалку, поиски тех самых нестандартных решений, на общение с игроками и неписями, на какую-то конкретную глобальную цель, как итога повествования, на выполнение некой сюжетной канвы, сюжетной розы ветров (но не однобокой линии). Если сюжет пройден - вайп с занесением выполнивших в некую доску почета. Ну "мудальку" какую выдать. Конечно в такой игре (ведь как не крути это все-равно будет классифицироваться как игра) тоже появятся свои манчкины, но этого кажется не избежать вовсе, главное не возводить манчкинство в норму, как это сделано по сути сейчас в быльках. Но как реально замечали - подобный проэкт будет по своей сути абсолютно чем-то иным, нежели нынешние былины, и кому это надо - вопрос который меня волнует больше всего. У меня есть очучение, что идея может быть более чем востребованной, судя по популярности тупых браузерок недомадов и судя по количеству любителей фикшн-литературы. Но я-таки могу ошибаться. |
09.04.2012, 04:34 | #9 |
Новичок
Регистрация: 20.06.2011
Адрес: Нидерланды, Groningen
Сообщений: 9
|
Да, сильный и в какой то мере заканчиваемый (противоположность open-ended) сюжет это интересно, но потребует решения главной в любом творческом проекте проблемы: авторы.
Частью решения проблемы будет удобный набор инструментов, позволяющих авторам переносить идеи в игру. Версии зон/миров для "песочниц" (каждая песочница - своя история), динамический поиск решений (умный ИИ), синтез фраз (пока нет идей, кроме банальных вариантов) и удобное описание мира. Но главный вопрос к авторам, удобны ли Былины для реализации идей? К примеру в Inform применяется почти натуральный язык для описания комнат, для аналитических языков типа английского подход идеальный. К примеру Налево дорога ведет в темный лес. Указатель гласит "Гиблое место...".. На самом деле подобные конструкции достаточно легко перенести на формальную грамматику (да, в русском, придется поиграться с морфологией), что приводит к:
Далее игрок, находясь на светлой поляне, пишет "выходы", что приводит к:
Выдаст (с поправкой на морфологию): налево по дороге темный лес. В итоге авторам становиться гораздо проще описывать мир, т.к. из полу-натурального языка можно достать очень много информации. Полу-натуральный - в смысле он все равно будет формальным (однозначным), но будет ближе человеку. Для Inform'а работает хорошо, а о неудачные примерах типа COBOL мы умолчим Извиняюсь за технику, в этой теме наоборот хотел как можно меньше подобного, дабы не отвлекать. Смерть MUD'а, как и interactive fiction, пророчат уже с десяток лет. Но оно все равно хорошо развивается, просто потому, что людей много, как и интересов. Можно начать собирать крышечки от кока-колы, как внезапно найдутся по миру не один десяток тысяч людей, занимающихся тем же самым. Хотя надо признать, я решил поднять эту тему не из любви к MUD'у (нулевой опыт), а из-за чисто прикладных проблем, которые будут использоваться дальше (dynamic service composition для нынче модного SaaS и многое другое). Хотя MUD - штука интересная. Спасибо Знавику за прогулку сегодня, час пролетел как мгновение. Одел, дал денег, сводил на болото, заразил игрой. Подобное редко встречается в других играх Сейчас складывается впечатление, что все сводится к боям, а следовательно к прокачке умений для боя. Что бы подогревать интерес, мобы растут в силе, без прокачки делать там нечего. Control loop замкнулся, манчкинство будет только расти. Но складывается впечатление, это и есть то, что хочется игрокам (судя по другим играм тоже, не только MUD). Значит пусть будет так. Если же новые инструменты окажутся удобными, то быть может появиться в игре старик сказочник, который за трубкой табаку расскажет историю о славных богатырях, которые... (группа перемещается в "песочницу", умения и свойства адаптируются под правила мира. выносит компания опыт и быть может редкие артефакты). |
09.04.2012, 05:19 | #10 |
Новичок
Регистрация: 20.06.2011
Адрес: Нидерланды, Groningen
Сообщений: 9
|
По не совсем ясной мне причине местный народ не любит ботов, или мне так показалось. Это ведь наоборот интересно, автоматизировать своего персонажа.
Хорошо бы реализовать возможность описывать логику перса (триггеры) на сервере. Во первых это снимет качественную разницу между клиентами, будет проще браузерным клиентам. Во вторых, заскриптованный перс будет вести себя как серьезный моб. Да, есть лимитированные вещи. Так ведь его перса можно убить и взять себе, что хочешь. Да, перс может быть в безопасной комнате. Но можно воззвать к чести перса (кинуть перчатку, плюнуть в рыло и т.п.). Сервер автоматом на мыло уведомит хозяина. Хозяин может или проигнорировать "стрелку" или устроить показательную порку. Перса можно заскриптовать автоматом оценивать соперника и принимать бой на арене, если преимущество очевидно (с поправкой на накачку зельями/магией и с датой поединка "немедленно", но тут по уму самого хозяина). Можно мобом сидеть и охранять зону, к примеру Кащей, который на самом деле чей то перс. Таким путем придем к интересным мобам, которых программирует автор зоны (или кто другой). Моб честно прокачивается на пришедших, честно удерживает их шмотки, перерождается на заданном месте, но может даже гулять по миру. Жать на кнопки - это интересно. Прокачать перса и поставить в некоторую зону, порождая новую легенду, программируя до деталей его поведение - это еще интересней. Подробная статистика даст игроку тюнить своего перса по ситуации, подкидывая пищу для ума для других игроков. Да, со временем перс растеряет уровни и опыт (что для объявленных мобами персов должно происходит медленней) и уступит место кому-то другому или бывшему хозяину зоны. Но на то она и история, что бы течь и меняться. Назад к брошенным персам. Если хозяин не реагирует на вызовы в течении 3 реальных дней, то на перса обрушивается презрение богов. Его шмотки начинают рассыпаться по одной каждый реальный день. В таких случая хозяин сам захочет пойти на постой, с проблемами по деньгам. |
09.04.2012, 15:45 | #11 |
Мадер
Регистрация: 23.08.2005
Сообщений: 164
|
я седьмого числа в семь вечера был в такое же говно как и ТС
__________________
Человеческая глупость дает представление о бесконечности. |
09.04.2012, 17:04 | #12 |
Новичок
Регистрация: 20.06.2011
Адрес: Нидерланды, Groningen
Сообщений: 9
|
|
11.04.2012, 21:23 | #13 |
Мадер
Регистрация: 10.08.2006
Адрес: Господин Великий Новгород
Сообщений: 172
|
ТС - топикстартер
skYmarine шутит
__________________
MESS WITH THE BEST, DIE LIKE THE REST! |
11.05.2012, 19:17 | #14 |
Отличник форума
Регистрация: 05.03.2004
Сообщений: 301
|
Интересная тема, респект автору.
По-моему применительно к Былинам наиболее актуально было бы - реализация "умных" NPC и статистики. Первое вернуло бы интерес к прохождению одних и тех же зон в сотый раз, т.к. мобы резко начнут умнеть и придется менять тактику прохождения. Статистика позволила бы богам менять баланс не на глазок (что потом приводит к новому дисбалансу), а на основе анализа каких то данных. Не знаю, правильно ли я понял идею описания клеток полу-натуральным языком, но подозреваю, что полноценного литературного описания таким способом не добиться. В былинах уже есть степь, которая была сгенерирована автоматически зоногенератором, имхо качество сильно пострадало. По поводу истории персонажей и версий миров - а зачем? Ведь игрок раскачивает своего персонажа руководствуясь текущей механикой. Если позже произошли какие-то изменения в механике и они будут применены задним числом к персонажу, то часть усилий игрока пропадает даром. Есть такое где-то в играх? |
11.05.2012, 20:00 | #15 |
Отличник форума
Регистрация: 05.03.2004
Сообщений: 301
|
Посмотрел интродакшн ролик на inform7.com, выглядит круто)
Такой вопрос возник: "Тёмный лес" в маде это не клетка а целая зона, которая может состоять из десятка клеток "На опушке", десятка "В гуще леса" и т.п. Как это описывается средствами inform? "Гуща леса это лес на запад от гущи леса"?) Либо требуются уникальные имена клеток? Или может там есть что-то типа "Гуща леса это лес на десять комнат вокруг"? |
Метки |
дизайн, механика, опыт, фантазия |
Опции темы | |
Опции просмотра | |
|
|