Во все времена перед школой стоял целый ряд задач воспитания и развития учеников. Для успешного обучения школьников необходимо их заинтересовать и развить в них положительную мотивацию. На первый план в решении этой задачи выходит саморазвитие личности, так как именно саморазвитие позволяет дать нужную «тягу» к обучению. За счет саморазвития человек познает себя и тем самым выявляет в себе качества, знания, умения, которые необходимо улучшить или приобрести [1, 2].
Развитие информационных технологий охватывает все сферы деятельности человека, не является исключением и процесс обучения. Одним из средств достижения успешного результата обучения служит использование на практике игровых технологий (геймификации, или игрофикации), которые способны положительно повлиять на мотивацию ребенка. Ведь, как и раньше, игры являются средством саморазвития детей. Главное, чтобы игра и ее сюжет способствовали получению новых знаний. Основные достоинства игрофикации [3]:
1) акцент на мотивацию обучающихся. Игры способны дать положительные эмоции, так как сам ученик является центром игры и от его действий зависит дальнейший ее ход, что в конечном счете приводит к повышению мотивации и как следствие – к развитию или получению новых знаний;
2) добровольность обучения. Увлекательный сюжет игры способен увлечь ребенка на длительное время, а значит, повышается мотивация к ее прохождению, на чем и основаны многие игры.
Среди преимуществ игрофикации в традиционном обучении можно выделить:
- повышенную заинтересованность учеников к изучению материала посредством игры;
- наглядное и практическое применение теоретического материала;
- возможность предоставления большего объема изучаемой информации;
- легкое усвоение учебного материала в игровой форме;
- возможность получения учебного материала удаленно посредством сети Интернет.
Последняя особенность становится все более актуальной в современном мире, когда из-за пандемии активно используются дистанционные методы обучения.
В работе [4] выделены группы программных средств, которые можно использовать в игрофикации, и проведен анализ игровых платформ. К ним относятся: сайты-конструкторы игр, игровые платформы, образовательные квесты, сервисы управления обучением, готовые онлайн-тренажеры, игровые средства обучения программированию. Среди популярных платформ выделены:
- DuoLingo – бесплатная платформа, используемая для обучения иностранным языкам;
- Classcraft – сюжет похож на ролевую игру Dungeons & Dragons, однако успех в игре зависит от выполнения заданий в классе. Представляет собой игровой вариант балльно-рейтинговой системы. В игре ученики получают очки опыта за работу в классе, или урон, если задание не выполнено или игроки плохо себя ведут [5]. Так как есть команды учеников, то игра приучает детей к командному взаимодействию, когда результат зависит от действий всех игроков команды;
- MinecraftEdu – платная игровая платформа, представляющая собой онлайн-симулятор, мир строительства с возможностью импровизации.
Каждая из платформ по-своему уникальна и имеет как преимущества, так и недостатки. Однако они обладают общей чертой – не всегда способны помочь в целенаправленном обучении.
Результаты исследования и их обсуждение
Для внедрения игрофикации в преподавание предметов естественно-математического цикла основного общего образования, в частности физики, авторами разработана обучающая игра, позволяющая игроку передвигаться по уровню и взаимодействовать с объектами, применяя и наблюдая явление импульса тела. Игра представляет собой сочетание «квеста» и «экшэна» от первого лица, в которую включены элементы головоломки.
В качестве среды разработки выбран игровой движок Unreal Engine 4, в котором математика физических явлений проработана на высоком уровне [6]. Данная технология используется в играх различных жанров, в том числе и многопользовательских, таких как популярные сейчас Fortnite (2017 г.), A Way Out (2018 г.), BattleBeasts (2020 г.), Bright Memory: Infinite (выход 2021 г.).
В качестве инструментов программирования применялись встроенные функции (модули) программного механизма Unreal Engine 4, разработанные на языке программирования C++ и инструменте визуального программирования Blueprint [7]. Возможности игры предусматривают движение игрока по уровню, подбор любых предметов и бросание их с заданным импульсом (рис. 1). Для повышенного интереса в игре предусмотрены противники, реализованные на базе искусственного интеллекта.
Рис. 1. Взаимодействие игрока с физическими объектами
В соответствии с задачами разработки определены следующие требования к возможностям игрового персонажа:
- взаимодействие с объектами, эмулирующими физику;
- взаимодействие с другими объектами на уровне;
- передача импульса подобранным объектам;
- получение урона.
Также в самой игре реализованы следующие элементы: разработан пользовательский интерфейс для отображения состояния персонажа, предусмотрена система повреждений, прописаны условия победы и поражения.
Для обеспечения выполнения заданных действий реализованы следующие функции:
1) события «Поражение» и «Победа» – при поражении вызывается экран с уведомлением о возможности начать уровень заново, а в случае выигрыша выдается победное приветствие и доступен переход к следующему уровню;
2) функция «Персонаж» – основной персонаж игры. Так как игра происходит от первого лица, то нет необходимости в детальной проработке игрока, достаточно создать объект, посредством которого можно взаимодействовать с другими объектами и выполнять поставленные задачи. В игре предусмотрены следующие основные действия персонажа: поворот (режим осмотра с возможностью управления камерой), передвижение в любых направлениях, прыжки, взаимодействие с объектами (подбор предмета, метание, передача импульса);
3) переменная «Здоровье» – изменение происходит через событие (EventAnyDamage), которое определяет, какое количество урона было нанесено. Оно отнимается от текущего значения переменной «Здоровье». Если количество единиц переменной «Здоровье» опустится до нуля, то будет вызвано событие «Поражение»;
4) событие «Бросить объект» – пользовательское событие, которое отвечает за сброс объекта, захваченного пользователем. Используется компонент, который необходим для проверки удержания пользователем любого физического объекта. Если объект взят, то запускается функция (LaunchObject), которая задает объекту импульс и запускает его вперед. Если объект отсутствует, то запускается событие «Поднять объект» для дальнейшего взаимодействия;
5) событие «Поднять объект» – используется для связи с функцией запуска по траектории луча. Начало действия определяется положением камеры в игровом пространстве с помощью функции (GetWorldLocation), где целью является сама камера, а возвращаемые значения служат координатами объекта в пространстве;
6) функция «Захватить компонент» – производит захват объекта на его координатах в игровой области с применением вращения для корректного поведения при переносе или установки на другую позицию;
7) событие «Задание импульса объекту» – блок кода, отвечающий за возможность персонажа задавать импульс объекту, который он держит. С помощью пользовательского события (LaunchObject) запускается функция броска объекта, если объект находится в руке;
8) функция «Обновить положение объекта» – необходима для определения положения захваченного объекта в пространстве. Запускается через событие (EventTick), в котором прописана функция установки цели в пространстве.
Рис. 2. Представление функций объекта «Персонаж»
На рис. 2 приведено представление функций в инструменте визуального программирования Blueprint на примере функции объекта «Персонаж».
Так как это игра, то для противостояния игроку был разработан примитивный искусственный интеллект и прописано поведение для каждого типа врага (рис. 3).
Рис. 3. Схема минимального поведения ИИ
Всего в игре определено три вида противника.
1. Противник, преследующий игрока при появлении последнего в поле зрения противника (BP_EnemyCharger). В Blueprint классе используется компонент (PawnSensing), отвечающий за углы обзора юнита, а событие (OnSeePawn) для него срабатывает при попадании класса в поле зрения юнита. В результате объект реагирует, и следствием данной связи является преследование игрока.
2. Противник с расширенным функционалом действий (BP_EnemyTurret). Является обновленной и дополненной версией предыдущего класса. Доступные наборы действий – поворот вокруг своей оси при преследовании игрока, атака игрока при попадании в область обзора.
3. Противник, патрулирующий территорию (BP_EnemyShooter). Является идейным продолжением предыдущего объекта. Нововведением является возможность установки точек патрулирования и перемещения между ними. Это определяется функцией (SetThePatrolPoints), где задается необходимое количество позиций перемещений для объекта и определяется положение противника в игровом мире в виде массива. Противник имеет 3 позиции перемещения, которые выбираются случайным образом. GetRandomLocation – пользовательская функция, выбирающая случайную точку из массива патрулирования. При увеличении количества точек перемещения также увеличивается выбор в установке локации, что, в свою очередь, уменьшает вероятность выбора одного и того же пути для объекта BP_EnemyShooter. Размер массива составляет 3 позиции, при увеличении количества точек поведение противника становится менее предсказуемым.
Вместе с ИИ были созданы интерактивные объекты, позволяющие разнообразить игровой процесс и придать игре смысловую направленность.
1. Ключи для дверей, ведущих на следующие этапы уровня. Чтобы найти ключ, необходимо решить одну из предложенных задач, продемонстрировать бросок с различным импульсом из задачи. Вставить ключ в замочную скважину можно только при близком нахождении.
2. Триггеры – запускают следующий уровень.
3. Коллекционные предметы. Объект находится в определенном месте, двигается по синусоиде и совершает вращение вокруг собственной оси, излучая свет. После соприкосновения с игроком предмет исчезает и оставляет после себя разлетающиеся частицы, которые со временем затухают.
4. Ловушки (пускатели стрел), реагирующие на игрока, который находится прямо перед ними. Происходит выстрел с задержкой каждые 2 секунды; если стрела попадает, то игрок отталкивается на 200 единиц и теряет 1 единицу здоровья, а сама стрела уничтожается.
Тестирование разработанной игры было проведено в муниципальном бюджетном общеобразовательном учреждении «Средняя специализированная школа № 12 имени Героя России Александра Колгатина» в городе Камышине Волгоградской области. В эксперименте участвовали два седьмых класса (56 человек суммарно), изучающих дисциплину «Физика» по одинаковой учебной программе.
В начале эксперимента классу «7а» было предложено провести урок физики с применением элементов игрофикации, а именно с использованием разработанной игры. В ходе эксперимента была замечена заинтересованность учащихся в изучении физики из-за того, что была предложена практическая симуляция некоторых физических явлений, в частности импульса тел. В игре школьникам предлагалось разрушить объект с помощью снаряда с заданным импульсом. Благодаря изменению масс объектов предлагалось на практике проверить правильность решенной задачи. В классе «7б» урок был проведен традиционно.
После окончания занятия всем ученикам было предложено пройти тест на проверку полученных знаний по теме. Эксперимент показал, что в классе, где была применена игрофикация, количество учащихся, которые успешно сдали тест, составляет 80 %. В другом классе число успешно сдавших задание учеников составило около 50 %.
Заключение
В заключение можно сделать вывод, что применение игрофикации в процессе обучения благоприятно влияет на итоговые результаты тестов. Из эксперимента видно, что благодаря использованию разработанной игры повысился процент успешной сдачи теста по дисциплине «Физика». Программный продукт может быть использован как на занятиях в школе, так и в домашних условиях при самообучении. В перспективе предполагается добавление в игру дополнительных возможностей, направленных на обучение большему количеству физических явлений и, потенциально, другим техническим учебным дисциплинам. Также планируется выход на мобильные платформы для большего охвата аудитории и более легкого распространения.