Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

1 Введение

Настоящее техническое задание распространяется на разработку программы-переиздания культовой игры Pacman, предназначенной для общественного пользования.

В 1980 году компанией Namco была создана игра под названием Pacman. Поначалу она выпускалась только на игровых консолях Nintendo и на игровых автоматах. Она получила большую популярность и зарекомендовала себя как одна из самых лучших двухмерных игр тех времен.

В настоящее время существует только несколько качественных переизданий данной игры от других разработчиков. К примеру, веб-игра Pacman от компании Yandex может продемонстрировать и передать игровой опыт тех времен, хотя имеет и свой недостаток: данную игру можно запустить только в браузере при наличии Интернет-подключения.

Разработка desktop-версии данной игры позволит пользователю насладиться игровым опытом тех лет без Интернет-подключения и попробовать для себя что-то новое в игровой сфере, просто установив данную программу на личный компьютер.

1.1 Наименование программы

Наименование программы -- «Pacman»

1.2 Краткая характеристика области применения

Программа «Pacman» предназначена для открытого свободного использования в развлекательных целях на компьютерах с операционной системой Windows, поддерживающая .NET и WPF (Windows Programming Framework), которая позволит после установки насладиться игровым опытом первых компьютерных игр без подключения к сети Интернет.

2 Основания для разработки

Программа разрабатывается в рамках изучения МДК 02.01 «Технология разработки программного обеспечения» по специальности 09.02.07 «Информационные системы и программирование», факультет СПО №12 СПб ГУАП

3 Назначение

Основным назначением программы является развлечение пользователя и предоставление игрового опыта 80-х годов. В ней представлены несколько режимов на выбор, в которой пользователю дается возможность управлять игровым персонажем на уникальным картах для каждого режима. Главная задача игрока -- собрать все сферы (опыта и специальные), параллельно убегая от противников (для классического режима и режима редактора уровней), а также продержаться как можно дольше на игровом поле (для режима Бой насмерть).

3.1 Функциональное назначение

Для пользователя программа предоставит возможность испытать игровой опыт в оригинальной игре «Pacman», а также в ее уникальных режимах, которые дополнили разработчики.

4 Требования к программе

4.1 Требования к функциональным характеристикам

4.1.1 Программа должна обеспечивать возможность выполнения следующих функций:

  • После запуска программы отображается окно с выбором игрового режима
  • На окне с выбором игрового режима располагаются элементы для выбора:
    • Классический режим
    • Редактор уровней
    • Бой насмерть
    • Выход из игры
  • В окне «Классический режим» должны быть реализованы следующие функции:
    • Классическая игра «Pacman»
    • Запуск игры
    • Перезапуск игры
    • Остановка игры
    • Просмотр статистики локальных пользователей
  • В окне режима «Редактор уровней» должны быть реализованы следующие функции:
    • Панель редактируемой пустой игровой карты
    • Панель выбора объекта для размещения на игровом поле
    • Запуск игры
    • Перезапуск игры
    • Остановка игры
    • Просмотр статистики локальных пользователей
  • В окне режима «Бой насмерть» должны быть реализованы следующие функции:
    • Игра «Бой насмерть»
    • Запуск игры
    • Перезапуск игры
    • Остановка игры
    • Просмотр статистики локальных пользователей

4.1.2 Исходные данные

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

4.2 Требования к надежности

Вероятность безотказной работы системы должна составлять 99.99% при условии исправности связи с базой данных.

4.3 Условия эксплуатации

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

4.3.1 Климатические условия

Специальные условия не требуются

4.4 Требования к составу и параметрам технических средств

Система должна работать на IBM совместимых персональных компьютерах

4.4.1 Минимальная конфигурация:

  • процессор - 1 ГГц (2 ядра)
  • ОЗУ -- 4 ГБ
  • дисковое пространство - 2 ГБ
  • Видеокарта -- интегрированная
  • Операционная система -- Windows 10 / 11

4.4.2 Рекомендуемая конфигурация:

  • процессор -- 2 ГГц (4 или более ядер)
  • ОЗУ - 8-16 ГБ
  • дисковое пространство -- 10 ГБ
  • видеокарта -- дискретная
  • Операционная система -- Windows 10 / 11

4.5 Требования к информационной и программной совместимости:

  • Среда разработки (IDE) -- Rider / Visual Studio 2022
  • Язык программирования -- C# 12.0 (.NET 9.0)
  • База данных -- SQLite 3.0
  • Фреймворк -- WPF (Windows Programming Framework)
  • Операционная система -- Windows 10 / 11

4.6 Требования к маскировке и упаковке:

  • Исходный код программы, разработанный на языке C#, разместить в закрытом репозитории GitHub для дальнейшего сопровождения и поддержки разработчиками.
  • Готовую (скомпилированную) версию продукта разместить в открытом репозитории GitHub для публичного скачивания и распространения.

5 Требования к программной документации

5.1 Предварительный состав программной документации:

  • Техническое задание
  • Разрабатываемые программные модули должны быть самодокументированы, т. е. тексты программ должны содержать все необходимые комментарии.
  • Руководство пользователя (текстовое) с полным описанием функционала и навигатором по программе

6 Технико-экономические показатели

Разрабатываемая программа «Pacman» предназначена для публичного использования другими пользователями, ищущие программы-переиздания игры «Pacman» от Namco. Функциональность программы соответствует оригинальной, предлагая несколько режимов на выбор, а также просмотр таблицы лидеров локальных пользователей.

При бесплатном распространении программа будет востребована пользователями компьютеров. Экономический эффект при этом может быть достигнут благодаря внедрению платного контента для программы, который будет докупаться и устанавливаться отдельно.

7 Этапы разработки

7.1 Стадия: Подготовка перед началом разработки

Этап 1.1 Создание визуального макета программы в программе Figma

Этап 1.2 Поиск готовых и создание нужных графических изображений, необходимых при разработке

Этап 1.3 Выбор модели архитектуры программы

Этап 1.4 Создание макета базы данных

Этап 1.5 Создание макетов уровней для каждого режима

7.2 Стадия: Разработка базовой программы

Этап 2.1 Создание классического проекта на базе фреймворка WPF (Windows Programming Framework).

Этап 2.2 Создание модуля, отвечающего за переключение между окнами

Этап 2.3 Создание архитектуры базы данных

7.3 Стадия: Разработка окон

Этап 3.1 Разработка приветствующего экрана

Этап 3.2 Разработка главного экрана с выбором режимов

Этап 3.3 Разработка окон (на данном этапе пустых) для каждого из 3 режимов

7.4 Стадия: Разработка игровых методов

Этап 4.1 Создание модуля, реализующий механику игрового процесса главного персонажа

Этап 4.2 Создание модуля, реализующий механику игрового процесса противников

Этап 4.3 Тестирование разработанных модулей на тестовых площадках

Этап 4.4 Разработка СУБД, а также внедрение его в проект. Тестирование запросов.

7.5 Стадия: Разработка режимов

Этап 7.5.1 Разработка классического режима:

  • Классическая игровая карта
  • 1 игровой персонаж (по умолчанию находится в режиме блуждания)
  • 4 противника (по умолчанию в режиме охоты)
  • Режим блуждания главного игрового персонажа -- игровой персонаж движется с обычной скоростью по любой траектории, которую задает пользователь; не может убить противников.
  • Режим охоты главного персонажа -- скорость игрового персонажа увеличивается в 2 раза; может убить противников
  • Режим охоты противников -- скорость передвижения противников обычная; траектория движения направлена на игрового персонажа; стремятся его убить; не могут убить других противников
  • Режим бегства противников -- скорость противников остается неизменной; стремятся убежать от игрового персонажа.
  • Событие «убийство» наступает только при совпадении координат игрового персонажа и противника. В зависимости от их режимов погибает один из этих объектов. Умерший объект возрождается в середине поля.
  • 3 жизни у игрового персонажа (отнимается 1 единица при убийстве игрового персонажа)
  • Количество жизней у противников -- бесконечное
  • По всей карте расставлены сферы опыта (после достижения позиции его расположения оно автоматически используется - прибавляет к общему игровому счету 10 очков)
  • По разным углам карты расставлены 4 специальные сферы (после достижения позиции его расположения оно автоматически используется -- игровой персонаж переходит в режим охоты на 10 секунд, а противники -- в стадию бегства на 10 секунд, а также к общему счету прибавляется 50 очков)
  • Время на игру -- 999 секунд (отсчитывается автоматически в фоновом режиме)
  • Конец игры наступает либо после сбора всех сфер опыта и специальных сфер, либо после окончания таймера, либо после окончания всех жизней персонажа
  • Методы, реализующие запуск, остановку и продолжение игры после остановки.

Этап 7.5.2 Разработка режима редактора уровней:

  • Пустая редактируемая игровая карта
  • Панель с выбором объекта для размещения на редактируемой карте (противники, препятствия, сферы)
  • Редактируемый таймер
  • Редактируемое количество жизней игрового персонажа
  • Редактируемая скорость передвижения противников и персонажей
  • Поведение противников, игрового персонажа и другие условия игры см. Этап разработки 4.1. Разработка классического режима.

Этап 7.5.3 Разработка режима Бой насмерть

  • Уникальная игровая карта
  • Время на игру не ограничено
  • После прохождения 10 секунд на карте появляется 1 специальная сфера и 10 сфер опыта в разных местах, появляется 1 противник в случайном месте.
  • Скорость противников составляет 0.1 от стандартной скорости. Каждые 10 сек она увеличивается на 0.2 единицы.
  • Жизнь у игрового персонажа одна
  • Конец игры наступает после первой смерти игрового персонажа.

7.6 Стадия: Разработка статистики пользователей:

Этап 6.1 Разработка модуля, отвечающий за получение статистики 10-ти лучших пользователей по запрошенному режиму

Этап 6.2 Разработка окон для каждого режима, реализующий графическое представление запроса к БД на получение статистики всех пользователей по данному режиму

7.7 Стадия: Тестирование программного продукта:

Этап 7.1 Тестирование UI и взаимодействия с ним

Этап 7.2 Тестирование каждого игрового режима

Этап 7.3 Тестирование статистических сведений по каждому режиму.

8 Порядок контроля и приемки

Заказчик в лице Яниса Игоря Владимировича обязана обеспечить контроль над каждым этапом разработки. По завершению обеспечить процесс приемки проекта по следующим пунктам:

  • Проверка на успешное скачивание и установку программы из открытого репозитория GitHub
  • Проверка корректного запуска программы
  • Проверка игровых режимов на работоспособность
  • Проверка на корректность отображения статистических сведений
  • Проверка связи с поддержкой

Результатом успешного проведения приемки будет являться составление акта приемки.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors