Слайды и текст этой онлайн презентации
Слайд 1
Муниципальное автономное общеобразовательное учреждение Средняя школа № 8 Проектная работа по информатике «Создание игры с применением игровой среды Unity и языка программирования c#»
Выполнил: ученик 10 «Б» класса Бушуев Дмитрий
Руководитель: Кустова Ю.Е.
Слайд 2
Актуальность темы учебного исследования
Сфера видеоигровых развлечений может повлиять на выбор профессии в будущем.
В настоящее время видеоигру трудно отличить от качественного фильма.
Данное направление сегодня развивается быстрыми темпами, является популярным и требует специалистов, которые получают достойную заработанную плату.
Эти причины подтверждают актуальность темы проекта.
Слайд 3
Цель и задачи исследовательской работы:
Цель работы – разработать свою видеоигру
Задачи:
познакомиться с литературой об игровой среде Unity, языке программирования c#;
рассмотреть синтаксическое строение языка c#;
рассмотреть функционал игровой среды Unity;
создать игру;
сделать выводы о проделанной работе;
Гипотеза
С помощью игровой среды Unity и языка программирования С#, я смогу сделать свою игру
Слайд 4
Введение
C# – объектно-ориентированный язык программирования, разработан в 1998 году группой инженеров компании Microsoft.
Разрабатывался как язык программирования прикладного уровня для CLR и, зависит от ее возможностей. Последняя версия языка вышла 10 ноября 2020 года.
Unity — среда разработки компьютерных игр, позволяющая создавать приложения, работающие на более чем 25 различных платформах, включающих персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие.
Слайд 5
Создание игры
Для создания игры я выделил следующие этапы:
сформулировать сценарий игры;
создать игровой мир;
создать таймер круга (с возможностью отображения лучшего круга);
провести эксперимент по запуску видеоигры;
провести анализ и корректировку, оптимизируя игру;
Слайд 6
Этап 1. Сценарий игры
В сценарий игры я заложил сюжет о начинающем пилоте, который начинает свою карьеру с картинга. В недалеком будущем он решает подписать контракт с гоночной командой.
Но есть условие со стороны гоночной команды, предъявляемое каждому кандидату, необходимо поставить лучшее время на трассе Autodromo de Nationale Monza на Porche 911 GT-3R.
Слайд 7
Этап 2. Создание игрового мира
На 2 этапе загружаются необходимые ассеты из магазина Unity в проект (Asset store, магазин для скачивания 3D моделей, текстур и скриптов).
Далее создание очертания трека (модель дороги переносится из Assets-Track-Prefabs в 3D пространство и объект «Terrain» для расстановки деревьев. Результат данного этапа работы можно посмотреть в приложении 1
Слайд 9
Этап 3. Создание таймера круга
На 3 этапе создавались таймер круга с применением языка программирования C#, скрипт и триггер для системы лучшего круга.
Последовательно внедрялись скрипты с именами «LapTimeManager», «LapComplete» и «HalfPointTrigger».
Unity автоматически в файле сделал необходимую заготовку. Результат данного этапа можно наблюдать в приложении 2.
Слайд 10
Этап 4. Создание таймера круга
пример скрипта
Слайд 11
Этап 4. Создание таймера круга
Скрипт HalfPointTrigger
Скрипт LapComplete
Слайд 13
Этап 4. Эксперимент
После того, когда все основные элементы видеоигры созданы, был проведен пробный запуск.
В ходе тестирования видеоигры были обнаружены проблемы с производительностью, а именно с низкой частотой кадров, что подтвердила программа «MSI Afterburner». И я решил оптимизировать видеоигру (Данную проблему вы можете наблюдать в приложении 3).
Слайд 15
Этап 5. Оптимизация видеоигры
Оптимизация моделей с помощью Blender
В настоящее время 3D модели распространяются в очень высоком качестве геометрии, что очень нагружает видеоадаптер.
По этой причине была создана LOD система. Она переключает модели при сближении игрока к объекту, с более низко качественной к более качественной и наоборот.
После импортирования модели я уменьшил параметр «соотношение». Что влияет на качество геометрии следующим образом - чем меньше параметр, тем лучше, но при маленьком значении качество геометрии может быть настолько низким, что объект может пропасть (приложении 4).
Слайд 17
Этап 5. Оптимизация видеоигры
оптимизация освещения Static batching
Static batching позволил уменьшить количество вызовов отрисовки для геометрии любого размера, но применимо лишь для статичных объектов.
Результат данного этапа работы можно посмотреть в приложении 5
Слайд 19
Этап 5. Оптимизация видеоигры
Использование Mip Map текстур
Я произвел сжатие текстур, что позволило графическому ускорителю использовать для маленьких треугольников текстуры пониженного разрешения.
Результат данного действия работы можно посмотреть в приложении 6
Слайд 21
Этап 6. Сборка игры и ее запуск
На последнем этапе я выполнил сборку игры и проверил ее работоспособность. Для этого запустил файл и попробовал найти ошибки в своей игре. Запуск игры не подтвердил ошибок (Приложение 7)
Слайд 23
Анкетирование
По окончанию работы мне стало интересно мнение моих одноклассников по поводу качества моей видеоигры, и я решил провести анкетирование.
Я сформулировал следующие вопросы и предложил шкалу оценивания
1. Оценка визуального исполнение игры (1-5 баллов)
2. Оценка игровой механики, возможности в игре (1-5 баллов)
3. Оценка технического состояния игры (отсутствие «багов», ошибок) (1-5 баллов)
4. Оценка качества интерфейса игры (1-5 баллов)
5. Оценка качества работы игры на вашем компьютере (1-5 баллов) (Высокая частота кадров)
6. Оценка звукового оформления игры (1-5 баллов)
Слайд 24
Анкетирование
7. Заинтересовались ли вы работой в информационной сфере
Ответы 1 – да, 2 - нет
8. Оценка информативности данного проекта по созданию компьютерной видеоигры (1-5 баллов)
9. Пробовали ли вы найти работу в сфере информационных технологий
Ответы 1 – да, 2 - Нет
10. Итоговая оценка данной видеоигры (1-10 баллов)
В результате мной была сформулирована таблица
Слайд 25
Заключение
В результате работы над проектом мной были детально изучены: теоретические основы языка программирования C#; изучены основы создания видеоигрового мира; способы оптимизации видеоигры;
В ходе исследования я подтвердил гипотезу и пришел к следующим выводам:
1. Чем сложнее и качественнее видеоигра, тем больше времени нужно потратить на ее разработку;
2. Оптимизация видеоигры является важной частью работы при ее разработке;
3. Легче и быстрее разработать игру в игровой среде, чем с помощью одного языка программирования;
Слайд 26
Список использованной литературы
Интернет ресурсы
1. https://docs.unity3d.com/Manual/index.html
2. http://unity3d.ru/distribution/index.php
3. https://ru.wikipedia.org
4. https://docs.microsoft.com/ru-ru/dotnet/csharp