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