Age of Empires
Age of Empires
Age of Empires II
Age of Empires III
Asian Dynasties
Age of Wonders
Age of Wonders III
Alpha Centauri
Alien Crossfire
Галерея
Канал данных
Обзоры
Советы и секреты
Файлы
Call to Power II
Call to Power
Civilization: Call to Power
Галерея
Новости
City Building
Caesar
Caesar II
Caesar III
Caesar IV
Children of the Nile
Emperor
Pharaoh
Zeus: Master of Olympus
CivCity: Rome
FAQ
Галерея
Обзор
Файлы
Цивилопедия
Civilization
Скриншоты
Советы и секреты
Таблицы и формулы
Файлы
Цивилопедия
Civilization II
Дополнения
Обзоры
Советы и секреты
Файлы
Civilization III
Civ3: Conquests
Civ3: Play the World
FAQ
Архив
Моды, сценарии
Обзоры
Сделай сам
Стратегия и тактика
Таблицы и формулы
Техподдержка
Файлы
Читы и баги
Civilization IV
Civ4 Beyond the Sword
Civ4 Colonization
Civ4 Warlords
FAQ
Моды, сценарии
Обзоры
Стратегия и тактика
Таблицы
Техподдержка
Файлы
Civilization V
FAQ
Features
Gallery
Анализ
Нации
Обзоры
Руководство
Файлы
Цивилопедия
Colonization
Колонизопедия
Скриншоты
Стратегия и тактика
Файлы
GalCiv
Galactic Civilizations
Galactic Civilizations II
Galactic Civilizations III
Галерея
Моддинг
Обзоры
Советы и секреты
Файлы
Heroes of Might & Magic
Heroes of M&M
Heroes of Might & Magic II
Heroes of Might & Magic III
Новости
Master of Orion
Master of Orion
Master of Orion II
Master of Orion III
Файлы
Mount & Blade
M&B. История героя
M&B. Огнем и мечом
M&B. Эпоха турниров
Prophesy of Pendor
Галерея
Обзоры
Советы и секреты
Rise of Nations
Rise of Legends
Stronghold
Stronghold Kingdoms
Total War
Empire: Total War
Medieval: Total War
Medieval II: Total War
Shogun: Total War
Shogun II: Total War
Napoleon: Total War
Rome: Total War
Галерея
Музыка
Файлы
Видео
Игры
Мультфильмы
Спартак
Галерея
Concept Art
Labels & Covers
Лидеры
Обои
Скриншоты
Другие Цивилизации
Браузерные стратегии
Игры Сида Мейера
F-15 Strike Eagle
F-19 Stealth Fighter
Gunship
Railroad Tycoon
Sid Meier's Pirates!
Sid Meier’s Gettysburg!
Новости
Скачать
CIV1 Files
CIV2 Files
CIV3 Files
CIV4 Files
CIV5 Files
COL Files
M&B Files
Other Games Files
SMAC Files
TW Files
Аудиокниги
Журналы
Книги
Софт
Ссылки
Board Games
Browser Games
CIV Links
Console Games
Old Games
PC Games
История
Литература
Хроники
DOS
Игрострой
Интервью
История жанров
Сид Мейер
Старое Железо
Человек и Компьютер
Главная » Хроники » История жанров » RPG » Генерация персонажей: научные аспекты

Генерация персонажей: научные аспекты

Заканчивая цикл, посвященный генерации персонажей в ролевых играх, нам бы хотелось обратить внимание уважаемых читателей на один интересный нюанас, который состоит в том, что дело это совсем не «игрушечное», а наоборот очень даже серьезное. Хотите смейтесь, а хотите нет, но через эту проблему, характерную для компьютерных игр, сегодня проходит фронт научных исследований математиков (искусственный интеллект), психологов (когнитивная психология), философов (теория познания), биологов (поведенческие реакции), социологов (личность и общество), а также специалистов в области культуры (театр, кино, литература) и бизнесменов (как из всего этого сделать деньги).

1. Формулировка проблемы.

Компьютер — вычислительная машина, которой от роду положено иметь дело с понятиями, которые можно выразить числами. По сути своей единственное, что он умеет делать — это складывать числа. Вычитание — это сложение наоборот. Умножение — это серия многочисленных операций сложения. Все прочие операции как математические, так и логические — это все действия вторичные. Первично: 1 + 1 = 2.

А дальше начинаются фокусы, такие например как:

СИЛА + СКОРОСТЬ = УДАР

УДАР — БРОНЯ = ПОРАЖЕНИЕ

ЗДОРОВЬЕ — ПОРАЖЕНИЕ = СОСТОЯНИЕ

если СОСТОЯНИЕ < 0, то СМЕРТЬ

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

2. История проблемы.

Когда-то, когда появились первые игры, их создатели поставили перед собой задачу: «А как математически выразить все многообразие возможностей поведения человека в игре?» Решение пришло быстро — через некоторые персональные атрибуты (характеристики). Тогда же появилось желание разделить эти атрибуты на первичные и вторичные (производные).

Например:

Здоровье, сила, выносливость, скорость, интеллект, лояльность (ответственность) — первичные атрибуты.

Смелость (трусость), решительность, ловкость — производные.

Тогда в играх начали появляться первые алгоритмы, описывающие поведение персонажа в критических ситуациях типа:

СМЕЛОСТЬ = (СИЛА+ЛОЯЛЬНОСТЬ)*ЗДОРОВЬЕ/ИНТЕЛЛЕКТ

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

Какие атрибуты делать основными, а какие — производными — дело автора игры. Он же сам и придумывает формулы, описывающие связь между ними, и расставляет в них коэффициенты.

Впрочем, очень скоро такие простейшие модели уступили в играх место другим, более совершенным, например модели AD&D, в которой предполагается, что:

1. Каждый персонаж может обладать:

— персональными атрибутами;
— персональными навыками;
— персональными предметами (оружие, доспехи и пр.)

2. Определенное сочетание исходных персональных атрибутов определяет расу героя. То есть, герой с одним набором может быть ТРОЛЛЕМ или ОРКОМ, но никак не может быть ЭЛЬФОМ и т.п. Введение понятия расы героя упростило первичный выбор персонажа. Вы выбираете себе ЧЕЛОВЕКА и получаете вместе с ним набор исходных параметров.

3. Определенное сочетание исходных персональных навыков определяет профессиональный класс героя. Класс связан с расой, то есть не всем расам доступны все классы, а значит они по-разному развивают свои навыки.

4. Персональные предметы связаны с профессиональным классом. Есть только два класса — ВОИН и ПАЛАДИН, которые могут с успехом владеть любыми видами оружия и доспехов.

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

Наилучшая кривая обучаемости у тех героев, которые гармонично сочетают расу, класс и навыки. Плохо происходит обучение у нетипичных героев. (Попробуйте представить себе ТРОЛЛЯ, имеющего профессиональный класс СВЯЩЕННИК и занимающегося хореографией). Обычно навык в хореографии способствует повышению ловкости, но для нашего тролля «кривая обучения» пойдет так плохо, что долго такому троллю в игре не прожить.

Вывод: создатели системы правил AD&D не смогли своей системой выразить все многообразие возможностей поведения компьютерных персонажей и для решения проблемы переставили ее с ног на голову. Вместо того, чтобы моделировать поведение героев, сделав его близким к человеческому, они предложили игрокам слиться со сгенерированным персонажем, стать с ним одним целым, проникнуться его духом и своими действиями в игре добиваться гармоничного развития этого персонажа.

На этом стоят сегодня ВСЕ РОЛЕВЫЕ ИГРЫ. Ваша задача — войти в роль и, если Вам это удается, Вы получите удовольствие от игры, а если нет, то… хороните своего несостоявшегося тролля-священника балетных дел мастера и попробуйте сгенерировать что-нибудь более гармоничное.

3. Другой подход к проблеме.

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

Это нужно уже не только производителям компьютерных игр. Киностудии, выпускающие мультсериалы типа «Том и Джерри», готовы платить бешеные деньги за решение такой задачи. Им это нужно для автоматической генерации новых сценариев. Заинтересованы в автоматических генераторах сценариев театральные деятели, писатели, киносценаристы и многие другие. Конечно, это не значит, что скоро мы начнем читать литературные произведения, написанные машиной, и смотреть мультфильмы, которых не касалась рука художника, но раскрепостить сценаристов и дать им инструмент для генерации десятков тысяч заготовок, из которых они отполируют десятки произведений, все-таки хотелось бы.

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

4. Основные труды.

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

Основоположником направления считают Дж. Бейтса, который в 1992 году создал «Проект ОЗ». Его сгенерированные персонажи действуют в системе ВОСПРИЯТИЕ — ОСОЗНАНИЕ — ЭМОЦИИ — ДЕЙСТВИЯ. Интересно, что он первым пришел к мысли о том, что правдоподобное поведение персонажа должно выводиться из ЭМОЦИЙ. (Вы чувствуете, как рождается новая система параметров?).

Б.Хэйес-Рот пошла дальше и в 1995 году, опираясь на труды группы Бейтса ввела понятие «направленной импровизации». Эта техника позволяет получить от сгенерированных персонажей такие вещи, как личностность, интеллект и неожиданные действия (сюрпризы). Ее работы были опробованы в проекте «Виртуальный театр» для детей.

На эмоции оперся и К.Эллиот в проекте «Affective Reasoner» (1994). Он создал карту из двадцати четырех видов эмоций и использовал ее как фильтр для выбора образа действий сгенерированных персонажей. В последующих работах (1995) он пошел дальше и ввел понятия ЦЕЛЕЙ (желаний) и ПРИНЦИПОВ (установок). При оценке ситуации персонаж сравнивает текущие цели со своими принципами. Возникает конфликт. Из него рассчитываются эмоции, за которыми следует выбор способа действия.

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

5. Основные понятия.

Большинство современных исследователей сходятся в том, что поведение персонажа определяется пятью составляющими:

ОЦЕНКА — МОТИВАЦИИ — ЭМОЦИИ
ИНДИВИДУАЛЬНОСТЬ — ПРИНЯТИЕ РЕШЕНИЯ

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

Эмоции отражают личные переживания персонажа по поводу того, как у него идут дела (разумеется, у разных персонажей могут быть разные понятия о том, что есть ПЛОХО, а что есть ОЧЕНЬ ПЛОХО. Это уже определяется индивидуальностью).

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

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

Принятие решения — это выбор способа реакции на сложившуюся ситуацию. Из того, насколько соотвестствует оценка ситуации мотивации, определяются эмоции, а самая сильная из них и определяет образ действия. Таким образом, сгенерированный персонаж не должен действовать ТОЛЬКО в соответствии со своими целями. Он должен действовать ТОЛЬКО ПОСЛЕ ТОГО, как противоречия между ситуацией и целями привели к эмоциям. Это уже более правдоподобное поведение.

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

Рассмотрим простой пример. Возьмем взвод солдат в окопе под обстрелом. Ситуация для всех одна. Целевую установку командир дал всем одну: «В атаку!». И ценностный критерий у всех может быть один — скорейшая победа. И все-таки выпрыгнут из окопа и побегут в атаку солдаты по-разному. А кто-то, может быть, и вообще не сможет сделать первый бросок. Это влияет индивидуальность, которую, кстати, неслучайно в армии подавляют всеми возможными средствами. Это целая наука, без которой, увы, пока обойтись нельзя.

6. Цель изысканий.

Что же в итоге хотелось бы получить? Рассмотрим простой пример, типичный для современных ролевых игр. Вы спускаетесь в подземелье, где одно из сокровищ охраняет свирепый дракон. Таких драконов (и других подобных монстров) в игре могут быть тысячи. Один раз разместив их на игровом пространстве, программа как бы забывает об их существовании. И стоит этот дракон «на часах» всегда один и тот же, без эмоций, без переживаний и ждет, пока к сокровищу придете ВЫ.

Вот тут-то он и «оживает». Не спрашивая кто Вы, откуда, зачем и почему, он атакует. Только здесь программа принимает на себя управление драконом, и все общение с ним сводится к обмену ударами.

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

Во-первых, сама структура программы должна быть другой. Разместив своих «монстров» на игровой карте, программа должна периодически к ним обращаться и обрабатывать их «жизнь». Дракон станет совсем иным.

Отстояв неделю «на часах» и не дождавшись положенной кормежки, он начнет «думать», где бы поесть. Вот уже конфликт между состоянием и мотивацией. Мотивация (ответственность) не дает отойти с поста, а голод гонит. Сначала дракон будет отходить недалеко и, утолив голод, возвращаться обратно. Вскоре в дело вступит «память», которая напомнит ему о том, что покидать пост совсем не страшно. Уровень ответственности начнет понижаться, а отлучки по личным надобностям станут чаще и продолжительнее. Вот в такой момент его и можно застать врасплох.

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

Третий вариант: простояв пару месяцев на часах, дракону может стать просто скучно. Скука — это эмоция. Как поведет себя такой дракон, если Вы придете к нему не с топором, а с лютней и сумеете его развлечь?

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

Одним словом, если каждому персонажу игры ввести параметры, описывающие его мотивации, эмоции, индивидуальность, а программе поручить регулярно «сканировать» каждого индивидуума, вводя в него оценку текущей ситуации и вычисляя его поведенческие реакции, то можно получить в игре такой накал страстей, какого еще до сих пор не было.

7. Заключение.

Главных выводов из всего вышеизложенного мы можем сделать три.

Во-первых, дело это совсем не «игрушечное». Занимаются им очень даже серьезные ученые, получающие за это очень серьезные оклады.

Во-вторых, дело это совершенно новое. По тем ссылкам, которые мы дали, Вы и сами видите, что исследования идут сейчас, в наши дни.

В третьих, область эта еще не паханая. Если Вы умеете программировать на любом языке (хоть на БЕЙСИКе), можете сегодня же сами начинать свой проект и смотреть, что у Вас получится. Многие молодые люди активно стремятся к созданию компьютерных игр, но их сдерживает тот досадный факт, что сделать коммерчески успешную игру сегодня в одиночку практически нереально. В сфере же автоматической генерации правдоподобного поведения персонажей работы хватит на всех.

И, наконец, о пределе мечтаний. В идеале должно получиться две программы. Первая — модуль автоматической генерации (МАГ) персонажей. Он должен быть закрытым, автономным и универсальным, а его автор — миллионером (разумеется, долларовым). Компании, выпускающие игры, будут «пристегивать» этот модуль, не заглядывая в него, и двух одинаковых игр не получится. Совершенно неважно даже, к какому жанру будут относиться эти игры. Поведение вражеского пилота в авиаимитаторе, поведение монстров в аркадных, ролевых, адвентюрных играх может быть сгенерировано по одним и тем же алгоритмам одним и тем же универсальным модулем.

Вторая программа — редактор. Это интерфейс между автором игры (кинофильма, мультфильма, романа, пьесы) и МАГом. Здесь он сможет задать все, что знает про своего героя. Формально описать его предисторию, черты характера, физические данные или оставить это на волю случая. Жизненные коллизии и поведение персонажа в игре (в кино, в романе и т.п.) пусть разрабатывает МАГ.

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


Сергей Симонович, 1996

Советуем почитать:



Комментарии запрещены.

Только мертвые видели конец войне — Платон, Rome: Total War


Книги по шахматам