Загрузил 7893770

Нац дост Мамонтов Синицын новое

реклама
XVIII ЕЖЕГОДНЫЙ ВСЕРОССИЙСКИЙ КОНКУРС ДОСТИЖЕНИЙ
ТАЛАНТЛИВОЙ МОЛОДЁЖИ
«НАЦИОНАЛЬНОЕ ДОСТОЯНИЕ РОССИИ»
_____________________________________________________
Секция: Информационные технологии
Тема: Игра «Small fountain»
Авторы: Мамонтов В.В., Синицын Г.В.
Научный руководитель: Жукова А.К.
2024
1
Содержание
Введение ...................................................................................................... 3
1 Описание программ разработки............................................................. 5
1.1 Unity ..................................................................................................... 5
Преимущества и недостатки Unity ....................................................... 5
1.2 Adobe Photoshop ................................................................................. 6
1.3 Figma .................................................................................................... 7
Преимущества и недостатки Figma ..................................................... 8
2 Описание игры .......................................................................................... 9
3 Разработка игры.................................................................................... 10
3.1. Создание ассетов и добавление их в игру .................................... 10
3.2 Озвучивание и создание звукового сопровождения для игры ....... 10
3.3 Разработка игры на платформе Unity ........................................ 11
4 Тестирование финального проекта .................................................... 16
Заключение ................................................................................................ 18
Список литературы ................................................................................. 19
Приложение А ............................................................................................ 20
2
Введение
Цель компьютерных игр и программ-воспитание и обучение детей
дошкольного возраста с использованием современных информационных
технологий. Задачи, которые решаются для достижения поставленной цели,
можно выделить следующие:
 Формировать навыки и предпосылки к учебной деятельности
 Формировать элементарные математические представления
 Развивать речь
 Развивать сенсорные возможности ребенка
 Формировать эстетический вкус
 Развивать знаковую функцию сознания
 Развивать эмоционально-волевою сферу ребенка
 Развивать творческие способности детей.
Актуальность: Дошкольный возраст является ключевым периодом в
развитии ребенка. В этот период дети активно учатся через игру и
познавательную деятельность. Именно в этом возрасте формируются основы
знаний, умений и навыков, поэтому очень важно предоставлять детям
возможность учиться и развиваться через интерактивные игры.
Игровая деятельность позволяет детям экспериментировать, творить,
развивать логическое мышление, усваивать новые понятия и темы. Однако для
более эффективного усвоения материала необходима не просто игра, а
интерактивная игра, которая подразумевает взаимодействие с другими детьми
или взрослыми, использование различных инструментов и технологий.
Интерактивные игры способствуют развитию социальных навыков,
коммуникации, сотрудничества, а также помогают укрепить познавательные
процессы. Дети учатся работать в команде, делиться мнениями, принимать
решения, что очень важно для их будущего развития.
Таким образом, интерактивные игры играют ключевую роль в обучении
детей дошкольного возраста, так как они стимулируют развитие различных
аспектов личности ребенка и способствуют более эффективному усвоению
знаний.
Объект исследования: Центр развития ребёнка «Детский сад №302»
Цель проекта: разработка и реализация компьютерной игры на Unity с
использованием паттернов проектирования.
Задачи:
 Обсуждение требований к продукту с заказчиком
 Написание и рефакторинг скриптов
3
 Создание ассетов и добавление их в игру
 Озвучивание и создание звукового сопровождения для игры
 Тестирование финального проекта
4
1 Описание программ разработки
1.1 Unity
Unity - это кроссплатформенный игровой движок, разработанный
компанией Unity Technologies. Он предоставляет инструменты для создания 2D
и 3D игр, виртуальной реальности и дополненной реальности для различных
платформ, таких как мобильные устройства, компьютеры, консоли и т. д.
Главные компоненты Unity включают в себя:
1. Интегрированная среда разработки (IDE). Unity предоставляет
интегрированную среду разработки, которая включает в себя редактор сцен,
инструменты для создания анимаций, управления ресурсами и другие полезные
функции.
2. Графический движок. Unity обладает мощным графическим движком,
который позволяет создавать качественную 2D и 3D графику, использовать
различные эффекты и обрабатывать освещение.
3. Компонентная архитектура. Unity основан на компонентной
архитектуре, что делает разработку игры более гибкой и удобной, позволяя
разработчикам манипулировать игровыми объектами и их поведением через
компоненты.
4. Мощные инструменты разработки. В Unity представлены мощные
инструменты разработки, такие как физический движок, система частиц,
система анимации, поддержка многопользовательской разработки и т. д.
5. Множество поддерживаемых языков программирования. Unity
поддерживает несколько языков программирования, включая C#, JavaScript и
Boo, что делает его доступным для широкого круга разработчиков.
Преимущества и недостатки Unity
Преимущества Unity:
1.
Кроссплатформенность: Unity позволяет разработчикам создавать
игры для различных платформ, что делает его очень удобным инструментом.
2. Широкие возможности: Unity обладает множеством инструментов и
ресурсов для создания качественной графики, анимации, звукового
сопровождения и других аспектов игровой разработки.
3. Сообщество и поддержка: Unity имеет огромное сообщество
разработчиков, готовых делиться знаниями и опытом, а также хорошую
поддержку со стороны компании Unity Technologies.
5
4. Низкий порог входа: для начинающих разработчиков Unity
предоставляет простой и понятный интерфейс, что делает процесс обучения
более доступным.
Недостатки Unity:
1. Оптимизация: Некоторые разработчики жалуются на то, что Unity не
всегда хорошо оптимизирует игровые проекты, что может привести к
проблемам с производительностью на некоторых устройствах.
2. Лицензионные расходы: для коммерческого использования Unity в
крупных масштабах требуется приобретение лицензии, что может быть
дорогим для некоторых независимых разработчиков.
1.2 Adobe Photoshop
Adobe Photoshop - это ведущий графический редактор, разработанный и
выпускаемый компанией Adobe Inc. Это программное обеспечение
предназначено для редактирования и создания растровых изображений,
монтажа фотографий, создания иллюстраций, а также для выполнения
различных графических задач.
Возможности Adobe Photoshop включают в себя широкий набор
инструментов, фильтры, настраиваемые кисти, усовершенствованные
функции редактирования и многое другое. Вот некоторые из ключевых
функций Adobe Photoshop:
1. Редактирование изображений: Photoshop предоставляет инструменты
для коррекции цвета, насыщенности, яркости, контрастности, устранения
красных глаз, удаления объектов, исправления дефектов и многого
другого.
2. Работа с слоями: Adobe Photoshop позволяет создавать и
манипулировать слоями, что обеспечивает высокую гибкость в процессе
редактирования и комбинирования различных элементов изображения.
3. Создание графики: В программе доступны инструменты для создания
рисунков, иллюстраций, логотипов, макетов, дизайна веб-страниц и
многое другое.
4. Работа с текстом: Photoshop предоставляет широкий набор функций
для работы с текстом, включая настройки шрифтов, стилей, искажения
текста и его наложения на изображения.
5. Фильтры и специальные эффекты: Программа предоставляет
множество фильтров и специальных эффектов для создания уникальных
и захватывающих изображений.
6
Adobe Photoshop также включает в себя мощный инструмент Adobe
Camera Raw, который предлагает расширенные возможности для
редактирования сырых файлов изображений. Photoshop также
интегрирован с другими продуктами Adobe, такими как Adobe Creative
Cloud, что облегчает совместную работу с другими программами и
сохранение файлов в облаке.
Adobe
Photoshop
широко
используется
профессиональными
фотографами, дизайнерами, художниками, рекламными агентствами,
издательскими домами и многими другими.
1.3 Figma
Figma - это мощное веб-приложение для дизайна интерфейсов,
позволяющее дизайнерам, разработчикам и другим участникам команды
создавать, коллаборировать и прототипировать пользовательские интерфейсы
для веб-сайтов, мобильных приложений и других цифровых продуктов.
Основные особенности и возможности Figma включают в себя:
1. Веб-платформа: Figma является веб-приложением, что означает, что
пользователи могут работать на любом компьютере без необходимости
установки специального программного обеспечения.
2. Коллаборация в реальном времени. Одной из ключевых особенностей
Figma является возможность работы нескольких пользователей над одним
дизайном в реальном времени. Это позволяет командам совместно работать над
проектами, оставлять комментарии, предлагать изменения и видеть все
изменения мгновенно.
3. Работа с макетами. Figma позволяет создавать дизайны интерфейсов,
включая векторную графику, макеты, иллюстрации, прототипы и многое
другое. Он предлагает широкий набор инструментов для создания элементов
интерфейса, а также имеет возможности для создания анимаций и
интерактивных прототипов.
4. Библиотеки компонентов. Figma позволяет создавать и использовать
библиотеки компонентов, облегчая повторное использование элементов
дизайна и поддерживая консистентность в проектах.
5. Возможности экспорта. Пользователи могут легко экспортировать
свои дизайны в необходимые форматы, такие как PNG, JPG, PDF, SVG и
другие, что облегчает передачу информации и совместную работу с
разработчиками.
Figma предназначен для профессиональных дизайнеров интерфейсов,
продуктов и пользовательских интерфейсов, а также разработчиков,
менеджеров продуктов и других специалистов в области дизайна и разработки,
7
также становится все более популярным инструментом для самостоятельных
дизайнеров и небольших студий, благодаря своей доступности и возможностям
совместной работы.
Преимущества и недостатки Figma
Преимущества Figma:
1. Коллаборация в реальном времени: Figma позволяет нескольким
пользователям работать над одним проектом одновременно. Это облегчает
совместную работу в команде и улучшает процесс обратной связи.
2. Веб-приложение: Figma доступен через интернет-браузер, не требует
установки специального программного обеспечения, и работает на различных
устройствах, что делает его удобным для работы в различных условиях.
3. Универсальность: Figma подходит для разработки дизайна
пользовательских интерфейсов для веб-сайтов, мобильных приложений,
десктопных программ и других цифровых продуктов.
4. Библиотеки компонентов: Figma позволяет создавать и использовать
библиотеки компонентов, обеспечивая консистентность в дизайне и ускоряя
процесс разработки.
5. Экспорт и обмен данными: Figma предоставляет возможность легко
экспортировать дизайны в нужные форматы и обмениваться данными с
другими инструментами.
Недостатки Figma:
1. Возможность работы только онлайн: так как Figma является вебприложением, он требует подключения к Интернету для работы, что может
быть помехой в ситуациях с плохим интернет-соединением.
2. Сложность в работе с большими файлами: Возможны проблемы со
скоростью работы с большими и сложными проектами, особенно при наличии
медленного интернет-соединения.
3. Ограниченная поддержка внешних плагинов: Количество доступных
плагинов для Figma ограничено по сравнению с другими инструментами для
дизайна пользовательских интерфейсов.
Несмотря на эти недостатки, Figma остается одним из наиболее
популярных и удобных инструментов для дизайна интерфейсов благодаря
своей универсальности, коллаборативным возможностям и простоте
использования.
8
2 Описание игры
Игра представляет собой тематический тест о свойствах воды.
В данной игре участники делятся на две равные команды (родители и
дети) и далее им предлагается взаимодействовать с игровым полем в виде
барабана, вращая его. При выпадении на барабане случайного числового
значения открывается окно с вопросом, прикрепленным к номеру на игровом
поле, на который игрокам необходимо дать верный ответ, чтобы продолжить
игру. За каждый правильный ответ на вопрос участникам (команде детей)
даётся балл (капелька). Если же ответить неверно, то балл снимается. Победа
засчитывается лишь в случае, если в конце игры счёт «капелек» оказывается
положительным.
Данная компьютерная игра позволяет детям дошкольного возраста
закрепить свои знания о воде в интерактивной и красочной форме.
9
3 Разработка игры
3.1 Создание ассетов и добавление их в игру
Для создания игры требовалось нарисовать красивую красочную и
запоминающуюся графику, этим мы занимались в графическом редакторе
Figma. (рис.1)
Рисунок 1 – «Разработка в Figma»
3.2 Озвучивание и создание звукового сопровождения для игры
Для озвучки нашей игры мы использовали аудиоредактор — Adobe Audition. C
помощью него мы записывали все фразы диктора, после чего из всех записей
были удалены шумы, посредством прогона их через специальные программные
решения с последующим добавлением их в игру.
10
Рисунок 2 – «Запись фраз диктора»
3.3
Разработка игры на платформе Unity
Выделим следующие визуальные блоки игры:
1.
Блок барабана
2.
Блок вопросов;
3.
Блок финальный.
Каждое состояние мы реализуем с помощью UI элементов Rect Transform.
То есть, при запуске игры будет загружена игровая сцена с основным Canvas.
При нажатии «Меню» открывается панель, где можно отдельно настроить
звучание фоновой музыки и озвучки, а также выйти или перезапустить игру.
При нажатии на кнопку «Вращать» происходит вращение барабана и выбор
вопроса (рис.2).
11
Рисунок 3 – «Разработка Unity»
В блоке вопроса при нажатии на чекбоксы рядом с правильными
вариантами ответа и нажатии на кнопку «Выбрать» проверяется вопрос на
корректность ответов. Если всё правильно – зачисляются внутриигровые баллы
«Капельки». Важно, что капельки могут быть минусовым значением, это часть
игрового процесса (рис3).
Рисунок 4 – «Разработка Unity»
12
В финальном блоке подсчитывается внутри игровой результат и
выводится окно о победе или проигрыше. Присутствуют кнопки, говорящие
сами за себя такие как «Титры», «Перезапуск», «Выйти» (рис.4).
Рисунок 5 – «Разработка Unity»
3.4 Паттерны
Существуют различные правила и паттерны проектирования, выделяемые
многими программистами, для более быстрой разработки нами были
выделенные несколько из них.
3.4.1 MVC
Это архитектурный шаблон, который часто используется в разработке
программного обеспечения для разделения приложения на три основные
компоненты: модель (Model), представление (View) и контроллер (Controller).
Этот подход позволяет упростить проектирование, разработку и тестирование
ПО, а также облегчает масштабируемость и поддержку кода.
1. Модель (Model): Этот компонент отвечает за обработку данных и бизнеслогику приложения. Он представляет собой представление данных, и не знает о
представлении или контроллере. Модель обычно обрабатывает запросы
контроллера, а также отправляет уведомления об изменениях представлению
(View).
13
2. Представление (View): Представление отвечает за отображение данных
модели пользователю. Это может быть визуальное представление данных,
интерфейс пользователя, отображение информации и так далее. Представление
получает данные из модели и предоставляет их пользователю в понятной
форме. Представление не взаимодействует напрямую с моделью, оно обычно
подписывается на уведомления от модели через контроллер.
3. Контроллер (Controller): Контроллер управляет взаимодействием
пользователя с приложением. Он получает запросы пользователя, обрабатывает
их, взаимодействует с моделью для обновления данных и передает
обновленные данные представлению. Контроллер также может управлять
событиями, такими как клики мыши, нажатия клавиш и другие действия
пользователя.
Преимущества паттерна MVC:
- Улучшенное разделение бизнес-логики и отображения данных, что облегчает
разработку и тестирование.
- Повышенная модульность и поддерживаемость кода.
- Возможность повторного использования компонентов.
Недостатки паттерна MVC:
- Некоторые функции могут быть избыточными в более простых приложениях,
что может привести к излишней сложности.
- Неудобство при работе с сильно связанными компонентами, особенно в
небольших проектах.
3.4.2 Singletone
Это порождающий шаблон проектирования, который гарантирует, что для
определенного класса будет создан только один экземпляр, и предоставляет
глобальную точку доступа к этому экземпляру.
Основные принципы паттерна Singleton:
1. Приватный конструктор: Класс Singleton имеет приватный конструктор,
который предотвращает создание экземпляров класса снаружи самого класса.
2. Статический метод для доступа к экземпляру: Singleton предоставляет
статический метод для получения доступа к единственному созданному
14
экземпляру. Этот метод создает экземпляр, если он еще не был создан, и
возвращает ссылку на него.
3. Потокобезопасность: Реализация Singleton должна быть потокобезопасной,
чтобы избежать возможности создания нескольких экземпляров в
многопоточной среде.
Преимущества паттерна Singleton:
1. Гарантирует, что в приложении будет только один экземпляр класса, что
полезно, если требуется иметь единственный доступной глобальный объект.
2. Глобальный доступ: Объект Singleton можно получить из любой точки
приложения, что удобно для работы с глобальными ресурсами.
Недостатки паттерна Singleton:
1. Создание глобального состояния может привести к усложнению и
усложнению тестирования, так как объект Singleton может быть доступен из
любой части приложения, что затрудняет проверку отдельных частей.
2. Нарушение принципов единственной ответственности: Singleton выполняет
несколько функций: создание экземпляра и предоставление глобального
доступа, что может привести к путанице и зависимостям.
3.4.3 Abstract Fabrick
Паттерн "Абстрактная фабрика" (Abstract Factory) - это порождающий шаблон
проектирования, который предоставляет интерфейс для создания семейств
взаимосвязанных или взаимозависимых объектов, без указания их конкретных
классов.
Основные компоненты паттерна абстрактной фабрики:
1. Абстрактная фабрика (Abstract Factory): Определяет интерфейс для создания
всех продуктов, который может производиться конкретными фабриками.
2. Конкретная фабрика (Concrete Factory): Реализует абстрактную фабрику и
производит семейство продуктов. Каждая конкретная фабрика соответствует
определенной вариации продуктов.
3. Продукты (Products): Продукты представляют собой семейства объектов,
производимых конкретными фабриками.
Преимущества и недостатки паттерна абстрактной фабрики:
15
Преимущества:
- Повышение инкапсуляции создания продуктов.
- Обеспечивает совместное использование объектов в пределах одного
семейства.
- Упрощает замену семейств продуктов.
Недостатки:
- Усложнение кода из-за большего количества абстракций и интерфейсов.
- Сложно добавлять новые виды продуктов или семейства продуктов.
Паттерн "Абстрактная фабрика" полезен, когда требуется создавать семейства
взаимосвязанных объектов без привязки к их конкретным классам, а также
когда требуется обеспечить совместимость объектов внутри семейства.
4 Тестирование финального проекта
Игровые механики являются основой игры. Они формируют основные
навыки игрока, которые необходимы для поддержания его интереса. Поскольку
игровые механики являются сутью любой игры, проверка их корректной
работы является первоочередной задачей для тестирования. Тестирование во
время игры (игровое тестирование) — это подход к тестированию,
направленный на те факторы, которые влияют на игровой процесс.
Тестирование «белого ящика» — это метод тестирования программного
обеспечения, который включает в себя тестирование внутренней структуры и
дизайна сборки программного обеспечения в отличие от внешних результатов
или опыта конечного пользователя, которые тестируются при тестировании
«черного ящика».
Тестирование «белого ящика» может проводиться на разных этапах цикла
тестирования для проверки функционирования внутреннего кода и структуры.
Юнит-тестирование — это вид тестирования «белого ящика», которое
16
проводится разработчиками для проверки того, что отдельные блоки работают
так, как ожидается. Этот ранний тип тестирования позволяет разработчикам
выявить ошибки и дефекты до проведения формального тестирования в среде
QA.В ходе выполнения тестирования были выявлены крайне положительные
отзывы, как детей, так и заказчика. Заказчик был удовлетворен.
17
Заключение
В процессе выполнения данной работы, мы сделали игру для детей
дошкольного возраста, призванную выработать или закрепить у детей
понимание простейших свойств воды. Разработанная игра может быть
использована в качестве интерактивной развивающей игры дома, в детских
садах и учреждениях, направленных на развитие умственных способностей
ребёнка.
18
Список литературы
1. Классификация жанров компьютерных игр [Электронный ресурс] –
Режим доступа: http://gamesisart.ru/janr.html (дата обращения: 10.05.2023).
2. Классификация компьютерных игр [Электронный ресурс]. – Режим
доступа: http://gamesisart.ru/game_class_all.html (дата обращения: 09.03.2023).
3. Классификация компьютерных игр [Электронный ресурс]. – Режим
доступа: https://ru.wikipedia.org/wiki/Классификация_компьютерных_игр (дата
обращения: 12.06.2023).
4. НОУ Интуит. Основы разработки компьютерных игр в XNA Game Studio.
Лекция
4
[Электронный
ресурс].
–
Режим
доступа:
http://www.intuit.ru/studies/cour-ses/1104/251/lecture/6445
(дата
обращения:
03.11.2023).
5. Описание игрового движка Unity3D [Электронный ресурс]. – Режим
доступа: http://unity3dforge.com/ (дата обращения: 20.04.2023).
6. Программы для создания игр [Электронный ресурс]. – Режим доступа:
http://gamesisart.ru/game_dev_programms.html (дата обращения: 01.10.2023).
7.
Работа в репозитории [электронный ресурс] URL: https://github.com
(дата обращения: 19.05.23)
8. Разработка компьютерных игр [Электронный ресурс]. – Режим доступа:
https://ru.wikipedia.org/wiki/Разработка_компьютерных_игр (дата обращения:
17.02.2022).
9. Результаты для Звуковые эффекты [электронный ресурс] URL:
https://pastebin.com (дата обращения: 21.01.23)
10.Сайт youtube.com. Канал «SkyGamesCompany» [Электронный ресурс]. –
Режим доступа:
https://www.youtube.com/channel/UC_uVLm_vhLtRNXUpg6cKBig (дата
обращения: 15.02.2023).
19
Приложение А
Техническое задание
1.1. Назначение разработки
Игра предназначена для детей дошкольного возраста детского сада.
1.2. Требования к программе или программному изделию
1.2.1 Требования к функциональным характеристикам
Данный проект является игрой, вследствие чего предусматривается одна
категория пользователей - игроки. В процессе работы приложения
пользователь является непосредственным участник игрового процесса и
оказывает непосредственное влияние на него.
Программы должна обладать следующим функционалом:
а) внутриигровой функционал:
1) интерактивная игровая технология
б) интерфейс пользователя:
1) переходные сцены (вступительная, финальная);
2) графический интерфейс пользователя.
1.2.2 Требования к входным и выходным данным
Входными данными в игре являются игровые настройки пользователя
(разрешение экрана, громкость звуков, качество графики и т.д.), а также
непосредственное управление во время игрового процесса с помощью
touchscreen. Проект относится к играм в реальном времени, где в отличие
от пошаговых - действия игрока незамедлительно оказывают влияние на
игровой процесс.
Выходными данными являются графическая интерпретация игрового
процесса на экране игрока. Действия игрока влияют на игровой процесс и
текущее состояние игровой сцены.
1.2.3. Требования к составу и параметрам технических средств
Минимальные системные требования:
– ОС (операционная система): Windows 7 Home;
– Оперативная память: 1 Gb;
– Необходимая память: 100 Мб;
Рекомендуемые системные требования:
- ОС (операционная система): Windows 10 Home;
- Оперативная память: 2 Gb;
20
– Необходимая память: 200 Мб;
1.2.4. Требования к информационной и программной совместимости
Программа должна функционировать под управлением ОС семейства
Windows следующих версий: Windows 7-11(Home/Pro).
21
Скачать