ТЗ - GypsyLich/Hexed GitHub Wiki

Введение

Hexed это пошаговая 2D игра в жанре Roguelike с видом сверху, разрабатываемая под операционную систему Windows на кросс-платформенном игровом движке Unity.

Базовая внутриигровая механика

Игрок управляет персонажем через клавиши на клавиатуре, каждое действие занимает какое-то количество времени (очков действия, далее ОД), все противники совершают свой ход после хода игрока, ОД противников определяются количеством потраченных ОД игрока. За «ход» в игре принимается базовое действие (сделать шаг, нанести удар, открыть инвентарь…) каждое из которых требует разное время исполнения. Вся игровая карта разбита на квадратные ячейки, по которым могут передвигаться персонаж и противники, ячейки могут иметь разные типы и свойства (например, земля, по которую можно передвинуться, или стена, через которую невозможно пройти)

Игровой процесс заключается в прохождении серии процедурно сгенерированных уровней у которых есть начало (стартовая позиция персонажа) и конец (цель, до которой нужно дойти игроку, чтоб переместиться на следующий уровень) без смертей. В случае неудачи, главный герой начинает прохождение заново сгенерированных уровней с самого начала, однако получая при этом бонусы с прошлых прохождений (золото, с которым главный герой начинает, пассивные или активные способности и т.д.)

MVP Версия

Интерфейс

Пользователю при запуске игры будет выводиться меню с несколькими элементами. Фон представляет из себя статическую/динамическую картинку. Следующие элементы будут доступны пользователю для выбора: 1.1 Новая игра: Запуск игры с самого начала. При выборе этого элемента все остальные пункты меню пропадают и начинается загрузка стартовой локации

1.2 Загрузка/Продолжение: Загрузка сохраненного файла name.asset. В случае, если пользователь запустил игру в первый раз кнопка должна быть неактивной. При повреждении загрузочного файла abc.asset должна выводиться ошибка. 1.3 Настройки 1.4 Выход: Осуществляется выход из программы, прекращение всех процессов, связанных с игрой.

Игровой процесс

Передвижение персонажа

Осуществление передвижение персонажа через клавиши, соответствующие направлениям вверх, вниз, вправо, влево. После нажатия клавиши, персонаж передвигается в заланном направлении на 1 клетку. Если передвижение в выбранном направлении невозможно, игрок оповещается об этом и получает возможность сделать другое действие на этом ходу.

Взаимодействие с предметами и не играбельными персонажами

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

Генерация уровней

Сам уровень состоит из NxN клеток, которым могут быть присвоены различные значения(пол, стена, противник и т.д.) Генерация уровней состоит из нескольких этапов:

  1. Случайно выбираются точки входа и выхода с уровня на первой и последней строке матрицы уровня.
  2. Генерируется путь от начала до конца уровня.
  3. Генерация в Блоках противников и остальных игровых объекты такие как: стены, декорации, и т.д..