Интерактивная цифровая настолка по Аркхэму, часть 5, большой апдейт - новые навыки, фаза монстров и другой функционал
Больше чем за неделю получилось написать много функционала, примерный список того, что успел сделать:
Новая панель действия, куда вынесены все возможные действия игрока, фикс ходов и возможных действий, рефакторинг работы session manager.
Исправления действия Движение, в основном мелкие баги и исключения, теперь движение работает только по кнопке из панели действий и запрашивает подтверждение.
Добавлены ассеты жетонов навыков и иконок, убраны все заглушки с панелей.
Новое действие Улучшение навыка, позволяет раз в раунд прокачать любой навык с возможностью замены уже улучшенного навыка в зависимости от количествоа Сосредоточенности сыщика.
Новое действие Сбор средств - получаем деньги в свой ход.
Исправление сломанной анимации правой панели при её вызове и наведении.
Добавлено действие Атака, игрок может напасть на монстра и победить его при нахождении с ним в одной области
Действие Уклонение, также при нахождении в бою с монстром игрок может попытаться уклониться от него и тем самым сделать его изнуренным.
Реализован бросок кубика, пока только в виде логика и лога, без отрисовки бросков, позже этот обязательный визуал конечно же будет ярко представлен как основной акцент игры. Грани 5 и 6 (и 4 в случае благословения) подсвечены зеленым, а грань 1 красным.
Монстры появляются по сценарию из стартовой колоды на нужные места. Прописаны характеры монстров - охотящийся, прячущийся, патрулирующий. Монстры ищут и атакуют игроков исходя из их параметров.
Фазы в виде заглушек, в Фазе действия можем делать всё то, что было описано ранее, в Фазе монстров монстры начинают свои действия, движутся к нестабильной области (заглушка), атакуют сыщиков и наносят им урон и ужас. Фаза контактов и Фаза мифов пока в виде заглушки. Добавлены анимации и фриз состояния во время объявления фаз.
Сохранение и загрузка игры - все состояния, фазы, статистика, собранные карты, позиции сыщиков и монстров корректно сохраняются.
Естественно это всё сопровождалось множеством фиксом и правками, кое-где рефакторингом, написанием новых синглтонов и процедур. В этом посте не будет много формул и каких-то умозаключений, просто кратко пройдусь по всем пунктам выше, покажу на примере как это работает и выглядит, как обычно жду мнения в комментариях и готов к объективным правкам и изменениям!
1 Панель действий
Теперь во время Фазы действия у игрока над его панелью сыщика есть небольшая панель со всеми возможными действиями. Томми в этом ходу находится в бою с монстров, на что указывает иконка монстра возле его портрета, поэтому он может сделать лишь три действия - Уклониться, Улучшить навык и Атаковать.
По умолчанию при всех доступных действиях панель выглядит следующим образом
Особое действие будет сверять возможные сценарные события, такие как прорыв Барьера, Закрытие портала и т.д., сейчас это заглушка.
Дизайн скорее всего останется таким же, здесь не хочется ничего выдумывать, только мини иконки позже уберу на более подходящие стилистически в духе Аркхэма.
2 Действие Движение и 9 Фазы с заглушками
Так как тут были в основном мелкие фиксы, а ход стал возможен только с панели по кнопке Движение, то заодно особо показывать нечего, заодно продемонстрирую анимацию показа фаз.
3 жетоны навыков и иконки
Покажу красивую картинку, долго выбирал стилистику, в итоге пришел к таким вот жетонам, несколько добавил сразу на будущее для доп функционала, многие узнают почти все жетоны мифов и навыков.
Все жетоны вырезаны в отдельные ассеты, здесь я их просто скомпоновал на подложку коврика, чтобы показать все вместе не прикрепляя каждый отдельно. Мне больше всего нравятся жетоны навыков, книжка знаний особенно.
А так выглядят значки в панели сыщика, навык Сила уже улучшен, поэтому он подсвечен красным. Правую панель покажу дальше при активации действия Улучшение навыка.
Также сразу видно, что сосредоточенность в виде одной единицы уже потрачена, можно изучить еще один навык (не силу), а после уже решать что из прокачанного заменять.
4 Улучшение навыка и 7 Атака
Активировать действие можно в любой момент, даже во время боя с монстром. Если Сосредоточенность переполнена, то игра предоставит выбор какой улучшенный навык заменить - на примере ниже мы качаем Томми навык Воля вместо улучшенного навыка Внимание, а затем успешно атакуем и убиваем Фигуру в мантии. Пожалуй добавлю уведомление о том, точно ли игрок хочет заменить N навык на M в случае отсутствия свободной сосредоточенности или при попытке качнуть свободный навык.
5 Сбор средств
Проще некуда, нажали кнопку, подтвердили желание обогатиться - открылась панель и отработала анимация, денег стало больше.
6 Исправление анимации
Просто была проблема с одновременным вызовом из нескольких функций, которые друг друга перебивали и панель дергалась, просто убрал лишнее с небольшим рефакторингом.
8 Уклонение
Тут как и с атакой, отличие только в том, что при успешном уклонении монстр становится изнуренным и не нападет в свою фазу, а просто станет готовым, а также мы получим дополнительное действие. На примере ниже качаем навык Внимание, которое добавляет лишний кубик на бросок Уклонения и затем делаем успешный бросок. Монстр при этом помечается как изнуренный и в свой ход уже не нападет.
9 Бросок кубика, 10 Монстры и 11 Фазы
Выше уже были примеры с заглушками фаз, при каждой активации фазы стейт замораживается, показывается небольшая анимация и далее запускается конкретная фаза. Сейчас реализованы две - Фаза действия и Фаза монстров. В первой ходит игрок, во второй соответственно активируются и выполняют свои действия монстры.
Кубик пока реализован текстово, просто рандомайзер рисует "грани" в зависимости от количества "выбрасываемых" кубиков и ждет подтверждения от игрока. Далее дополню это графически.
Монстры на карте показаны в виде карточек, на них можно навести курсор и увеличить, перевернуть и посмотреть свойства, всё по правилам обычной игры. Карточка перевернута той сторонй, смотря в каком состоянии сейчас монстр - рубашкой если он в обычном состоянии, лицевой если изнурен, также добавляется дополнительная отметка о том, изнурен ли монстр. При вступлении в бой с сыщиком карточка монстра дополнительно отображается в панели этого сыщика, также добавлю мини иконку в левую панель, где находятся все сыщики, для быстрого понимания кт ос кем находится в бою.
12 Сохранение и загрузка
Можно было бы реализовать и позже, но мне надоело использовать тестовые кнопки для подгрузки сыщиков для разных тестов сценариев и фичей, так что добавил три слота как и задумывалось изначально.
Сохраняется весь стейт игры, также записываются дополнительные ID различных событий, количества ходов, перемещений, фаз, убийств монстров, уклонений, атак и т.д., как минимум для наполнения статистики сессии в конце игры и общей статистики, как максимум для получения достижений, которые также буду реализовывать.
Впереди выходные и свободное время, а значит будет возможность сделать в два раза больше!

































