Desdoc - Xrite/roguelike-haskell GitHub Wiki

Design document

Общие сведения

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

Architectural drivers

Roguelike

Особенности жанра, общие для всех представителей:

  • Пошаговая игра
  • Permadeath (после смерти персонаж удаляется)
  • Игра содержит много последовательных уровней подземелья, между парой соседних есть один переход где-то на карте.
  • Процедурная генерация уровней
  • Персонаж(и) получают уровни и лут
  • Уровни нелинейные

Наша игра довольна типична для жанра. Далее приведены "особенности", не вошедшие в список выше:

  • Главный персонаж один
  • 2D
  • Некоторые уровни загружаются с диска
  • Есть инвентарь и возможность экипировать вещи
  • Разные виды мобов
  • Атака при перемещении в занятую кем-то клетку

Другие ключевые требования

Функциональные

  • Консольная графика
  • Есть сохранение при выходе из игры

Нефункциональные

  • Графика абстрагированная, чтобы можно было приделать графоний без боли
  • Тестируемость и покрытие тестами
    • можно не 100%, но хотя бы большую часть

Роли и случаи использования

Типичные пользователи

1. Задроты

Молодые люди и школьники в возрасте от 12 до 25 лет, с большим количеством свободного времени, предпочитающие игры живому общению или другому активному времяпровождению. Им требуется игра, которая позволяет убивать как можно больше времени. Будут играть в roguelike-haskell, так как перманентная смерть персонажа добавляет азарта и заставляет проходить игру заново(убивает кучу времени). Не будут играть в roguelike-haskell, если она будет скучной, то есть там не будет разнообразия уровней, персонажей и инвентаря.

2. Казуальные игроки

Люди различного возраста, от 12 до 35 лет, активно использующие ноутбуки, в том числе в случаях, когда требуется убить время, например, в поездках на общественном транспорте или в очередях. Будут играть в roguelike-haskell, если в нем будет возможность сохранять текущее состояние игры для дальнейшего продолжения, а также он будет достаточно увлекательным, чтобы провести 15-30 минут с удовольствием. Не будут играть в roguelike-haskell, если в нем не будет сохранения или уровни будут слишком сложные, то есть будут требовать более 15 минут для прохождения.

Диаграмма компонентов

images/components.png

Ссылка на диаграмму компонентов

Логическая структура

Ссылка на диаграмму и описание

Взаимодействия и состояния

Диаграмма состояний

Диаграмма последовательностей