Слайд 1Поиск эффективной стратегии в играх жанров Tower Defence и Roguelike
Слайд 2Tower defence
Игры жанра tower defence - - это стратегические
игры, в которых внимание сфокусировано на добыче ресурсов и размещении
юнитов.
Слайд 3В простейший форме в tower defence игрок занимается покупкой и
установкой башен, которые автоматически атакуют врагов, называемых крипами либо мобами.
Слайд 4За каждого уничтоженного моба игрок получает соответствующую сумму денег. Если
игрок убивает достаточно мобов, то он проходит
в следующий раунд.
Если мобы доходят до базы игрока, то игрок проигрывает.
Слайд 5Искусственный интеллект крипов
Игровая карта содержит многочисленные препятствия, которые мобы должны
эффективно обходить.
Слайд 6Для этого игровая карта может быть представлена как граф и
могут быть использованы алгоритмы поиска кратчайших путей в графе (алгоритм
А*, алгоритм Дейкстры).
Слайд 7Алгоритм А*
--находит кратчайший путь между двумя вершинами графа. Для этого
на каждом шаге алгоритма выбирается вершина с наименьшим значением некоторой
функции f и поиск продолжается из нее.
Слайд 8Функция f - - это сумма функций g и h.
Где g представляет собой точную оценку длины кратчайшего пути до
данной вершины из стартовой, а h представляет собой приближенную оценку длины кратчайшего пути из данной вершины в конечную.
Слайд 9В качестве функции h в данном случае выгодно брать евклидово
расстояние либо манхэттенское расстояние.
Слайд 10Roguelike
-- ролевые приключенческие игры, основными особенностями которых являются необратимая
смерть персонажа и пошаговый геймплей.
Слайд 11Roguelike можно понимать как задачу исследования, то есть как граф
и некоторую функцию, которая в соответствие текущей вершине ставит некоторые
новые, ранее "неизвестные" вершины.
Слайд 12Требуется достичь целевой вершины, соблюдая при этом заданный набор ограничений.
Слайд 13Обычно окружение в таких играх генерируется случайным образом, причем вероятности
неизвестны заранеее для игрока, так что построение дерева решений весьма
затруднительно.
Слайд 14Вместо дерева решений удобным и весьма эффективным вариантом оказывается создание
экспертной системы.
Слайд 15Экспертная система
-- это программная попытка сымитировать процесс принятия решений
специалиста-человека при помощи правил вида "если X - > то
Y, в противном случае - > Z".
Слайд 16Rog-o-Matic
Первой и очень успешной попыткой создать экспертную систему для игры
в rogue является программа Rog-o-Matic.
Слайд 17Так как в rogue отсутствует графика и вся информация о
состоянии игры передаётся при помощи символов ASCII, то Rog-o-Matic может
считывать эту информацию с экрана точно так же, как и игрок-человек.
Слайд 18Некоторые правила Rog-o-Matic
Система разделена на "экспертов" по различным игровым ситуациям.
Таким как бегство от опасностей, выбор подходящей экипировки, сражения с
врагами, разведка карты и т.д.
Слайд 19Пусть на определенных уровнях L1, L2,...Ln игры экипировка из материалов
X1, X2,... Xm подвергается разрушению. Пусть каждой экипировке присвоено некоторое
значение ценности W1, W2,.. Wk.
Слайд 20Тогда можно вывести следующее правило:
если персонаж находится на некотором уровне,
не входящем в множество L, то надеть первую по ценности
экипировку;
в противном же случае если материал первой по стоимости экипировки принадлежит множеству X, то попытаться по такому же правилу. надеть следующую экипировку.
Слайд 21Пусть существует некоторая функция F со множеством значений [0;1], которая
возвращает вероятность победы в текущем сражении.
Слайд 22Тогда можно составить следующее правило:
Если F меньше некоторого значения eps
и в графе карты игрового окружения существует цикл или существует
путь на уровень выше, то войти в режим бегства;
Слайд 23в противном случае, если в инвентаре имеется средство пространственного перемещения,
то использовать это средство;
в противном случае продолжать сражение.