Настоящий віртуальний противник

Тип работы:
Реферат
Предмет:
Информатика, программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Настоящий віртуальний противник

Дмитрий Сахань

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

Посмотрите, як грає людина. Він зосереджується на важливих з його погляду ділянках карти, часом абсолютно ігноруючи її інші ділянки. Де це ви бачили, щоб людина з ходу у хід переглядав всю карту, вважав усі шанси солдатів та іншого подібного начиння. Вже за кілька ходів в нього пропаде бажання грати, людина просто втомиться. Додайте сюди його емоційний підхід: забув зібрати ресурси, набридло будувати, не звернув увагу. У результаті отримаєте важко прогнозовану систему. Людині ж протиставляють сувору математичну модель, в результаті маємо прямолинейную гру та нездатність від такий лінії.

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

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

Постараюсь пояснити створення скелета лише необхідних у грі психічних функцій розуму. Пояснення будуватиму з урахуванням покрокової стратегії. У принципі так, схожий скелет також підійде як стратегій у часі, так багатьох ігор жанру 3D-Action.

Психические функції

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

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

Афферентный синтез

Афферентный синтез є узагальнення потоків інформації. Слово «афферентный «позначає «узагальнюючий », кому надалі що використовується слово «афферентация «позначає «узагальнення «. Синтез складається з обстановочной афферентации, домінуючою мотивації, пускової афферентации і пам’яті. Початок такту синтезу завжди починається з обстановочной афферентации і закінчується пускової афферентацией.

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

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

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

Операция узагальнення зводиться до банального кількісному підрахунку загрозливих і котрі приваблюють чинників. Інакше кажучи: «Скажи мені числовому вираженні, скільки в мене можливостей підняти золота, напасти на ворога, отримати від неї ж стусанів тощо «. Також зверніть увагу, що у функції обстановочной афферентации віртуальний противник просто зобов’язаний задіяти таке як «увагу ».

Внимание — здійснення виборчого відбору потрібної інформації. Тобто увагу ж виконує функцію її фільтра. Воно фокусується б на будь-якій центральної точці інформації та покриває врізнобіч від цього точки певну область, звану областю уваги. У нашому випадку центральної точкою уваги є ігровий персонаж, а область уваги обмежується, наприклад, максимальної довжиною руху персонажа за хід. Отже, знижується обсяг оброблюваної інформації та відтинаються персонажі, не дуже що впливають ситуації у найближчий 1−2 хід.

Далее хочу наочно показати, як працює обстановочная афферентация, оперирующая областю уваги. Це на наведеному нижче малюнку. Червоним кольором виділено персонажі віртуального противника, синім — ворожі персонажі. Маленькі чорні хрестики позначають, наприклад, золото. Чорні поля на карті - це ще досліджені віртуальним противником землі. Зеленим кольором виділено область уваги обстановочной афферентации кожному за персонажа віртуального противника. Як було зазначено, розмір квадрата області уваги такий, що з один хід персонаж може сягнути лише краю цього квадрата. Квадрат взятий лише заради наочності, хоча у реальну ситуацію область уваги повинна нагадувати коло навколо персонажа.

Как це випливає з малюнка, місту не загрожує ніяка небезпека, тоді як персонажеві «З «загрожує небезпека переважаючих сил противника. Персонаж «A «здатен узяти максимум золота. З іншого боку, персонажі «A «і «B «за хід надійдуть одна одній допоможе. Існує також загальна загроза віртуальному противнику, оскільки у карті існує на 1 солдатів більше ворожих сил. Гадаю, нескладно дійти невтішного висновку, що персонаж «A «потрібно відправити зібрати максимум золота для покупки/строительства нового солдата. Персонаж «B «можна відправити за персонажем «A », щоб у нього не було надумав напасти близько стоїть ворожий солдатів. І це персонажеві «З «потрібно наказати виходити із зони небезпеки, оскільки його сил бракуватиме для бою.

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

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

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

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

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

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

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

В останньому варіанті стека персонаж отримує вміння оперувати не забутими, але отсроченными у часі мотивами. Приміром: «Зараз зможу підкупити третього противника, але це вкрай потрібно, тому поки відкладу мотив в пам’яті, і чекати кращого часу. А натомість займуся збиранням золота ».

Принятие рішень

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

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

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

Моделирование дії і виконання

Эти функції реалізується з допомогою різноманітних існуючих алгоритмів пошуку шляху й тощо. Як розумієте, такі алгоритми мають безліч модифікацій і прив’язані виключно сюжету гри. У Інтернеті досить інформації з подібним алгоритмам. До речі, більшість їх ставляться саме до функції моделювання програми дії. Приміром, алгоритм пошуку шляху тільки лише моделює програму дії: які клітини карти персонаж піде у необхідну місце. І це лише для того движок гри рухає персонаж, виконуючи тим самим смоделированное действие.

Список литературы

Для підготовки даної праці були використані матеріали із російського сайту internet

ПоказатьСвернуть
Заполнить форму текущей работой