Змейка. Дизайн-документ

В данной статье приведен дизайн документ, соответствующий текущей версии змейки. Все нереализованные фичи исключены.

Если по той или иной причине вам интересно посмотреть на полный диздок, то напишите нам — обсудим!

 

Оглавление

Введение

Данный документ предназначен для полного и всеобъемлющего описания первого и второго релиза Змейки. В дальнейшем документ будет расширяться.

 

Связанные документы

  • Концепт-документ
  • Концепт-арт
  • Архитектура

 

Концепция игры

Данный раздел содержит описание общей концепции игры. В основном содержание раздела перекликается с Концепт-документом, но отражает только то, что применимо к текущему релизу.

 

Общая характеристика

  • Жанр — аркада
  • Платформа — андроид
  • Цветовая гамма — яркая, насыщенная
  • Звук — не отвлекающий, с изменяемым темпом
  • Концепция или питч: Змейка — аркада с классическим геймплеем и разнообразными вариантами управления. Дополнительный режим кампании, интерактивная система достижений и интеграция с социальными сетями.

 

Целевая аудитория

Это владельцы android-устройств в возрасте от 15-20 до 30-40 лет. Нижняя половина этой аудитории любит аркады и достижения, верхняя половина — помнит старую “Змейку”. По половому составу ожидается 60-70% женской аудитории.

Категории ЦА:

  1. Любят аркады и достижения
  2. Помнят старую змейку
  3. Хотят убить время

 

Список фич

Все фичи перечислены в порядке их приоритетов в соответствии с концепцией игры и выбранной ЦА.

Киллер-фичи (must have):

  • Классический геймплей;
  • Выбор способа управления;

Важные фичи:

  • Переход в меню паузы (Обработка прерываний игры);
  • Таблица личных рекордов;
  • Возможность поделиться рекордом с друзьями;
  • Социализация:
    • общий рейтинг;

Бантики (nice to have):

  • Атмосферность: музыка, звуки, анимация
  • Редактор уровней.

 

Сценарии использования

На диаграмме ниже показано, какие возможности должны быть у игроков при взаимодействии с игрой.

1

Вот именно это игроки и будут делать. Да, это. Да, именно так 🙂

 

Легенда реальности

Было то время, когда заканчивается осень и начинается зима. Всё реже солнышко нагревало камни, а холодный ветер стелился по земле, выдувая последние крохи тепла. С печальным разочарованием Змейка отметила, что все её кладовые истощены: дома больше не было ни одного яблока, ни груши, чтобы утолить голод, и ни одной монетки, чтобы купить еды. Тогда, подталкиваемая нуждой, она пустилась в путь. В лесах и полях она нашла каменные лабиринты, полные разных фруктов, также встречались золотые и серебряные монетки. Зимнее солнце не грело, поэтому обречена была Змейка двигаться, не останавливаясь ни на минуту, чтобы не заснуть навсегда. А солнце по утрам поднималось всё ниже над горизонтом, и мороз был всё злее, и бедная Змейка вынуждена была ползти всё быстрее, заботясь не только о пропитании, но и о том, чтобы не расшибить голову о камни и не схватить вместо сочного яблока собственный хвост. Но всё же она продвигалась вперёд, не теряя надежду когда-нибудь уйти от злой зимы в тёплое лето, найти новую славную нору и греться плоском камне, жмуря глаза от тёплого вечернего солнца.

 

Функциональное описание

Данный раздел содержит детальное описание игры, по сути — задание на разработку.

 

Игровые сущности

На диаграмме ниже представлены все игровые сущности и связи между ними.

Исправить: добавить стену, связь игрока и партии, добавить зелья.

2

 

Змейка

Основная сущность игры.
Должна обладать следующими характеристиками:

Название Тип 1/N Описание
1 Голова Сложный 1 Координаты и направление
2 Звенья тела Сложный N Координаты

Змейка должна обладать следующими возможностями:

  • Двигаться в сторону своей головы 🙂 — изменяет состав звеньев, удаляет хвост
  • Поедать фрукт в направлении головы — не удаляет хвост.

 

Игрок

Корень всех зол и объектов.
Должен обладать следующими характеристиками:

Название Тип 1/N Описание
1 Режим управления Справочник 1
2 Имя игрока Текст 1
3 Ориентация экрана Справочник 1 вертикальный/горизонтальный/авто (по умолчанию)
4 Включен звук Логический 1
5 Включена вибрация Логический 1
6 Отключена реклама Логический 1
7 Настройки оповещений Массив структур N Состоит из двух полей:

  • Не напоминать (логический);
  • Дата последнего напоминания (дата).
8 Пройденный этап обучения Число 1

Партия

Информация о текущей партии.

Должна обладать следующими характеристиками:

Название Тип 1/N Описание
1 Рейтинг Число 1
2 Временной рейтинг Число 1 Достигает 75% рейтинга следующего фрукта

Должна обладать возможностями:

  • Инициировать новое поле
  • Создать фрукт на поле в случайном месте

 

Рекорд

Основное средство помериться с соседом.

Должен обладать следующими характеристиками:

Название Тип 1/N Описание
1 Сумма рейтинга Число 1
2 Дата Дата 1
3 Имя Строка 1 Нужно на случай, если игрок дал поиграть на своем телефоне другу.

Фрукт

Справочная сущность по сути.

Должна обладать следующими характеристиками:

Название Тип 1/N Описание
1 Картинка Строка 1 Определяет, как отображать данный фрукт
2 Редкость Число 1 От него зависит только вероятность появления на поле

Типы фруктов:

  1. Яблоко — 10

 

Фрукт на поле

Вторая основная сущность игры.

Должна обладать следующими характеристиками:

Название Тип 1/N Описание
1 Координаты Сложный 1
2 Время жизни Число 1

Должен обладать следующими возможностями:

  • Выбрать тип фрукта
  • Проверить время жизни

 

Стена

Главная опасность.

Должна обладать следующими характеристиками:

Название Тип 1/N Описание
1 Координаты Сложный 1

Геймплей

В данном разделе пишем все, что связано непосредственно с геймплеем.

 

Общее описание

Игровое поле — это сетка из одинаковых квадратных клеток. На каждой клетке может располагаться либо часть змеи, либо стена, либо фрукт. Также клетка может быть пустой.

При старте партии создается игровое поле и объекты на нем в соответствии с характеристиками уровня (см. раздел Контент).

Начальная длина змеи всегда 3 клетки.

За определенное время, зависящее от скорости змеи, она делает ход. В этот момент проверяется наполнение клетки, следующей за той, где расположена голова змеи в ее направлении.

Возможны варианты результата хода:

  • Пусто — простое движение. Хвост змейки «обрезается», добавляется новая голова с координатой в новой точке.
  • Стена или часть змеи — гейм овер.
  • Фрукт — увеличение змеи. Хвост не удаляется, а новая голова создается. Добавляется рейтинг, постепенно растет скорость.

При поедании фрукта:

  • Рейтинг в партии увеличивается на длина*скорость (может различаться в разных компаниях);
  • Длина змейки увеличивается на 1;
  • При достижении длиной числа, кратного 5 (5, 10 и т.д.), скорость увеличивается на 10.

Также рейтинг змейки непрерывно растет с течением времени, но не более чем до 75% от рейтинга следующего фрукта. При поедании фрукта данная “временная” надбавка сбрасывается и растет заново.

Действия игрока для управления змеей сводятся к изменению ее направления движения. Способы управления описаны ниже.

 

Управление свайпами

Направление свайпа обозначает новое направление головы змейки (аналогично с режимом 4х кнопок). Если направление обратно текущему направлению головы и включена соответствующая настройка, то змейка инвертируется.

На экране — палец.

 

Управление двумя кнопками вправо/влево

Новое направление есть поворот на 90 градусов по часовой (направо) или против часовой (налево) стрелки.

На экране — две кнопки с загнутыми стрелками.

 

Управление 4мя кнопками (а-ка тетрис)

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

На экране — 4 кнопки с прямыми стрелками.

 

Управление гироскопом

Наклоны девайса определяют новое направление движения змейки.

 

Управление маршрутом

Проводя пальцем по экрану, игрок рисует новый маршрут для змейки.

Нажатие на голову при существующем маршруте отменит его и позволит нарисовать новый.

Нажатие на голову маршрута позволит продолжить его построение.

 

Управление секциями

Экран устройства поделен на 4 секции его диагоналями (крест-накрест). Новое направление движение для змеи задается нажатием в любую точку этой секции, за исключением верхней панели.

 

Контент

Описываем игровые уровни, достижения, звания и т.п.

Для значения скоростей змейки следует рассчитывать, что скорость 50 единиц преобразуется в 1.6f.

 

Сценарий 0. Обучение

Для нового игрока ожидаемая последовательность:

  1. Установил и запустил приложение
  2. Нажал «Начать игру», сыграл партию
  3. После завершения показать короткое сообщение: “Нажми “Еще раз”, чтобы снова играть. Твой рекорд будет сохранен.”
  4. Возможно, сразу сыграл еще несколько, потом посмотрел рекорды
  5. Перешел на главный экран
  6. В этот момент должно быть показано сообщение: «Есть и другие варианты управления. Перейти в Настройки?»
    1. Если игрок соглашается, перевести его на экран настроек, а обучение на следующий этап.
    2. Если игрок просит не напоминать, сохранить отметку и перевести обучение на следующий этап.
    3. Если игрок откладывает, то напомнить позже.
  7. Выдать достижение за прохождение обучения.
  8. Игрок снова запускает игру, играет, экран рекордов, главное меню
  9. Показать сообщение: «Если вам понравилась наша игра, пожалуйста, оцените ее. Перейти в google play?»
    1. Если игрок соглашается, перевести его на экран игры в маркете, а обучение на следующий этап.
    2. Если игрок просит не напоминать, сохранить отметку и перевести обучение на следующий этап.
    3. Если игрок откладывает, то напомнить позже.

 

Сценарий 1. Простое поле

Базовое игровое поле — это прямоугольник, размером 11х14 клеток, окруженное стенами. Змея начинает движение из центральной области (возможно, со смещением) вниз (на юг). Стартовая скорость змеи 50.

Игра заканчивается только с проигрышем.

 

Звуковое сопровождение

Звуки:

  • Начало игры;
  • Поедание яблока;
  • Столкновение;
  • Нажатие кнопки;

Музыка:

  • Меню;
  • Игра.

Описательные характеристики новой музыки: мотивирующая, старая, midi-шная, веселая, задорная, ненапряжная.

Ассоциации: электрический семпл, капающая вода, текущий ручей, там-тамы, ударные.

Можно изменять темп музыки в соответствии со скоростью змеи.

 

Монетизация

Реклама

Показывать рекламу в следующих интерфейсах:

  • Экран рекордов
  • Экран настроек

 

Продвижение

Пути продвижения:

  1. Механизмы публикации рекордов и достижений;
  2. Публикации информационных статей;
  3. Участие в рейтингах и конкурсах;
  4. Поисковая оптимизация;
  5. Платная реклама в соц сетях;
  6. Платная контекстная реклама;
  7. Платная реклама на площадке нашего рекламодателя;
  8. Ведение групп в соц сетях.

Материалы:

  1. Трейлер;
  2. Скриншоты.

 

Трейлер

Сценарий:

  1. Заставка с нашим логотипом и названием
    1. Время: 2 секунды
  2. Революция:
    1. Появляется голова нашей змеи из главного меню.
    2. Запускается музыкальная тема главного меню.
    3. Камера отъезжает дальше, становится видно все главное меню;
    4. Текст: “Революционный адаптивный интерфейс”;
    5. Время: 5 секунд.
  3. Управление:
    1. Текст: “Образцовый геймплей и удобное управление”;
    2. Показаны ускоренные видео записи геймплея с различными контроллерами;
    3. Тексты — названия контроллеров;
    4. Музыка — тема игровой партии;
    5. Время: 10 секунд;
  4. Социальность:
    1. Показана процедура share с вызовом окна и списком мессенджеров;
    2. Текст: “Поделиться рекордом с друзьями”.
    3. Показаны интерфейсы рекордов;
    4. Тексты: “Сравнить свои результаты со всем миром”;
    5. Музыка продолжается тема игровой партии;
    6. Время: 10 секунд;
  5. Финал:
    1. Появление промо-арта;
    2. Музыка прерывается звуком окончания песни;
    3. Текст: “Найти в Play.Google” и скриншот строки поиска с фразой “Не кусай себя!”
    4. Ссылка на play.google QR-кодом;
    5. Ссылка на посадочную страницу на сайте (она короче и проще запомнить с видео);
    6. Эмблема WKF Team.
    7. Время: 10 секунд
    8. Занавес

Общая продолжительность: 25 секунд.

 

Скриншоты

Каждый скриншот показывает определенную сцену из игры и соответствующую ей надпись.

Вертикальные:

  1. “Образцовый геймплей” — змея по прямой движется к яблоку;
  2. “Управление: свайпы” — змея на поле в форме буквы “Z”, активный контроллер свайпы;
  3. “Управление: 4 кнопки” — змея на поле в форме цифры “4”, активный контроллер 4 кнопки;
  4. “Управление: 2 кнопки” — змея на поле в форме цифры “2”, активный контроллер 2 кнопки;

Горизонтальные:

  1. “Адаптировано также для планшетов” — змея по прямой движется к яблоку;

 

Промо-арт

Должны быть следующие промо-арты:

  1. Для размещения в гугл-плей;
    1. Необходимо название приложения;
    2. Учесть, как отображется этот арт сейчас на экранах телефона, планшета и компьютера (надпись не везде видна).
  2. Арт для основной посадочной страницы:
    1. Цель — привлечь среднего игрока;
    2. Вариант: в псевдо-зд змея, похожая на нашу, на фоне деревянного загона (нашего игрового поля), смотрит на зрителя, фон размыт.

 

Интерфейсы

На диаграмме ниже представлена карта переходов по игровым интерфейсам.

Условные обозначения:

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

screen_map

 

Главный экран

Служит входной точкой при запуске игры.

Наиболее простое и призывающее действие должно быть — запуск новой партии.

Кнопки:

  1. Запустить игру — в виде символа play.
  2. Открыть рекорды — в виде значка кубка.
  3. Открыть настройки — в виде значка шестеренки.
  4. Звук
  5. Выход

main

 

Игровой экран

Игровое поле, элементы управления и объекты геймплея — ничего лишнего.

Элементы:

  1. Пауза — в виде классического символа паузы.
  2. Звук
  3. Кнопки управления в зависимости от выбранного стиля.
  4. Длина змейки
  5. Скорость змейки

game

 

Настройки

Элементы:

  1. Тип управления (4 кнопки,  кнопки, свайпы) — выбирается нажатием на боковые кнопки или свайпами
  2. Ориентация экрана (Автоматически, Горизонтальная, Вертикальная) — выбирается нажатием на боковые кнопки или свайпами
  3. Ввод имени игрока (текстовое поле)
  4. Кнопка “Назад”
  5. Кнопки включения/отключения вибро и звука

settings

 

Рекорды

Интерфейс разделен на закладки:

1) “Дома” (локальная таблица рекордов на телефоне, только “классика”), состоит из столбцов:

  • Имя
  • Набранный рейтинг
  • Дата

всего 10 строк

2) “В мире” (онлайн-рейтинг по “классике”), состоит из столбцов:

  • Имя
  • Набранный рейтинг
  • Дата

всего 10 строк (топ-10) + 1 строка лучшего результата из локальной таблицы с указанием места в мире, если не попал в топ-10.

 

Техническое описание

Данный раздел содержит задание на разработку технических аспектов: интеграции, тестирования, статистики и т.п.

 

Отладочная информация

В бета-билде должна выводиться следующая отладочная информация:

  • Надпись beta;
  • fps: мгновенный, средний за 10 фреймов, минимальный за 10 фреймов;
  • drawcalls;
  • Общий объем исп. памяти
  • размеры экрана и кнопок

 

Список и требования к изображениям

Список требуемых артов:

  1. Змея
    1. Спрайт головы змеи (64×64)
    2. Спрайт тела змеи (64×64)
    3. Спрайт хвоста змеи (64×64)
    4. Спрайт поворота тела змеи на 90? (64×64)
  2. Объекты
    1. Спрайт стены (64×64)
    2. Спрайт яблока (64×64)
  3. Фоны
    1. Трава (256×256)
    2. Фон меню, вертикальный, размеры: 320х480, 384х700, 600х960, 720х1280
  4. Иконки для кнопок (без подложки и без текста), размеры 32х32
    1. Начать игру — иконка “play”.
    2. Открыть рекорды — в виде значка кубка.
    3. Открыть настройки — в виде значка шестеренки.
    4. Выход — дверь
    5. Звук
    6. Пауза
    7. Кнопки управления — 4 стрелки в разных направлениях
    8. Вернуться в игру — закругленная стрелка
    9. Прервать игру — знак “стоп”
  5. Картинки и иконки для приложения
    1. Иконка приложения в разных размерах: 36х36 (х1), 48х48 (х1.5), 72х72 (х2), 96х96 (х3), 144х144 (х4);
    2. Иконка приложения для маркета (512×512).

 

Тестирование

Сценарий/шаг Действие Ожидаемый результат
  • Установка/Удаление/Обновление приложения
0. Пред-условие
  • Установлена предыдущая версия приложения
  • Присутствуют значения в таблице рекордов
1. Обновление приложения
  • Выключить wi-fi, включить передачу мобильных данных
  • зайти в “мои приложения” в Google Play
  • Выбрать приложение “Змейка”
  • Нажать кнопку “Обновить”
  • Приложение скачалось и установилось без ошибок
  • Версия приложения = <текущая версия сборки>
  • в разделе “Рекорды” сохранены данные которые были до обновления
2. Удаление приложения
  • Зайти в “Мои приложения” в Google Play
  • Выбрать приложение “Змейка”
  • Нажать кнопку “Удалить”
  • Удаление приложения прошло без ошибок — появилось сообщение “Змейка удалена успешно”
  • В диспетчере приложений отсутствует приложение “Змейка”
3. Установка приложения
  • Включить wi-fi, выключить передачу мобильных данных
  • Зайти в Google Play
  • Через поиск (по слову “змейка”), найти приложение
  • Нажать кнопку “Установить”
  • Приложение скачалось и установилось без ошибок
  • Версия приложения = <текущая версия сборки>
4. Проверка установки
  • Запустить приложение “Змейка”
  • Нажать на кнопку “Рекорды”
  • Нажать “назад”, затем “Настройки”
  • Приложение запущено корректно, без ошибок
  • В разделе “Рекорды” нет ни одного рекорда
  • В настройках Имя пользователя = “Игрок”, Ориентация экрана = “Автоматическая”, Управление = “Свайпы”
2 . Базовая игровая механика
0. Запуск приложения
  • Запустить приложение “Змейка”
  • Приложение корректно запустилось
  • Отображается Главное меню
1. Запуск простой игры
  • Нажать кнопку “Играть”
  • Отображено Игровое поле
  • Присутствуют объекты: змейка, яблоко
2. Проверка паузы 1
  • Нажать кнопку “пауза”
  • змейка зафиксирована, без движения
3. Проверка поля
  • Посчитать клетки поля
  • Поле 14 на 11 клеток
  • поле отображено корректно, нет разрывов в границах, присутствует шахматный окрас
4. Проверка змейки
  • Посчитать длину змейки
  • Длина змейки — 3 клетки
5. Проверка снятия с паузы 1
  • нажать кнопку “Продолжить”/”пауза”
  • змейка продолжила движение по карте
6. Увеличение длины змейки
  • собрать яблоко
  • длина змейки увеличилась на 1
7. Увеличение скорости змейки
  • собрать 5 яблок
  • скорость змейки увеличена на 10
8. Проверка времени жизни яблока
  • перемещаться по полю, не собирая яблоко
  • через время <ttl> яблоко пропало
  • появилось яблоко в другом месте поля
9. Проверка смерти 1 (удар об стенку)
  • увести змейку за пределы поля
  • корректно отображен интерфейс завершения партии (game over)
  • картинка змейки со звездочками
10. Проверка рейтинга
  • Нажать кнопку “еще раз”
  • Собрать яблоко
  • кол-во очков в левом верхнем углу увеличилось на <длина>*<скорость>
11. Проверка временного рейтинга
  • двигаться по полю, не собирая яблок
  • кол-во очков постоянно увеличивается до 75% от следующего рейтинга
12. Проверка смерти 2 (укусил себя)
  • набрать длину змейки >=4
  • сделать 3 поворота направо подряд
  • корректно отображен интерфейс завершения партии (game over)
  • картинка змейки укусившей себя за хвост
3. Различные типы управления и ориентации экрана
0. Установка и запуск приложения
  • Запустить приложение “Змейка”
  • Приложение корректно запустилось
  • Отображается Главное меню
1. Меню «Настройки» — Перейти в «настройки» — Настройки отображены корректно

— Значения по умолчанию:

Тип управления = свайпы

Тип ориентации экрана = Авто

2.

 

Архив

Легенда вариант 1

В давние времена, когда многое было непонятно, а ещё больше неизвестно, жила в саду змейка. Ни о чём не задумывалась, проблем не знала, ела сладкие фрукты с деревьев и сочные ягоды с кустов. А ещё в этом саду обитало много разных созданий, но все они были сами по себе. Никто маленькую змейку не замечал, а она очень хотела подружиться. И вот однажды, во время обеда на яблоне, она увидела около дерева двух симпатичных созданий. Подумав, что дружбу лучше всего начать с небольшого подарка, она выбрала самый красивый и сладкий плод и, прошуршав по ветке, свесилась к лицу одного из них. Аккуратно держа подарок во рту, она посмотрела существу в глаза и попробовала улыбнуться настолько дружелюбно, насколько это было вообще возможно в этой ситуации. Золотистые глаза напротив удивлённо расширились, и узкая длинная кисть аккуратно приняла подарок. Существо также улыбнулось и надкусило плод. В тот же миг прогремел гром, в глазах у змейки потемнело, зашумели деревья, и огромный вихрь поднял маленькую змейку в воздух, закружил и понёс по небу. Она уже почти простилась с жизнью, как вдруг ураган шмякнул её о землю. Осмотревшись, маленькая змейка поняла, что её привычная жизнь закончилась. На жёлтом песке кое-где были разбросаны раскалённые камни, красноватые переливы на которых явно показывали, что к ним лучше не прикасаться. Ничего, подумала она, не пропадём. Её носик ощутил знакомый запах — где-то рядом есть еда. А еще она точно знала, в какой стороне искать дом. И до дома было далеко — путь пролегал через раскалённую пустыню, высокие горы, глубокое море, таинственный замок… Ладно, решила змейка. Я вырасту большой и сильной, вернусь и узнаю, что стало с моими новыми друзьями…

 

29.09.2015

 

< Назад Вперед >