пятница, 22 июля 2011 г.

MMO: Мы боты


Мы знаем себя лучше любого другого. Каждый из нас -- начало субъективной системы координат. Огромная вселенная, заключенная в небольшой оболочке. Эта вселенная с тысячами тайных даже для самого себя уголков, скрытых в далеких глубинах. Как существа социальные, мы сканируем свою вселенную не в последнюю очередь благодаря эху -- сигналам, отражающимся в глазах, словах, поступках других людей. В далекие времена ранней компьютерной эпохи, когда живых людей в свою игру не было возможности заманить чисто технически, их роль выполняли боты. NPC-агенты с виду такие похожие на людей. Среди них были злодеи, с маниакальным упорством преследующие нас, или даже друзья, готовые за нас отдать жизнь. Но всех их объединяло то, что они прекрасно знали о нашем существовании и исключительной роли в жизни игрового мира.

Кому-то это нравилось, кому-то -- не очень. Но исключительное внимание, проявляемое к нам любым искусственным жителем виртуального мира, нужно было как-то обосновывать. Поэтому вы просто обязаны были быть изначально знаменитым. Быть Спасителем Мира, Избранным, для многих оказалось интересным несколько раз, после чего бесконечные дифирамбы начинали откровенно раздражать или вызывать зевоту.

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

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


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

В одном из интервью бывший CEO Google Эрик Шмидт поделился очень интересным наблюдением. Он рассказал, как разрабатывал поисковые механизмы в начале интернет-эпохи. Его главной мыслью было то, что проблемы эффективности поиска заключались даже не в дефиците вычислительных средств, а в новых технологиях, идеях, о появлении которых они в момент разработки не подозревали, или не представляли их применения в контексте своей работы.

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

Какие бы изощренные механизмы не придумывали инженеры искусственных душ, ничего не сравнится с потенциальной глубиной одного живого человека. Это романтический подход. А прагматичный выглядит так -- зачем мне тратить деньги на разработку и тестирование бота, если все, что мне надо, это соединить множество игроков через интернет.

Какое счастье! В одно мгновение вместо искусственных болванчиков появилось огромное количество людей, обеспечивающих стаффаж общей игровой композиции. Те же рейнджеры, снующие туда-сюда, с теми же возможностями, что есть у тебя, да еще и потенциально способные провести с тобой диалог невероятной ветвистости. Правда, ветвистость таких NPC могла распространятся и на оскорбления в твой адрес, но у всего бывают изъяны. Для того, чтобы живые игроки слишком уж не досаждали вам, были возведены прозрачные стены, ограждающие вас от них.

Наступила, казалось бы, идиллия. NPC (non playing character) превратились в APC (actor playing character), о чем мечтало множество игроков. Но вот о чем это множество не подозревало, даже когда сердилось на собственную избранность в игре, так это о том, что они сами станут болванчиками на потеху другим игрокам. Другая система координат резко изменяет вашу собственную роль. А невидимые стены, построенные, как вы думали, для вашей защиты, точно так же защищают от вас всех остальных. Никакого эхо, минимум контакта, просто продвинутые боты, которые, впрочем, считают, что бот -- это вы. И относятся к вам соответственно.

15 коммент.:

Gmugra комментирует...

Я даже не знаю, что и сказать :) Философски как-то :)

Andre комментирует...

Да нет, это же просто мечта: чтобы в твоей игре, в твоём собственном мире NPC были не программой, а за них играли бы живые люди. И вдруг - мечта оказывается давно сбылась. И эта концепция продолжает развиваться.
И если аудитория таких игроков достаточно велика, то это станет одной из ветвей развития ММО. Этакие сингло-ММО, где ты герой, а все другие игроки - декорации. Правда, для любого из них декорацией будешь ты :)

Atron комментирует...

Ну, в общем, да, я как раз понимаю, что аудитория у такого подхода вполне большая. А для того, чтобы тебя убедили в том, что ты все еще герой, есть обычные NPC. Естественно, убедят лишь тех, кто на это согласен. Вон они мне в Штормграде все наперебой говорят "Слава Богу ты пришел!" и "Без тебя труба тут всем будет!". :)

jaXes комментирует...

Я думаю, что игроки довольно хреново играют роль NPC :) Когда я только начинал приобщаться к ММО, то был шокирован тем, насколько поведение других людей разрушает атмосферу игрового мира.
Если же смотреть на вопрос шире, то, полагаю, очень многим людям близок солипсизм. Не как осознанное мировоззрение, а как некая "сверхидея", лежащая в основе восприятия окружающего мира. Есть "Я", а есть "не-Я", некая абстрактная субстанция, массовка, фон, стаффаж (хорошее слово, да).

Set комментирует...

"Мы знаем себя лучше любого другого." Мы ДУМАЕМ, что знаем себя лучше любого другого. Но нередко мы и себя-то не знаем толком - если только придуманный образ. А остальных и подавно. Избитый набор стандартных реакций на стандартные проблемы - вот что такое мы. А "Что", "Почему", "Из-за чего" нас обычно не волнует. Ведь стандартные реакции действуют, придуманный образ тешит наше самолюбие, так что же ещё надо? Нужны боты, которые будут нам радоваться и уважать. И вот мы уже Спасители Мира, Избранные, всё отлично. Но потом мы заходим в ММОРПГ и оп-па: сюрприз! Наш чудесный образ получает ментальный удар по башке от первого ехидного умника и узнаёт о себе очень много чего нового. И приходится спешно наращивать ментальную броню, тренировать свой драгоценный образ и контратаковать врага - сам дурак!! - всё ради защиты своего образа. Проходит немного времени, вырабатывается рефлекс и люди вокруг тоже становятся ботами. Видишь Васюпупкина Победителя Смертокрыла? Это не Вася, это танк. Он должен действовать как танк и не вякать, а остальное до лампочки. Ну ещё разрешается хвалить меня любимого. А вон тот - хилер, тот - дамагер. Вот и пусть дамагает и молчит, сойдёт за умного, нууууб. И в результате после короткого периода растерянности всё вернулось на свои места. Бот умер, да здравствует бот!. Жизнь продолжается.

Anton комментирует...

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

Кстати, помните, когда-то планировалась ММО про космос (она у меня почему-то со Стартопией ассоциируется, но может я путаю... Mudpie? Не? Память, память), где на NPC-агентах (а не стоячих автоматах по выдаче квестов) собирались делать большой акцент. Но потом это почему-то накрылось медным тазом. А было бы интересно, хотя бы из исследовательско-прогрессивных соображений.

Ну и NPC - это же не только болваны, стоящие на одном месте в городе, и дающие профы и "принеси-100-беличьих-хвостов"-квесты, а и мобы тоже. Насколько я понимаю, они тоже очень слабо куда-либо развиваются.

Грустно это. Я понимаю, что ММО заполонили быт домохозяек, супер-популярно и супер-выгодно, но и другое бросать не надо. Тем более, что начинало получаться хорошо (КР, да :)).

Set комментирует...

Озвучку толком сделать до сих пор не могут, текстовку ту же, а вы про ИИ (а они куда проще и дешевле). Да что говорить, если самый лучший пайнтфайнтинг (блин, никак не запомню как это слово пишется) в последний раз был в ... Вульфенштейне (из-за чего я чуть инфаркт не получил мно-ого лет назад). А ведь это тоже ИИ.

Anton комментирует...

Агентный ИИ и озвучка - пока что противоположные векторы развития игр. Озвучка означает сценарий, а даже если не он - то использование языка. Даже бессловесные агенты - это уже может быть очень интересно.

PS Pathfinding уже отработан, его изобретать не надо, просто подключаешь нужную библиотеку. Это функция нижнего уровня, как отрисовка полигонов, её делать нет смысла. Интереснее не то, как агент доберётся до точки А из точки Б, а почему он захочет туда идти.

Set комментирует...

"пока что противоположные векторы развития игр" Дело не в этом. И то и другое в принципе вполне осуществимо, но требует денежных затрат. А зачем, когда и так сойдёт? Что, у DAO с его кривой графикой, устаревшей на 5+ лет, были плохие продажи из-за неё? Нет. Пипл схавал, грубо говоря. "А если нет разницы, тогда зачем же платить больше?"

"Озвучка означает сценарий" Текстовка вообще-то УЖЕ есть. Другое дело, что и так сойдёт.

"PS Pathfinding уже отработан" Что-то я этого не наблюдаю в том же Torchlight, который не так и давно вышел. А 5 Герои? В патчах вроде немного поправили, но изначально он был более чем убог (в отличие от великолепно проработанного в 3 и 4 части). Если это всего лишь библиотека, что же её везде не встраивают?

Anton комментирует...

> И то и другое в принципе вполне осуществимо, но требует денежных затрат.

Не понимаю. Или ты делаешь сценарную игру, где все тексты NPC прописаны, и тогда озвучка - вопрос времени и денег (и размера даунлоада, хе хе). Или же ты делаешь игру, где NPC где-то хотят, что-то своё делают, и гененировать для них тексты приходилось бы под ситуацию. Тогда озвучка - не наибольшая проблема, и проще выдумать для них sim-speak, чтобы в лингвистике не погибнуть.

> Если это всего лишь библиотека, что же её везде не встраивают?

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

В каждом случае, наверное, свои причины. И свои задачи ставятся перед игрой и её ИИ.

Set комментирует...

Наибольшая - не наибольшая. Вы много можете назвать ролевых игр, где полно текста и он весь озвучен (не важно онлайновых или оффлайновых)? Независимо от заявленного бюджета с озвучкой до сих пор беда. Не хотят на неё тратиться. Тем более, что времени это не занимает. Процесс разработки игры ведь параллельный, а не последовательный. Да и сама озвучка делается довольно быстро. В том же Hellgate на модель 1 моба уходили сутки. За эти же сутки можно было озвучить все тексты в игре. Параллельно. В общем это фактически вопрос "экономии на спичках". И полной озвучки в играх толком не будет ещё долго. Как не было раньше полноценной, качественной и разнообразной музыкальной озвучки в фильмах. Пока не вышли ЗВ и не установили новую планку качества.

Какой жадности? Вульфенштейн с его прекраснейшим алгоритмом вышел лет 20 назад. А тот же Торчлайт года 2-3 назад. Обсчитываемое количество мобов у Торчлайт немного больше. Но вот алгоритм в Торчлайт чуть лучше, чем в Дьябло (даром, что разработчики общие). В Дьябло 2, если вы помните, моб / персонаж игрока мог стоять посередине загородки длиной в несколько метров и не двигаться: он не мог решить в какую сторону бежать. А в Вольфенштейне фашист, услышав звук через стену, мог найти дорогу к игроку через весь уровень. И это почти 20 лет назад. И его системные требования более, чем ничтожны. Опять таки сравните поиск пути в 3-4 Героях и в 5. Разница в выходе во много лет, ситуация на карте идентична, но реализация в финальной части на порядок хуже. Так что я не думаю, что там "просто подключаешь нужную библиотеку". Надо работать. Но зачем, когда и так сойдёт, да и дешевле? Вот в чём вопрос. Разработчики экономят на всём: графике, озвучке, ИИ, оптимизации, - на всём, чем угодно. Мало кто делает полноценные проекты. И не думаю, что при моей жизни ситуация сильно изменится.

Anton комментирует...

> Вы много можете назвать ролевых игр, где полно текста и он весь озвучен (не важно онлайновых или оффлайновых)?

Oblivion, MassEffect 1/2, Dragon Age 1/2, на мою жизнь хватает. Batman AA почти ролевая, и тоже озвучена. Чем больше букв "А" в "ААА" проекта, тем больше в нём озвучки :)

> Тем более, что времени это не занимает.

Занимает. Из моего опыта, записать 5 страниц печатного текста (не мелкого, чтобы читать стоя у микрофона, на вытянутой руке, не заслоняя лицо) занимает полчаса-час, если ограничиться парой дублей.

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

Так что - бюджет и время, как и было сказано выше.

> Вульфенштейн с его прекраснейшим алгоритмом вышел лет 20 назад. А тот же Торчлайт года 2-3 назад.

Разные игры, разные топологии (wolf3d - двумерная карта из равносторонних квадратиков, а в Torchlight даже какие-никакие уровни высоты есть), разные способы наблюдать мобов со стороны игрока. Если в wolf3d моб на тебя не вышел - ты решишь, что он тебя не услышал :) Если вообще заподозришь его существование. А может он тоже стоял, не мог решить, в какую из буридановых сторон податься. А если в Torchlight моб на тебя выйдет через весь уровень - как ты его отличишь от отсальных? ;)

Ну и ты мою главную мысль не заметил. Само наличие озвучки означает наличие более-менее жёстких сценариев разговов. Ат о других NPC писал.

Set комментирует...

1. Очень мало.
2. Игра делается несколько лет, времени более чем достаточно.
3. Что-то я не видел в рекламе ВоВ, DAO, Обливиона и прочих ААА проектов данных по тем, кто их озвучивал. Где же маркетинг? Кто их вообще знает, кроме фанатов игры, раскапывающих всё, вплоть до клички собаки программиста? Даром, что набирают нередко по знакомству (в частности так создавался Макс Пейн). Вот в мультфильмах ААА класса - вижу. И то - в голливудских.
4. В Торчлайт, как и в Дьябло, рассчитываются мобы только в зоне видимости. А реагируют - в 3/4 - 1/3 зоны видимости (или, максимум, в полной, если ранены).
5. Если НПС разговаривают - значит диалоги уже есть. А раз они есть - значит их можно озвучить. Так что я вас не понимаю. Небольшая проблема может быть только с модульными диалогами, но она легко решаема. Так как на озвучку можно пригласить тех, кто в ней давно работает (с поставленной речью).
6. Про бюджет и экономию и я писал. А время - я тоже писал, но другое. Это параллельный процесс, он не увеличивает время разработки игры.

Set комментирует...

Кстати: если я правильно понимаю, то Торчлайт, как и Дьябло, реализован на двумерной карте. Как-нибудь присмотритесь к взаимному расположению "этажей".

Anton комментирует...

Бессмысленно, я понял.

Отправить комментарий