Вы находитесь на странице: 1из 14

Частное образовательное учреждение высшего образования

«Международный Институт Дизайна и Сервиса»


(ЧОУВО МИДиС)

Кафедра математики и информатики

ОТЧЁТ ПО УЧЕБНОЙ ПРАКТИКЕ

Выполнил: Семенюк С.И.


Обучающийся 3 курса П-33 группы
Специальности 09.02.03
Программирование в компьютерных
системах
Проверил: Прилепина Е.В.

Челябинск 2020
СОДЕРЖАНИЕ

Введение..........................................................................................................................................................3
ГЛАВА 1. Подготовка к разработке..............................................................................................................4
ГЛАВА 2. Разработка.....................................................................................................................................6
Заключение...................................................................................................................................................12
Список использованных источников..........................................................................................................13
ВВЕДЕНИЕ

Учебная практика направлена на формирование у обучающихся


практических профессиональных умений, приобретение первоначального
практического опыта, реализуется в рамках профессиональных модулей
ППССЗ по основным видам профессиональной деятельности для
последующего освоения ими общих и профессиональных компетенций по
специальности 09.02.03 Программирование в компьютерных системах.
Главной целью учебной практики является получение профессиональных
знаний и практического опыта в разработке компьютерных игр и
мультимедийных приложений при помощи игрового движка Unity и среды
разработки Visual Studio 2019.
Задачи учебной практики:
 Развитие профессиональных навыков в разработке компьютерных
игр;
 Приобретение обучающими практических навыков, знаний и
умений для самостоятельной разработки механики игр;
 Развитие практических навыков по работе в профессиональной
среде разработки Microsoft Visual Studio 2019;
 Выработка навыков в работе с игровым движком Unity 2020.1.13.f1;
 Развитие практических навыков в работе с MySQL.
ГЛАВА 1. ПОДГОТОВКА К РАЗРАБОТКЕ

Для начала, перед разработкой игры или мультимедийного приложения


следует выбрать язык программирования, игровой движок и средства
разработки. Наш выбор упал на игровой движок Unity версии 2020.1.13.f1 и
среду разработки Visual Studio 2019, связанно это с тем, что в рамках
образовательной организации мы обучаемся при помощи данных программ.
Далее после установки, следует настроить наш Unity и Visual Studio, чтобы
среда разработки взаимодействовала с игровым движком.
После того, как мы настроили наши программы, нам нужно выбрать в
каком пространстве мы будем создавать игру, в нашем случае это 2D. Далее,
следует импортировать файлы для создания игры. Просмотреть их уже в
игровом движке и настроить сами файлы для работы.
После того как все это успешно выполнено можно приступать к
разработке.

Рисунок 1 - Игровой движок юнити


Рисунок 2 - Среда разработки Visual Studio
ГЛАВА 2. РАЗРАБОТКА

На этом этапе все используемые нами программы должны быть уже


полностью настроены и готовы к работе, чтобы нас ничего не отвлекала
непосредственно от разработки.
Перед нами стояла задачи в разработке игры в жанре стратегия. Для
начала была разработана карта игры. А сама карта должна была состоять из
отдельных картинок. Изначально был создан двумерный массив размеров
карты, а далее при помощи ещё одного двумерного массива происходила
случайная генерация каждой картинки по размерам карты из первого массива.
Далее была реализована подсветка каждой картинки карты при наведении
мышкой, для этого использовались встроенные в юнити методы OnMouseEnter
и OnMouseExit. После чего стояла задача генерации персонажей, поэтому здесь
мы выбрали метод Instantiate и была проработана система, которая не позволяла
генерировать персонажей в клетках, где уже занято место. Для персонажей
также была создана подсветка при наведении мыши на них, чтобы
пользователю было проще во время игры.
Рисунок 3 - Карта игры с персонажами

Рисунок 4 - Отрывок из кода с генерацией


После, началась разработка передвижения персонажа. Для этого
использовалась корутина. Корутина - это общая структура управления, в
которой управление потоком совместно передается между двумя различными
подпрограммами без возврата. В ней мы реализовали четыре цикла, каждый из
которых отвечал за движение в определённую сторону. То есть, первый цикл
отвечает за движение по Х вправо, второй за движение по Y вверх, третий за
движение по Х влево и четвёртый за движение по Y вниз. В этих циклах мы
брали массив размера карты, который создали ранее для генерации карты и
персонажей, затем прогоняли цикл от координаты игрока в этом массиве до
координаты карты в массиве, которая являлась конечной точкой. И
присваивали каждый шаг игрока в этот массив, чтоб игрок двигался пошагово.
После переводили эти координаты в координаты мира, чтоб движок понимал,
как двигать персонажа. А далее брали координаты мира игрока и координату
конечной точки мира, после чего просто пошагово двигали игрока по каждой
клетке карты. Далее сделали проверку на максимальное количество шагов, чтоб
пользователь не проходил всю карту за одно перемещение. Это мы сделали при
помощи проверки максимально разрешенного количества шагов и проверки
расстояния от координаты игрока до координаты конечной точки. Если
проверка выдавала значение больше чем допустимое, то игрок не двигался,
иначе игрок двигался.
Рисунок 5 - Отрывок из кода с передвижением

И так как это стратегия, следовало создать возможность для перемещения


камеры мышкой и приближения игрового мира. Код можно увидеть на рис. 6.

Рисунок 6 - Код работы с камерой


После окончания работы над основной частью игры, были проведены
работы по созданию пользовательского интерфейса: меню, уведомления и т.д.
А также мелкие работы по игре, по типу анимации и звука. Пример UI
приведён на рис. 7.

Рисунок 7 - Пример пользовательского интерфейса

Также последняя важная работа была проведена над сохранениями. Для


сохранения использовалась бинарная сериализация, так как по сравнению с
другими способами самая надёжная. Для сохранения мы переводили все
нужные данный в машинный код, а для загрузки сохранения использовали
дисериализацию, то есть из машинного кода переводили объекты в их исходное
состояние. Пример кода рис. 8.
Рисунок 8 - Бинарная сериализация

В конце разработки проводились различные тесты игры, проверка на


ошибки, предупреждения исправление критических неисправностей. А далее
самое главное, сборка игры и проверка уже готового продукта.
ЗАКЛЮЧЕНИЕ

Данный отчёт выполнен в точности с поставленными задачами. Был


получен первоначальный опыт и освоены все виды профессиональной
деятельности по специальности 09.02.03 Программирование в компьютерных
системах.
В ходе выполнения отчёта я научился давать отчёт своим действиям,
следить за последовательностью выполнения работы и выполнять чётко
поставленные задачи в срок.
Также, я получил новый опыт и закрепил свои знания в работе с Visual
Studio и Unity. И разработал компьютерную игру в жанре стратегии.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Гаврилов М.В., Климов В.А. Информатика и информационные


Технологии. [Электронный ресурс] — Режим доступа:
https://biblio-online.ru/viewer/1DC33FDD-8C47-439D-98FD-8D445734B9D9
2. Гейг М., Разработка на юнити за 24 часа. 2020. 464с.
3. Семакин И.Г., Хеннер Е.К., Шеина Т.Ю. Информатика. Базовый
уровень. 11класс. 2017. — 224с.
4. Трофимов В.В. Информатика. [Электронный ресурс] — Режим
доступа: https://biblio-online.ru/viewer/87EC2130-3EBB-45B7-B195-
1A9C561ED9D95.
5. Джонсон Б., Professional Visual Studio 2017. 2017. 512с.

Вам также может понравиться