Техническое задание - Porosenok-Petr/THE-SHAKE-GAME GitHub Wiki
1. ВВЕДЕНИЕ
Все прекрасно знают классическую игру змейку на кнопочном телефоне, в которую мы все играли в детстве. Её сутью было кормить змею яблоками и гонять по полю, пока она растет в размерах с каждым съеденным яблоком. Задача была в том, чтобы не врезаться в стенки или в тело змеи, пока она росла в размерах. Но что, если выпустить на неё ремастер в пиксельной графике? Оригинальная игра выглядит крайне просто, а другие перевыпуски скучными и слишком детскими. Наша команда разработчиков «Ядовитый синтаксис» решила создать новую игру на основе всем известной концепции, чтобы каждый мог поиграть в эту замечательную игру с обновленной графикой на основе движка Unity 2019.
2. ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ
Программа разрабатывается на основе учебного плана «Компьютерные системы и Программирование» и в соответствии с указанием лабораторной работы
3. НАЗНАЧЕНИЕ
Основным назначением программного продукта является демонстрация навыков разработки 2D-игр на движке Unity, создание законченного игрового приложения с интуитивно понятным интерфейсом и реализация классической механики «Змейки» с элементами прогрессии сложности. Программа предназначена для широкого круга пользователей ПК под управлением ОС Windows, желающих провести досуг.
4. ТРЕБОВАНИЯ К ПРОГРАММЕ ИЛИ ПРОГРАММНОМУ ПРОДУКТУ
4.1. Требования к функциональным характеристикам:
Игровой процесс (Геймплей):
- Игровое поле представляет собой сетку (например, 20x20 клеток).
- Игрок управляет змеёй, состоящей из сегментов (голова и тело).
- Цель игры — управлять змеёй, собирая еду (яблоки), появляющуюся на поле в случайном месте.
- При поедании еды:
-
Длина змеи увеличивается на один сегмент - Игроку начисляются очки.
- Скорость движения змеи может увеличиваться (опционально, для усложнения).
- Генерируется новая цель.
- Условия окончания игры (Game Over):
-
Столкновение головы змеи с границей игрового поля. -
Столкновение головы змеи с собственным телом.
- Управление:
- Управление змеёй осуществляется клавишами-стрелками (вверх, вниз, влево, вправо).
- Реализовать защиту от "самоубийства" (нельзя мгновенно развернуть змею в обратную сторону, например, при движении вправо, нажатие влево должно игнорироваться).
- Интерфейс и Меню:
4.1. Главное меню:
- Кнопка «Новая игра» (запуск игрового процесса).
- Кнопка «Настройки» (переход к меню настроек).
- Кнопка «Выход» (закрытие приложения).
4.2. Меню «Настройки»:
- Ползунок регулировки громкости звука (SFX и фоновая музыка, если есть).
- Опционально: переключатель «Вкл/Выкл» для звука.
4.3. Игровой экран (HUD):
- Отображение текущего счета (Score).
- Отображение лучшего результата (High Score), сохраненного на устройстве.
- Пауза:
- Возможность поставить игру на паузу (клавиша Esc).
- Во время паузы отображается меню с кнопками «Продолжить» и «Выйти в главное меню».
- Экран «Game Over»:
- Отображение набранных очков.
- Отображение рекорда (если он был побит, поздравление).
- Кнопки: «Играть снова» и «Главное меню».
4.2. В ходе анализа предметной области были выделены следующие не функциональные требования приложения:
- Визуальный стиль: Игра выполняется в стиле «пиксель-арт» (ретро-стилистика). Графика должна быть стилистически единообразной (спрайты еды, фона, змейки должны сочетаться).
- UI/UX (Удобство интерфейса): Интерфейс должен быть минималистичным, все элементы управления (кнопки) должны быть подписаны и легко читаться. Игрок не должен гадать, как начать игру.
- Производительность: Игра должна работать с частотой не менее 60 кадров в секунду (FPS) на конфигурациях, соответствующих минимальным требованиям. Отсутствие «фризов» (замираний) во время игры.
- Стабильность: Программа не должна аварийно завершаться (вылетать) при любых корректных действиях пользователя.
4.3. Исходные данные:
- Код: Весь код должен быть написан на языке C# с использованием объектно-ориентированного подхода.
- Графика: Спрайты для игры создаются самостоятельно с помощью таких графических ресурсов как Adobe Photoshop, Figma.
4.4. Минимальная конфигурация:
- Процессор: с частотой 1.5 ГГц.
- ОЗУ: 1024 Мб (1 Гб).
- Видеокарта: поддержка DirectX 10.
- Место на диске: 150 Мб.
4.5. Требование к надежности
- Сохранение данных: Лучший результат (High Score) должен сохраняться между сессиями игры в локальном файле
- Обработка ошибок: Некорректный ввод (зажатие нескольких клавиш) не должен приводить к сбоям в логике движения змеи
4.6. Требования к составу и параметрам технических средств
Система должна работать на IBM совместимых персональных компьютерах.
Минимальная конфигурация:
-
тип процессора............................................................... не важен; - объем оперативного запоминающего устройств ........32 Мб и более.
4.7. Требования к информационной и программной совместимости Система должна работать под управлением семейства операционных систем Win 32 (Windows 7, Windows 8, Windows 10, и т. п.).
5. ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ
5.1. Код: Тексты программ должны быть структурированы, классы и методы должны иметь названия, отражающие их суть. Код должен содержать комментарии к сложным алгоритмическим блокам (например, логика роста змеи или обработка столкновений). 5.2. Справочная информация: Программа должна содержать краткий раздел «Как играть» (Help/Помощь), вызываемый из главного меню, с описанием правил и управления.
5.3. Состав документации (самое главное для сдачи):
- Пояснительная записка (ПЗ): Должна содержать введение, описание предметной области, архитектуру программы (диаграммы классов или описание скриптов), описание пользовательского интерфейса (скриншоты), описание процесса тестирования и список используемой литературы.
-
Руководство пользователя: Документ с инструкцией по установке (если требуется) и запуску игры, описанием меню и клавиш управления.
5.3.В состав сопровождающей документации должны входить:
- Пояснительная записка, содержащая описание разработки.
- Руководство пользователя.
- Диаграмма взаимодействия пользователя со средой