Главная страница
Навигация по странице:

  • Описание предметной области

  • Анализ требований к приложению

  • Проектирование логики игры

  • Проектирование поведения игровых объектов

  • Проектирование интерфейса приложения

  • Описание средств разработки приложения

  • Разработка игровых объектов приложения

  • Создание модели «Крестовая труба».

  • Создание модели «Прямая труба».

  • Разработка сценариев приложения

  • Is Trigger

  • Center

  • Наименование Описание

  • Руководство пользователя

  • Определение затрат труда на разработку приложения

  • Руководство пользователя 39


    Скачать 2.41 Mb.
    НазваниеРуководство пользователя 39
    Дата17.06.2022
    Размер2.41 Mb.
    Формат файлаdocx
    Имя файлаIspravil_pz_1.docx
    ТипРуководство пользователя
    #600422

    Содержание


    Введение 3

    1.Аналитическая часть 4

    1.1.Описание предметной области 4

    1.2.Анализ требований к приложению 6

    1.3.Проектирование логики игры 7

    1.4.Проектирование поведения игровых объектов 9

    1.5.Проектирование интерфейса приложения 11

    1.6.Описание средств разработки приложения 18

    2.Технологическая часть 20

    2.1.Разработка игровых объектов приложения 20

    2.2.Разработка сценариев приложения 31

    2.3.Описание функций приложения 34

    2.4.Тестирование 36

    2.5.Руководство пользователя 39

    3.Экономическая часть 40

    3.1.Определение затрат труда на разработку приложения 40

    Заключение 44

    Список использованных источников информации 45





    Введение


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

    Технология дополненной реальности в будущем станет точкой для новой технологической революции, а всё потому что функционал этой технологии можно уверенно сказать безграничной.

    AR технология в игровой индустрии – это будущее современных игр. На данный момент она не пользуется особой популярностью, но развитие не стоит на месте. В скором времени дополненная реальность будет идти бок о бок с обычными 3D и 2D играми. Целью данного дипломного проекта является разработка AR-игры «Plumber».

    Основанием для разработки является приказ директора БПОУ «Омавиат» №250-ОД от 26 апреля 2022 года»

    1. Аналитическая часть


      1. Описание предметной области

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

    Для работы с AR на производственном предприятии используются смартфон, планшет или умные очки с видеокамерой и соответствующим ПО. Если объектив камеры направлен на объект (часть оборудования), программное обеспечение распознает его по заранее определенному маркеру или после анализа формы. В процессе распознавания программа подключается к трехмерному цифровому двойнику объекта, расположенному на корпоративном сервере или в облаке.

    Затем устройство AR загружает нужную информацию и накладывает ее на изображение объекта. В результате работник предприятия видит на экране (или в своих очках) частично физическую реальность, частично цифровую. В то же время оператор, управляющий этим оборудованием, и техник-ремонтник, глядя на один объект, увидят различную дополненную реальность в соответствии с выполняемой работой. Ремонтник, например, увидит данные о температуре конкретного узла обслуживаемого оборудования, а оператор AR-устройства может помочь управлять этим оборудованием с помощью сенсорного экрана, голоса или жестов. Когда сотрудник перемещается, размер и ориентация дисплея AR настраиваются автоматически, ненужная информация исчезает, а новая появляется.



    Методы трекинга

    1. Маркеры - Трекинг с использованием маркеров предполагает заранее заданную модель объекта, которую можно отслеживать даже с одной камерой. Маркерами обычно служат источники инфракрасного излучения, а также видимые маркеры наподобие QR-кодов. Это возможно только в том случае, если пользователь находится в пределах видимости маркера. Это устаревший метод, который уже не так широко используется.

    2. Inside-out - Этот метод реализуется благодаря оптическим сенсорам на движущемся объекте, а именно на AR-шлеме. Они отслеживают движение относительно неподвижных точек в окружающем пространстве.

    3. Outside-in - метод при котором внешний неподвижный наблюдатель, то есть камера, определяет положение человека по характерным точкам.

    Аркада — жанр компьютерных игр, характеризующийся коротким по времени, но интенсивным игровым процессом.

    В узком смысле аркадными называются игры для аркадных игровых автоматов. Игры, портированные с аркадных автоматов, также принято называть аркадными.

    Все аркады имеют несколько общих черт, по которым их можно легко узнать. Это, в частности:

    • упрощенный, но интенсивный процесс;

    • упрощенная графика;

    • отсутствие явно прослеживаемого сюжета;

    • бесконечность (в игре может быть огромное число уровней);

    • возможность набрать очки за выполнение различных действий;

    • небольшой промежуток времени, необходимый для их прохождения;


      1. Анализ требований к приложению

    Данный проект рассчитан на любителей аркадных игр. Возрастные ограничения с 6-ти лет. Игра позволяет развивать внимание и скорость реакции.

    Требования к приложению пользователя:

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

    • Возможность начать новую игру;

    • Возможность продолжить ранее созданную игру;

    Проанализировав предметную область, были выявлены следующие цели:

    • создание нового приложения с предоставлением возможностей дополненной реальности.

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

    А также игра должна отвечать определенным требованиям, список которых приведен ниже:

    • игра должна быть простой в понимании;

    • дизайн игры должна быть выполнена без резких цветов;

    • игра должна быть оптимизированной;

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




      1. Проектирование логики игры




    Рисунок 1 – Блок – схема игры
    Суть игры заключается в следующем: в дополненной реальности появляется метка. При наведении камеры телефона на метку отображается модель, состоящая из элементов - труб. В игре необходимо соединить соответствующие друг другу элементы модели (при нажатии на кнопку появляется элемент модели) за минуту: при соединении всех элементов модели получается трубопровод. Если время вышло, то игра завершается, и игрок переходит на экран поражения.

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



    Рисунок 2 - Схема игровых циклов

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



      1. Проектирование поведения игровых объектов

    Основными объектами в данном проекте являются трубы. Каждый уровень состоит из множества различных 3D объектов, которые позволяют организовывать особое игровое пространство.

    Вторым видом необходимых объектов является GUI. Который в свою очередь состоит из кнопок, панелей и надписей. Ниже представлен перечень всех элементов графического интерфейса:

    • кнопка начала новой игры;

    • кнопка выбора уровня;

    • кнопка выхода;

    • кнопки для выбора уровней;

    • кнопки для возврата в главное меню;

    • кнопка возврата к игре, после вызова меню паузы;

    • заголовки для всех экранов;
      Диаграммы состояний используются для абстрактного описания поведения системы. Это поведение анализируется и представляется серией событий, которые могут происходить в одном или нескольких возможных состояниях. Так как у меня все объекты выполняют функцию подсоединительной трубы диаграмма состояний у них будет одинаковой

    На рисунке 3 отражена модель поведения трубы, которая поворачивается и открывает доступ к водонапору.



    Рисунок 3 – Модель поведения «Труба»



    Рисунок 4 - Диаграмма состояния моделей "Труба"


      1. Проектирование интерфейса приложения

    Перед началом разработки приложения необходимо определиться с количеством экранов приложения. На рисунке 4 изображена схема экранов игры:

    UI:

    Начальный экран: на экране находится блок с «Названием игры», в центре расположены кнопки «Начать игру» и «Выход»

    Экран игры: на экране находится блок «Оставшееся время».

    Экран победы: на верхней части экрана расположено 2 блока «Победа» и «Все элементы собраны». По центру расположена кнопка «Попробовать снова».

    Экран поражения: на экране расположено 2 блока «Игра окончена» и «Время вышло». По центру расположена кнопка «Попробовать снова».

    UX:

    Начальный экран: в центре расположена большая кнопка «Начать игру» зеленого цвета, т.к. она сразу бросается в глаза и на неё легко нажать большим пальцем. На верхней части экрана находится блок «Название игры» с приятным и легко читаемым шрифтом.

    Экран игры: на верхней части экрана находится блок «Оставшееся время», для удобного доступа к оставшемуся времени на сбор модели.

    Экран победы: на верхней части экрана «Экран победы» также расположен блок «Победа» обозначающий завершение игры. Чуть выше центра расположен блок «Все элементы собраны», для обозначения успешного завершения игры и вызова положительных эмоций у игрока. В центральной части экрана расположена желтая кнопка «Попробовать снова» для того чтобы быстро перейти к экрану игры и начать проходить игру сначала.


    Рисунок 4 - Блок-схема
    Экран поражения: на верхней части экрана «Экран поражения» расположен блок «Поражение» означающий, что игра завершена. Чуть выше центра расположен блок «Время вышло», который означает что игрок не успел совместить элементы за определенный промежуток времени. В центральной части экрана расположена желтая кнопка «Попробовать снова» для быстрого перемещения на экран игры и начала нового прохождения.

    Основными игровыми объектами являются игровое пространство и трубы. Игровое пространство представляет собой любое место в реальном мире, которое выберет игрок.

    Игровой интерфейс представлен на рисунке 8, состоящий из двух кнопок:

    • Начать игру;

    • Выйти из игры.

    Сам интерфейс приложения разрабатывался при помощи функции

    UI-Canvas(рисунок 5),Функции Panel которая лежит в иерархии функции UI-Canvas(рисунок 6), в саму функцию Panel уже добавляются функции(рисунок 7).

    1. Название приложения.

    2. Кнопки приложения.


    Рисунок 5 - Разработка интерфейса через UI-Canvas

    Рисунок 6 - Добавление функции Panel в иерархию Canvas



    Рисунок 7 - Иерархия экранов

    На данной иллюстрации показана вся иерархия игрового экрана, сам canvas, panel и сами кнопки приложения







    Рисунок 8 - Начальный экран


    «Экран выбора уровня» построен аналогично «Начальному экрану»

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


    Рисунок 9 - Экран выбора уровня

    При нажатии на кнопку уровня игрока перебрасывает на игровую область где он должен выполнить поставленные условия. На рисунке 10 представлен экран игровой области.


    Рисунок 10 - Экран игровой области


    Рисунок 11 - Экран паузы
    На экране игровой области есть кнопка «Пауза», при нажатии на эту кнопку игра останавливается, игрок в любой момент может продолжить игру.

      1. Описание средств разработки приложения

    Для выполнения поставленной задачи был выбран игровой движок Unity. Для работы с дополненной реальностью в Unity существует несколько плагинов: Vuforia(любые платформы), ARCore(Android), ARKit(IOS). Так как клиент заказал игру на платформу Android, был выбран плагин Vuforia. А также, для разработки моделей была выбрана среда разработки Blender.

    Unity – межплатформенная среда разработки компьютерных игр. Основными преимуществами Unity являются наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. На Unity написаны тысячи игр, приложений, визуальзации математических моделей, которые охватывают множество платформ и жанров.

    Возможности Unity:

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

    • Поддерживает физику твёрдых тел и ткани;

    • Разделение проекта на сцены, с которыми можно легко взаимодействовать;

    • Поддерживает множество популярных форматов.

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

    Vuforia – это платформа для создания augmented reality приложений для телефонов и планшетов на операционных системах iOS и Android. Нужно сказать, я был приятно удивлен тем, что компания Qualcomm, помимо производства железной составляющей наших любимых гаджетов, еще и предоставляет такие средства для разработчиков.

    Ядром платформы является библиотека QCAR, написанная на C++ и прячущая за свои интерфейсы практически всё от определения мишени (target) и заканчивая рендерингом картинки.

    Помимо библиотеки, платформа включается в себя: iOS и Android Vuforia SDK для разработчиков; Target Manager — систему для создания и управления мишенями; а также набор web сервисов (Vuforia Web Services) в которые можно вынести хранение мишеней и еще кое-какой функционал. Платформа развивается очень динамично и новые части добавляются довольно часто.

    Blender – Профессиональная среда разработки моделей трёхмерной компьютерной графики, включающее в себя средства моделирования, скульптинга, анимации, симуляции, рендеринга, постобработки и монтажа видео со звуком, компоновки с помощью «узлов», а также создания 2D – анимации.

    Возможности Blender:

    • Поддержка разнообразных геометрических примитивов, включая полигональные модели;

    • Универсальные встроенные механизмы рендеринга;

    • Инструменты анимации;

    • Динамика мягких и твёрдых тел;

    • Система частиц;

    • Модификаторы для применения неразрушающих эффектов;

    • Базовые функции нелинейного видео и аудио монтажа;

    • Трекинг камеры объектов.
    1. Технологическая часть


      1. Разработка игровых объектов приложения


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







    Рисунок 13 - Скетч модели "Прямая труба"


    Рисунок 12 - Скетч модели "Угловая труба"



    Рисунок 14 - Скетч модели "Крестовая труба"

    После того, как скетчи были сделаны, необходимо найти референсы, для полного понимания как сделать 3D модель. Референс – это вспомогательное изображение: рисунок или фотография, которые художник или дизайнер изучает перед работой, чтобы точнее передать детали, получить дополнительную информацию, идеи. Референсы п редставлены на рисунках с 15 по 17.




    Рисунок 16 - Референс модели "Прямая труба"
    Рисунок 15 - Референс модели "Крестовая труба"



    Рисунок 17 - Референс модели "Угловая труба"
    Создание модели «Крестовая труба».

    Шаг 1. Выбор фигуры цилиндр (Рис-18).


    Рисунок 18.

    Шаг 2. В открывшемся меню «Add Cylinder» поменять «Vertices 32» (Рис-19)

    На «Vertices 6» (Рис-20).


    Рисунок 19.


    Рисунок 20.

    Шаг 3. Копировать фигуру с помощью сочетанием клавиш «ctrl+c» (Рис-21)


    Рисунок 21


    вставить с помощью сочетанием клавиш «ctrl+v» (Рис-22).


    Рисунок 22.


    Шаг 4. Поменять позицию вставленной фигуры «Rotation Y - 0» (Рис-23) на «Rotation Y - 90» (Рис-24).


    Рисунок 23.



    Рисунок 24.

    Шаг 5. Соединить обе фигуры с помощью режима «Move» (Рис-25).


    Рисунок 25.

    Шаг 6. Выделить две фигуры нажать пкм выбрать «Join» (Рис-26) для объединения в одну фигуру.



    Рисунок 26.

    Шаг 7. Сглаживание фигуры нажать пкм выбрать «Shade Smooth» (Рис-27)


    Рисунок 27.

    Развертка модели (Рис-28)


    Рисунок 28.
    Создание модели «Прямая труба».

    Шаг 1. Выбор фигуры цилиндр (Рис-29).


    Рисунок 29.

    Шаг 2. В открывшемся меню «Add Cylinder» поменять «Vertices 32» (Рис-30)

    На «Vertices 6» (Рис-31).


    Рисунок 30.


    Рисунок 31.

    Шаг 3. Поменять позицию фигуры «Rotation Y - 0» (Рис-32) на «Rotation Y

    -90» (Рис-33).


    Рисунок 32.



    Рисунок 33.

    Шаг 4. Сглаживание фигуры нажать пкм выбрать «Shade Smooth» (Рис-34).


    Рисунок 34.

    Разведка модели (Рис-35).


    Рисунок 35.


      1. Разработка сценариев приложения

    Чтобы добавить модель в Unity для начала необходимо импортировать ее из Blender в формате .obj/.blend/.fbx (рисунок 36)


    Рисунок 36 – Экспорт модели

    Импорт модели в Unity происходит путем перемещения файла с необходимым расширением в иерархию самого проекта(рисунок 37).


    Рисунок 37 - Импорт в иерархию Unity


    Так же на моделях была добавлен компонент Box Collider.


    Рисунок 38 - Настройка компонента "Box collider"
    Box Collider базовый кубический примитив столкновений. Box Collider используются для любых объектов в общих чертах формы параллелепипеда, вроде ящика или сундука. Однако, такой объект может быть использован в роли пола, стены или рампы, и подобная форма является полезным элементом составного коллайдера.(рисунок 38)

    Свойства работы с Box Collider:

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

    Material - Ссылка на физический материал, который определит, как этот коллайдер должен взаимодействовать с другими.

    Center - Позиция коллайдера в местом пространстве объекта.

    Size - Размеры Коллайдера в направлениях X, Y, Z

    Базовые настройки модели для успешного импорта(рисунок 39)


    Рисунок 39 - Настройка модели


    Чтобы настроить AR, необходимо добавить AR Camera. Сначала нужно поменять Main Camera на AR Camera, затем удаляем из сцены Main Camera, а после нажать правой клавишей мыши в Hierarchy, чтобы через контекстное меню Vuforia вставить AR Camera. При этом появится всплывающее окно, представленное на рисунке 40. Необходимо нажать Import и дождаться, пока Vuforia Package импортируется в проект.



    Рисунок 40 – окно импорта Vuforia

    В папке Vuforia хранятся все префабы и скрипты, используемые платформой. Стоит также упомянуть о файле VuforiaConfiguration внутри папки Resources. Этот файл добавлен потому, что для разработки приложения Vuforia необходима лицензия. Однако при желании можно получить бесплатную лицензию разработчика на Vuforia Developer Portal. Чтобы подключить непосредственно дополненную реальность, нужно перейдите в Edit -> Project Settings -> Player. Далее перейти к параметрам XR Settings, и поставить отметку Vuforia Augmented Reality Supported.


      1. Описание функций приложения

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

    Для перехода со сцены на сцену используется метод change_scene().

    Во время написания кода Visual Studio сам предложит вам список сцен которые есть в проекте.

    Класс ChangeScene отвечает за переходы между экранам в игре.

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

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

    Листинг 1. Пример кода класса SceneChanger

    using System.Collections;

    using System.Collections.Generic;

    using UnityEngine;

    using UnityEngine.SceneManagement;
    namespace SceneChanger

    {

    public class sceneLoader : MonoBehaviour

    {

    public void ChangeScene(int _sceneNumber)

    {

    SceneManager.LoadScene(_sceneNumber);

    }

    public void Exit()

    {

    Application.Quit();

    }

    }

    }
    Листинг 2. Пример кода класса Exit

    using System.Collections;

    using System.Collections.Generic;

    using UnityEngine;
    namespace Exit

    {

    public class ExitScript : MonoBehaviour // класс скрипта

    {

    public void ClickButtonExit() // класс нажатия на кнопку

    {

    Application.Quit(); // функция выхода из игры

    }

    }

    }

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

    Листинг 3. Код класса PlayerMove

    public class Game : MonoBehaviour

    {

    public float speed = 1.0f;//скорость перехода

    public GameObject[] oneToEigteen;//путь передвижения фишки

    public GameObject Player;//Фигура для передвижения
    private int step = 0;//Шаг фигуры

    private bool isMoving = false;//Процесс передвижения фигурки

    private Vector3 direction;//Направление

    private Vector3 destPos;//позиция куда будет передвигаться фигура



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

    В процессе разработки необходимо тестирование приложения, для выявления ошибок и повышения производительности.

    Тестирование осуществлялось на нескольких этапах. На этапе разработки производилась проверка работоспособности внутренних игровых объектов:

    • правильное взаимодействие классов друг с другом;

    • отсутствие синтаксических ошибок;

    Наименование

    Описание

    Test Case #

    1

    Приоритет тестирования (Малый/Средний/Высокий)

    Средний

    Название тестирования

    Отображение мультимедийной информации.

    Резюме испытания

    В качестве испытания были взяты таблички, которые расположены возле экспонатов.

    Шаги тестирования

    1. Подойти к объекту

    2. Посмотреть на информацию.

    Ожидаемый результат

    Информация отображается на объекте.

    Фактический результат

    В результате подойдя к объекту информация на объекте отображается корректно.

    Статус (Pass/Fail)

    Pass


    На этапе реализации производилось тестирование правильного отображения объектов:

    • отображение моделей;

    • расположение элементов графического интерфейса игры;


    Были найдены и устранены незначительные ошибки на различных этапах тестирования. Среди них:

    • отсутствие масштабируемости у графического интерфейса;

    • некорректное отображение игровых моделей;




    Наименование

    Описание

    Test Case #

    2

    Приоритет тестирования (Малый/Средний/Высокий)

    Средний

    Название тестирования

    Перемещение труб в области

    Резюме испытания

    В качестве проверки взята вся игровая площадь «Корабль»

    Шаги тестирования

    1. Взять в руки телефон и нажать на трубу

    2. Выбрать место, в котором хотим повернуть трубу




    Ожидаемый результат

    Игрок переместился в указанную область

    Фактический результат

    В результате после отпуска курка, игрока перемещает в выбранную область

    Статус (Pass/Fail)

    Pass


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

    • исправление отображения игровых моделей;

    • отображение меню;

    • исправлена масштабируемость.

    Наименование

    Описание

    Test Case #

    3

    Приоритет тестирования (Малый/Средний/Высокий)

    Высокий

    Название тестирования

    Исправление отображения игровых моделей

    Резюме испытания

    В качестве испытания были взяты угловые трубы, которые расположены возле крестовых труб.

    Шаги тестирования

    1. Повернуть объект

    2. Посмотреть совместимость.

    Ожидаемый результат

    Трубы совместимы при повороте.

    Фактический результат

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

    Статус (Pass/Fail)

    Pass




      1. Руководство пользователя

    Для запуска игры на устройстве Android необходимо проверить устройство на поддержку плагина Vuforia. Версия Android должна быть не менее 7.0.

    Для запуска приложения необходимо нажать на иконку на своём устройстве. Приложение запустится с экрана главного меню.

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

    Целью игрока является собрать трубопровод как можно быстрее.

    Правила взаимодействия с дополненной реальностью:

    • Стараясь исключить технологические риски и обойти проблемные моменты, при разработке прототипа программного комплекса, мы остановили свой выбор на надежной и проверенной маркерной технологии дополненной реальности.

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



    1. Экономическая часть


      1. Определение затрат труда на разработку приложения

    Оценка данного дипломного проекта произведена методом PERT.

    Инженерный метод оценки трудоемкости проекта PERT (Program/Project Evaluation and Review Technique) был разработан в 1958 году в ходе проекта по созданию баллистических ракет морского базирования «Поларис». Входом для данного метода оценки служит список элементарных пакетов работ.

    Перечень элементарных пакетов работ данного игрового приложения для проведения оценки:

    • создание объектов окружения (количество 4 шт.);

    • разработка скриптов (количество 8 шт.);

    • создание игровых сцен (количество 5 шт.);

    • разработка кнопок меню (количество 9 шт.).

    Диапазон неопределенности достаточно охарактеризовать тремя оценками:

    • Mi – Наиболее вероятная оценка трудозатрат;

    • Oi - Минимально возможные трудозатраты на реализацию пакета работ;

    • Pi – Максимально возможные трудозатраты.

    Проведем оценку для лучших, худших и наиболее вероятных случаев.


    (1)
    Оценку средней трудоемкости по каждому элементарному пакету можно определить по формуле :

    Ei = (Pi+4*Mi + Oi)/6,

    где

    Pi – Максимально возможные трудозатраты,

    Mi – Наиболее вероятная оценка трудозатрат

    Oi – Минимально возможные трудозатраты на реализацию пакета работ.



    1. Cоздание объектов окружения.

    O1 = 2

    P1 = 8

    M1 = 4

    Средняя трудоемкость рассчитана по формуле (1):

    Е1 = (Pi+4*Mi + Oi)/6 = (8+4*4+2) /6=4.3 чел. час

    1. Разработка скриптов.

    O2 = 2

    P2 = 9

    M2 = 7

    Средняя трудоемкость рассчитана по формуле (1):

    Е2 = (Pi+4*Mi + Oi)/6 = (9+4*7+2)/6= 6.5 чел. час

    1. Cоздание игровых сцен.

    O3 = 1

    P3 = 4

    M3 = 1

    Средняя трудоемкость рассчитана по формуле (1):

    Е3 = (Pi+4*Mi + Oi)/6 = (4+4*1+1)/6= 1.5 чел. час

    1. Разработка кнопок меню.

    O4 = 1

    P4 = 5

    M4 = 3

    Средняя трудоемкость рассчитана по формуле (1):

    Е4 = (Pi+4*Mi + Oi)/6 = (5+4*3+1)/6= 3 чел. час

    Таблица 1 Оценка наиболее вероятного и ожидаемого случаев

    Компоненты

    Лучший случай

    Наиболее вероятный

    Худший случай

    Ожидаемый случай

    Cоздание объектов окружения

    2

    4

    8

    4,6

    Разработка скриптов

    2

    7

    9

    6

    Cоздание игровых сцен

    1

    1

    4

    2

    Разработка кнопок меню

    1

    3

    5

    3

    Итого:

    6

    15

    26

    15,6




    (2)

    Для расчета среднеквадратичного отклонения используется формула:

    CKOi = (Pi - Oi)/6,

    где Pi – Максимально возможные трудозатраты

    Oi - Минимально возможные трудозатраты на реализацию пакета работ.

    1. Cоздание объектов окружения, среднеквадратичное отклонение рассчитано по формуле (2).

    CKO1 = (Pi - Oi)/6 = (8-2)/6 = 1 чел. час

    1. Для разработки скриптов, среднеквадратичное отклонение рассчитано по формуле (2).

    CKO2 = (Pi - Oi)/6 = (9-2)/6 = 1.16чел. час

    1. Cоздание игровых сцен, среднеквадратичное отклонение рассчитано по формуле (2).

    CKO3 = (Pi - Oi)/6 = (4-1)/6 = 0.5 чел. час

    1. Для разработки меню, среднеквадратичное отклонение рассчитано по формуле (2).

    CKO4 = (Pi - Oi)/6 = (5-1)/6 = 0.66 чел. час

    (3)

    Суммарная трудоемкость проекта может быть рассчитана по формуле:

    Е = Σ Ei

    Е = Σ Ei = 4*4,6+8*6+5*2+9*3=103,4

    (4)

    Cреднеквадратичное отклонение для оценки суммарной трудоемкости будет составлять:

    CKO = √ (∑CKOi)^2

    где CKO – среднеквадратичное отклонение

    Cреднеквадратичное отклонение для оценки суммарной трудоемкости рассчитана по формуле (4)

    CKO = √ (∑CKOi)^2 =

    =21,76 чел. час

    (5)

    Оценка суммарной трудоемкости проекта, которая с вероятностью 95% точности расчета, можно применить формулу:

    ∑〖95%=E+2*CKO〗

    где CKO = Cреднеквадратичное отклонение

    E = Ei

    ∑〖95%=E+2*CKO〗 = (103,4+2*21,76)= 587,68 чел. чаc

    Полученную оценку трудоемкости кодирования необходимо умножить на четыре, поскольку помним, что кодирование составляет только 25% общих трудозатрат проекта. Поэтому суммарная трудоемкость нашего проекта составит, приблизительно = 587,68 чел.*час.

    В месяц сотрудник будет работать по проекту, примерно 133 чел.*час/мес.

    Следовательно, трудоемкость проекта в человеко-месяцах составит, приблизительно 587,68 /133  4,41

    Тогда согласно формуле Б.Боэма оптимальная продолжительность проекта составит:

    T = 2.5 * (4,41) ^ 1/3=4,07 месяцев.

    Средняя численность команды - 4,41/4,07 = 1 человек.


    Заключение



    В результате проектирования созданы следующие компоненты:

    • игра «Plumber»;

    • пояснительная записка объемом 44 листа;

    Для разработки игры использованы средства и среды разработки: Unity 5, плагин Vuforia, Blender и VisualStudioC# 2019. Unity 5 – среда для разработки игр на большинство существующих платформ. Visual Studio - линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Blender – программное обеспечение для 3D моделирования. Vuforia – плагин для Unity, который позволяет взаимодействовать с дополненной реальностью.

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

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

    Список использованных источников информации


    1. Акулич М. Дополненная, виртуальная, смешанная реальность и маркетинг. – Издательские решения, 2021. – 122 с.

    2. Ахо Альфред В., Лам Моника С. Компиляторы. Принципы, технологии и инструментарий. – Диалектика-Вильямс, 2017. – 1184 с.

    3. Бонд Дж. Г. Unity и С#. Геймдев от идеи до реализации. – Питер, 2019. – 928 с.

    4. Горелик А. Самоучитель 3DS Max 2020. – БХВ-Петербург, 2020. – 544 с.

    5. Джейсон Г. Игровой движок. Программирование и внутреннее устройство. – Прогресс книга, 2021. – 1136 с.

    6. Дикинсон К. Оптимизация игр в Unity 5. – ДМК-Пресс, 2017. – 306 с.

    7. Кармен Томас Х., Лайзерсон Чарльз И. Алгоритмы. Построение и анализ. – Вильямс, 2019. – 1328 с.

    8. Клеметти К., Грёнберг Х. Мастера геймдизайна. – Альпина Паблишер, 2020. – 120 с.

    9. Ламмерс К. Шейдеры и эффекты в Unity. Книга рецептов. – ДМК-Пресс, 2016. – 274 с.

    10. Майк Г. Разработка игр на Unity 2018 за 24 часа. – Бомбора, 2020. – 464 с.

    11. Папагианнис Х. Дополненная реальность. Все, что вы хотели узнать о технологии будущего. – Бомбора, 2019. – 288 с.

    12. Савченко А. Игра как бизнес. От мечты до релиза. – Бомбора, 2020. – 336 с.

    13. Серова М. Учебник-самоучитель по графическому редактору Blender 3D. Моделирование и дизайн. – Солон-Пресс, 2020.

    14. Фаулер М., Бек К. Рефакторинг. Улучшение проекта существующего кода. – Вильямс, 2017. – 448 с.

    15. Хокинг Дж. Unity в действии. – Питер, 2018. – 352 с.

    16. Открытый электронный ресурс URL: https://habrahabr.ru/ (дата об. 17.05.2022)

    17. Открытый электронный ресурс URL: http://progbook.ru/ (дата об. 19.05.2022).

    18. Открытый электронный ресурс URL: https:// www.cyberforum.ru/ (дата об. 21.05.2022).

    19. Открытый электронный ресурс URL: https://stackoverflow.com/ (дата об. 21.05.2022).

    20. Открытый электронный ресурс URL: https://youtube.com/ (дата об. 21.05.2022).







    написать администратору сайта