Истински виртуален противник - компютърни науки, програмиране
Вижте как играе човек. Той се фокусира върху области от картата, които са важни от негова гледна точка, понякога напълно игнорирайки други области на картата. Къде видяхте, че човек от завой на завой разглежда цялата карта, брои всички шансове на войници и други подобни. След няколко хода той ще загуби желанието да играе, човекът просто ще се умори. Добавете тук емоционалния му подход: забравих да събера ресурси, уморих се да строя, не обърнах внимание. В резултат на това ще получите система, която е трудно да се предвиди. Човек се противопоставя на строг математически модел, в резултат на което имаме права игра и невъзможност да се отдалечим от такава линия.
Виртуалният противник също трябва да бъде научен да прави грешки, да бъде мързелив, да фокусира вниманието, да бъде разумно разумен и всякакви различни човешки трикове. Умът дърпа със себе си съответните понятия от психологията. Без тяхното изпълнение играта никога няма да бъде интелигентна. Въпреки целия плашещ звук на психологическите концепции, те са сравнително лесни за работа. В повечето случаи човек просто няма представа как да изрази подобна концепция под формата на алгоритмични решения.
Психологическата концепция е пряко свързана със средата на персонажа, следователно алгоритмичното изпълнение на концепцията може да се различава значително в зависимост от средата. Например алгоритъмът за оценка на средата около игралния герой ще бъде много по-опростен от същия алгоритъм за хуманоиден робот, тъй като местообитанията им, както и факторите, влияещи върху оценката на ситуацията, са различни. Невъзможно е да се създадат универсални алгоритми за което и да е местообитание. Реалистично е само да се опишат общите компоненти на една психологическа концепция и как те са свързани помежду си. Въз основа на такива описания се изгражда алгоритъм по отношение на конкретно местообитание.
Ще се опитам да обясня създаването на скелет само за умствените функции на ума, които са необходими в играта. Обясненията ще се основават на стратегия стъпка по стъпка. По принцип подобен скелет също е подходящ както за стратегии в реално време, така и за много игри от жанра 3D-Action.
Първо, трябва да разберете, че истинският игрови ум е система, в която традиционните математически методи са само помощ. Грубо казано, виртуалният противник работи с поток от информация за събитията, които се случват в играта и техните последствия. Той като че ли не се навежда да оценява индивидуален характер, той е по-скоро наблюдател и анализатор и заключенията му са подобни на тези на командир, склонен да контролира армията, а не всеки войник поотделно.
Сега нека разгледаме най-важните умствени функции, възложени на виртуален противник. Те са четири. Първите две са най-важните. Това е аферентна функция за синтез и функция за вземане на решения. Функциите за моделиране на програмата за действие и извършване на самото действие се реализират от вече съществуващите и изпитани във времето алгоритми на съвременните играчки. За съжаление често се случва последните две функции да се дават за интелигентността в играта, докато първите две функции напълно липсват.
Аферентният синтез е обобщение на информационните потоци. Думата "аферентна" означава "обобщаваща", а по-долу използваната дума "аферентна" означава "генерализирана". Синтезът се състои от контекстуална аферентация, доминираща мотивация, задействаща аферентация и памет. Началото на цикъла на синтез винаги започва с контекстуалната аферентация и завършва със задействащата аферентация.
Ситуационната аферентация е обобщение на текущата ситуация (състояние на нещата) в настоящата ситуация. По прост начин процесът на обобщаване е както следва. Първо, на картата на играта се избират само вражески герои, видими за виртуалния враг (в изследваните области на картата) и, естествено, техните собствени герои. Чуждите войници се използват за обобщаване на състояния чрез заплашителни фактори, техните собствени войници се използват за обобщаване на ситуациите според собствените им сили, възможно натрупване на пари, събиране на артефакти, строеж на къщи и т.н.
Трябва обаче да се отбележи, че в допълнение към общите заплашителни фактори за виртуалния враг, има и заплашителни фактори за всеки негов войник. И този въпрос се решава от същите механизми за избор на вражески герои, само по отношение на всеки от техните собствени войници. Съответно, заплахите за всеки от техните собствени герои се добавят към заплашителните фактори, а данните за силата и възможностите на конкретни войници се добавят към информацията за техните собствени сили и възможности за натрупване.
В бъдеще тази информация се изисква от функцията за вземане на решения. Ако за неговия ефективен контрол са необходими данни за всеки конкретен герой, тогава е необходима обща информация за виртуалния враг относно заплахите, силите и способностите за вземане на решения като изграждане на нови градове, преоборудване на войски, закупуване на ново оборудване, технологии и като.
Операцията на генерализирането се свежда до банално количествено изчисление на заплашителни и привлекателни фактори. С други думи: „Кажете ми в цифри, колко възможности имам, за да събера злато, да атакувам врага, да получавам удари от него и т.н.“ Бих искал също така да обърна вашето внимание на факта, че във функцията на ситуативна аферентност виртуалният противник просто е длъжен да използва такова понятие като „внимание“.
Внимание - осъществяването на селективен подбор на необходимата информация. Тоест вниманието играе ролята на своя филтър. Той се фокусира върху някаква централна точка на информация и обхваща определена област, наречена зона на внимание, в различни посоки от тази точка. В нашия случай централната точка на внимание е игровият персонаж, а зоната на внимание е ограничена, например, от максималната продължителност на движението на героя в един ход. По този начин обемът на обработваната информация се намалява и символите, които не оказват особено влияние върху ситуацията в следващите 1-2 оборота, се отрязват.
След това искам ясно да покажа как работи контекстната аферентация, оперираща със зоната на внимание. Това е отразено на фигурата по-долу. Героите на виртуалния враг са маркирани в червено, а вражеските символи са в синьо. Малките черни кръстове представляват например злато. Черните полета на картата са земи, които все още не са изследвани от виртуалния враг. Областта на внимание на ситуационната аферентност за всеки герой на виртуалния опонент е подчертана в зелено. Както беше казано, размерът на квадрата на зоната на внимание е такъв, че с едно движение персонажът може да достигне само ръба на този квадрат. Квадратът е взет единствено за яснота, въпреки че в реална ситуация зоната на внимание трябва да наподобява кръг около героя.