Я всё еще издеваюсь над БТ, пытаясь получить приемлемый результат. Пока дошел до концепта, похожего на оригинальную игру, но с изменениями, о которых я писал немного раньше.
По просьбам желающих, залил на ХГМ. Правда, может шалить разрешение (размер шрифтов, местоположение и всё такое), и я могу забыть залить новую версию. Во всяком случае, выбирайте разрешение 640 на 480.
Игрок всё так же управляет и комнатами, и героем. Враги также ходят и вращают комнаты. От системы "накопительного хода" отказался, теперь у вас три действия на ход (в будущем улучшаемая характеристика), после которого ходит один враг. Атака в любом случае завершает ход.
За убийства врагов игрок получает золото, которое можно тратить на лечение (красный алтарь с сердечком) либо на прокачку характеристик (синий алтарь с молнией). Характеристики врагов определяются характеристиками персонажа (коэффициентами).
В любой момент можно перейти на следующий уровень (временный спрайт лестницы - стрелочка вверх).
Пока есть только основная механика, и один тип врага - скелеты (с чего и название поста). В будущем на более высоких этажах будут более опасные враги (с более высокими коэффициентами), и дополнительные элементы типа сундуков и ловушек. Также собираюсь добавить навыки (в том числе, и врагам), правда, всё еще думаю над тем, как выдавать их игроку.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
26
9 лет назад
1
Kozinaka, вообще, я думаю, я поступлю гораздо проще, и при выборе одной из соседних комнат буду просто выбирать ту, которая ближе к герою. Да, количество поворотов может быть хуже, но это будет, скажем, заменой элемента случайности, о котором говорил prog.
0
24
9 лет назад
0
lentinant, тогда лучше случайную, а не оптимальную из всех возможных ячеек, ведущих к герою по мнению алгоритма поиска пути - получается AI целенаправленно идет к герою, но может произвольно петлять на неоптимальные маршруты.
Суть в том, что матрицу путей перестраивать всеравно придется довольно часто - после ходов игрока, как минимум, а в идеале после ходов каждого существа. Потому имеет смысл делать алгоритм построения матрицы максимально простым и учитывать постоянный пересчет в оценках работоспособности алгоритма. Особенно в условиях, когда идеальный поиск пути не требуется.
0
14
9 лет назад
0
lentinant:
при выборе одной из соседних комнат буду просто выбирать ту, которая ближе к герою.
Вот я тоже такие штуки люблю. Дешево и сердито. Думаю, этого вполне хватит.
0
24
9 лет назад
Отредактирован prog
0
В зависимости от того, сколько действий AI может совершить за ход, на этой модели возможны разные варианты.
Например, один ход = одно действие.
  • путь через B короче, потому AI поворачивает комнату B чтобы в неё попасть.
  • ход AI заканчивается
  • после обсчета новой карты путей, AI приходит к выводу, что путь через D короче и начинает вращать D
  • ход AI заканчивается
  • после обсчета карты путей AI приходит к выводу, что путь через D стал еще короче и радостно запрыгивает в D
  • ход AI заканчивается
  • после обсчета карты путей AI приходит к выводу, что нужно повернуть D еще раз и делает это
  • ход AI заканчивается
  • после обсчета карты путей AI приходит к выводу, что проход открыт и переходит в C
  • ход AI заканчивается, цель достигнута
итоговые затраты - 5 действий
Для ситуаций, когда один ход дает больше одного действия и нет задержки, позволяющей пересчитать карту путей, действительно нужно немного модифицировать алгоритм, но это не так сложно, как кажется - я похожее делал в свое время - у меня нужно было учитывать направление движения объектов, чтобы получались красивые виражи и не было резких разворотов и наоборот чтобы можно было приказать объекту двигаться хаотично, теряя в скорости и красивости, но избегая предсказуемости движения.
Вспомню как это делал и адаптирую под этот случай - расскажу.
0
26
9 лет назад
0
prog, я вообще имел ввиду, что просто в текущий алгоритм (практически рандомный выбор одной из соседних комнат) вставлю условие, что из доступных соседних комнат игрок выберет именно ту, которая ближе к игроку по прямому расстоянию. То есть, вообще без поиска пути как такового. При этом, случайность всё равно будет - комната, которая ближе по расстоянию, может требовать больше поворотов, чем другие.
Конечно, немного по ламерски, но я же не тактическую РПГ делаю.
0
24
9 лет назад
Отредактирован prog
0
lentinant, ну можно и так, конечно - зато считается быстрее. Тогда советую еще взвешенный рандом добавить, позволяющий контролировать как часто AI выбирает ячейки в направлении игрока и как часто - от игрока, а также как часто выбираются ячейки с меньшей ценой перехода из текущей и как часто ячейки с большей ценой перехода, в пределах выбранного направления.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.