Геймдизайн как наука: учись играя

XXVIII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Геймдизайн как наука: учись играя

Рогов А.Н. 1
1МАОУ "СОШ № 55" г. Пермь
Дробинина Н.Г. 1
1МАОУ "СОШ № 55" г. Пермь
Автор работы награжден дипломом победителя I степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Сейчас мы живем в мире современных технологий, новых инженерных разработок и интересных достижений в науке. Только мир познакомился с одним открытием, как на смену ему уже приходит другое. Наука не стоит на месте, развивается и дает свои плоды. В эпоху цифровизации и стремительного развития информационных технологий мобильные устройства стали неотъемлемой частью жизни большинства людей. Игры для смартфонов и планшетов пользуются огромной популярностью, особенно среди детей и подростков. Я часто замечаю, что на перемене большинство моих одноклассников сразу достают смартфоны и не выпускают их из рук до звонка. По моему мнению важно, чтобы игры, с которыми ребята проводят много времени, не только развлекали, но и обучали. В наши дни появляется все больше платформ, которые объединяют развлечение и образование. Создание образовательных и развивающих игр может стать отличной возможностью повысить мотивацию к обучению, сделать процесс обучения увлекательным и эффективным.Именно поэтому целью моей научно-исследовательской работы стала: разработка и реализация образовательной игры на платформе Roblox с применением лучших практик геймдизайна для развития математических навыков учащихся начальных классов.

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

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

Объект исследования: процесс обучения математике учащихся начальных классов.

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

Задачи:

1. Разработка концепции и сценария игры.

2. Создание прототипа игры на платформе Roblox.

3. Проведение пилотного тестирования разработанного продукта среди учеников начальной школы.

4. Сбор, обработка обратной связи от учеников и оценка эффективности.

5. Размещение игры на платформе Roblox.

Методы исследования:

  • Анкетирование: оценка уровня мотивации и интереса к учебе до и после внедрения игры;

  • Тестирование: изучение динамики успеваемости по математике;

  • Наблюдение: анализ поведения детей в процессе игры;

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

  1. Теоритическая часть

2.1 История создания онлайн платформ

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

Истоки онлайн-игр относятся к 1960-м годам, когда учёные использовали компьютерные терминалы в университетах США для проведения многопользовательских игровых сеансов в локальных сетях. Одной из первых подобных разработок стала игра Spacewar! (1962), запускавшаяся на мини-компьютерах PDP-1. Несмотря на отсутствие сетевых функций в современном понимании, она заложила основы многопользовательского взаимодействия.

Первые настоящие сетевые игры появились в формате текстовых MUD (Multi-User Dungeon) — многопользовательских фэнтезийных проектов, функционировавших через командную строку и подключение к сети ARPANET, предшественнице интернета. В 1978 году в Эссекском университете (Великобритания) была создана первая MUD-среда, позволявшая нескольким пользователям взаимодействовать в виртуальном пространстве, выполнять команды и проходить квесты в реальном времени. Это стало революционным шагом: игроки начали взаимодействовать не только с компьютером, но и с другими людьми.

Существенный прорыв произошёл в 1990-х годах, когда рост популярности персональных компьютеров и модемов сделал сетевые игры массовыми. Такие проекты, как Doom (1993) и Quake (1996), стали первыми шутерами с поддержкой многопользовательских режимов через локальные сети и интернет. Игра Quake также ввела понятие игрового сервера, к которому пользователи могли подключаться удалённо.

В этот же период активное развитие получили MMORPG — массовые многопользовательские онлайн-ролевые игры. Ultima Online (1997) и EverQuest (1999) заложили основы жанра, а World of Warcraft (2004) вывела его в мейнстрим, превратив онлайн-игры в социальные платформы с экономикой, иерархией и постоянно развивающимся миром.

Одновременно сформировался и новый жанр — MOBA (Multiplayer Online Battle Arena), начавший развитие после выхода пользовательской карты Defense of the Ancients (2003) для Warcraft III. Со временем появились самостоятельные проекты: Heroes of Newerth (2009), League of Legends (2010) и Dota 2 (2013). К началу 2010-х жанр MOBA занял прочные позиции в киберспорте.

В конце 2010-х годов значительную популярность приобрёл жанр «королевская битва» после выхода PlayerUnknown’s Battlegrounds (2017). За ним последовали Fortnite Battle Royale (2017), Apex Legends (2019) и Call of Duty: Warzone (2020), каждая из которых собрала многомиллионную аудиторию активных игроков. Кроме того, широкое распространение получили игровые симуляторы, моделирующие различные сферы деятельности — строительство, фермерство, управление техникой и профессиями.

Современные онлайн-игры функционируют на основе инфраструктуры высокопроизводительных дата-центров, облачных технологий и кроссплатформенной интеграции. Развитие широкополосного интернета, технологий потоковой передачи данных и мобильных сетей 4G/5G позволило вывести игровой процесс за пределы персональных компьютеров и консолей. Благодаря этому появились мобильные MMO, шутеры и симуляторы, объединяющие десятки миллионов пользователей в реальном времени.

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

2.2 Обзор платформы Roblox

Сейчас существует огромная игровая платформа “Roblox” созданная для таких создателей игр. Roblox — это многопользовательская онлайн-игровая платформа, созданная американской компанией Roblox Corporation. Она позволяет игрокам создавать собственные игры, играть в созданные другими пользователями проекты и взаимодействовать друг с другом в виртуальном пространстве. За годы своего существования Roblox превратилась в одну из наиболее популярных игровых площадок среди детей и подростков по всему миру. Платформа была запущена в 2006 году Эриком Касселем и Дэвидом Басцоски. Изначально проект назывался DynaBlocks и представлял собой конструктор трехмерных миров. Со временем платформа эволюционировала, превратившись в полноценную игровую среду, где каждый пользователь мог стать разработчиком собственной игры.

Сегодня на ней зарегистрировано более 100 миллионов активных пользователей в месяц. Кроссплатформенность позволяет запускать игры на ПК, мобильных устройствах, консолях Xbox и PlayStation, обеспечивая сохранение прогресса и взаимодействие между пользователями независимо от выбранной платформы.

Основная аудитория платформы — игроки 9–15 лет. Взрослые геймеры бывают здесь редко, но группа пользователей от 17 до 24 лет с каждым годом растёт. 

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

Игры создаются на языке программирования Lua, что позволяет изучать основы программирования в игровой форме. Многие онлайн-курсы предлагают обучение Roblox Studio как старт в базовом моделировании и кодинге. Это способствует развитию творческого потенциала и интереса к IT- технологиям.

Активное сообщество пользователей является ещё одним важным компонентом платформы. Каждый игрок может создавать и настраивать собственный аватар, что способствует развитию индивидуального стиля и идентичности внутри виртуальной вселенной. Пользователи Roblox могут свободно перемещаться между играми, объединяться в команды и устраивать совместные приключения. Пользователь сам выбирает, чем заняться ― играть, строить или просто соревноваться. На платформе множество игр, от простых симуляторов до масштабных ролевых. Каждый игрок найдет себе занятие по душе.

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

В Roblox существует собственная валюта — Robux. Это виртуальные деньги используются для покупки предметов, костюмов, аксессуаров и улучшения игрового опыта. Разработчики могут зарабатывать реальные деньги, продавая свои игры или внутриигровые предметы.

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

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

  1. Практическая часть

3.1 Анкетирование

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

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

Для проведения опроса мной были подготовлены следующие вопросы с вариантами ответов:

  1. Какие игры тебе нравятся больше всего?

    • компьютерные игры - (18 гол.)

    • настольные игры - (18 гол.)

    • игры на смартфоне - (25 гол.)

    • активные игры вне дома - (19 гол.)

  1. Какой жанр игры ты предпочитаешь?

    • Стратегия - (6 гол.)

    • Аркады - (18 гол.)

    • Гонки - (12 гол.)

    • Квесты - (20 гол.)

    • экшн-игры - (14 гол.)

  1. Использовал ли ты когда-нибудь образовательные игры для изучения школьных предметов?

    • да, часто использую - (9 гол.)

    • иногда применяю - (45 гол.)

    • нет, никогда не использовал - (26 гол.)

  1. Было бы тебе интересно использовать игровые техники в обучении?

    • да, очень - (34 гол.)

    • возможно - (41 гол.)

    • скорее нет - (5 гол.)

  1. Какой предмет ты бы хотел изучать через игру?

    • Английский язык - (18 гол.)

    • Математика - (35 гол.)

    • Русский язык - (10 гол.)

    • Окружающий мир - (17 гол.)

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

опыт взаимодействия учеников с играми разного типа

готовность воспринимать игровую форму обучения

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

Большинство опрошенных учеников предпочитает игры на смартфоне;

Одним из популярных жанров игры стала – образовательная аркада;

Мало кто использует образовательные игры для изучения школьных предметов, но при этом многим ученикам хотелось бы изучать предмет через игру;

По большинству голосов для изучения через игру была выбрана математика.

3.2 Формирование концепции игры

В рамках концепции рекомендуется использовать возможности Roblox Studio для создания интерактивного трёхмерного мира, в котором можно реализовать простые, но увлекательные механики, способствующие развитию логического мышления. При выборе жанра игры следует ориентироваться на популярные направления внутри сообщества Roblox, такие как платформеры, симуляторы, приключения, квесты и RPG. Эти жанры предполагают динамическое взаимодействие игрока с окружением через перемещение, сбор ресурсов, выполнение заданий и развитие персонажа. На этапе концепции можно заложить базовые механики, например, создание движущихся платформ, телепортов, системы подсчёта очков и инвентаря — все эти элементы легко реализуются при помощи событий Lua и базовых частей (Block, Sphere, Wedge, Cylinder). Учёт особенностей аудитории требует внедрения простого и понятного интерфейса, а также постепенного усложнения игрового процесса. Начальные уровни могут быть короткими и включать обучающие задания по взаимодействию с объектами и использованию игровых функций, что поможет игрокам освоить управление и понять цель игры. По мере продвижения стоит добавлять более сложные элементы, например, командную работу, экономику внутри игры, развитие навыков персонажа, усложнение заданий. Таким образом, в концепции рекомендуется предусмотреть возможность расширения проекта, что увеличит его играбельность. Образовательный аспект игры следует интегрировать органично, чтобы обучение не казалось навязчивым. Можно реализовать квесты, требующие применения логики и алгоритмического мышления, а также встроить мини-игры с созданием сценариев на Lua. При формировании концепции необходимо также учесть технические ограничения и специфику разработки в Roblox Studio. Создание игровых объектов начинается с базовых частей с возможностью настройки размеров, материалов и цветов, что позволяет быстро визуализировать задумку и протестировать основные механики. Программирование поведений посредством Lua обеспечивает гибкость и расширяемость проекта, а встроенные инструменты тестирования и отладки способствуют качественной отработке скриптов на разных этапах разработки. Кроме того, концепция должна предусматривать этап публикации и распространения игры с правильными настройками приватности и оформления описания, что облегчит привлечение аудитории и получение обратной связи. В результате формируется идея интерактивного, обучающего, но при этом развлекательного проекта, построенного на прочном техническом фундаменте и ориентированного на вовлечение активной молодёжной аудитории.

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

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

3.3 Разработка

Разработка образовательной математической игры в Roblox Studio проводилась поэтапно с использованием итеративного подхода, включающего прототипирование, интеграцию компонентов и тестирование. Основной целью было создание функционального прототипа, который объединяет теоретическую концепцию игры с практическими элементами платформы Roblox, обеспечивая увлекательный процесс обучения математике для школьников. В процессе применялись встроенные инструменты Roblox Studio, такие как Workspace для организации сцены, Explorer для управления объектами и Properties для настройки параметров, а также готовые ассеты из Toolbox для ускорения работы без нарушения оригинальности проекта. Общий объем разработки составил около 20 часов, с регулярными сохранениями в Roblox Cloud для контроля версий и минимизации рисков потери данных. Итоговый прототип демонстрирует полную интеграцию всех модулей, готов к пользовательскому тестированию и дальнейшей оптимизации на основе обратной связи.

Создание игры

Создание игры начинается с запуска Roblox Studio (рис. 1). Roblox Studio — это основное официальное приложение от Roblox Corporation для создания игр, которое предоставляет полный набор инструментов для 3D-моделирования, программирования и публикации контента на платформе. Создание игрового мира

Рис.1 Логотип приложения Roblox Studio

Следующий этап создание Place (с англ. "пространство" или "опыт") (рис. 2). Для этого был выбран обычный шаблон, который в дальнейшем можно будет изменять под параметры игры. Здесь нас встречает мир с двумя объектами: Baseplate, SpawnLocation.

Рис.2 Шаблон Baseplate

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

Рис. 3 Окно информации мира

Разработка игровых объектов и механик

В качестве основной идеи игры была выбран идея с генерацией математических примеров разной сложности, где игрок начинает с легкого уровня сложности примеров постепенно продвигаясь дальше по уровням. Также для каждого уровня была выбрана своя цветовая градация, где первый уровень имеет зелёный цвет, а последний красный (Рис.4). Всего в данной игре представлено 10 уровней сложности (таблица 1)

Уровень

Операции

Диапазон чисел

Таймер (сек)

1

+

1-20

3-6 ​

2

* /

1-9

3-5

3

+ -

10-50

8-10

4

+ - * /

1-100 (одно ≥50)

8-10

5

+ -

1-300 (одно ≥100)

10-12

6

+ - × ÷

1-300 / 1-30

10-15

7

+ - × ÷

1-500 / 1-50

10-12

8

+ - × ÷

1-999 / 1-100

20

9

+ -

1-9999 (одно >1000)

8-10

10

+ -со степенями

(кубы/квадраты) чисел от 1 до 5

18-20

таблица № 1

Рис. 4 Внешний вид уровней снаружи

Основной механикой является генерация математических выражений с умножением и делением, расчёт правильного ответа и создание трёх неверных вариантов для выбора из четырёх блоков (Рис. 5). Выражения формируются случайным образом с числами от 1 до 9. Правильный результат размещается случайно на одном из четырёх блоков ответов, а отвлекающие варианты генерируются с небольшим отклонением от правильного без повторений. Игрок кликает на блоки с текстурами цифр; при правильном выборе активируется зелёный цвет, частицы конфетти, звук успеха и начисление монет, при неверном — красный цвет, звук ошибки. Система с таймером и автоматической сменой вопросов обеспечивает множество уникальных заданий и адаптивную сложность для школьников 3 класса

Рис. 5 Блок вопроса с вариантами выбора

Суть игры сводится к тому, чтобы пройти все десять уровней сложности, получая за каждый правильный ответ монетки, позволяющие продвигаться дальше. В последнем уровней у игрока есть возможность купить “Шапочку Бакалавра”, которая будет демонстрироваться остальным игрокам.

Программирование на Lua

Для разработки всех скриптов на языке программирования Lua применялась нейросеть GigaChat (рис. 6), созданная компанией Сбербанк в 2023 году как российский аналог ChatGPT. GigaChat — это мультимодальная нейросеть, способная генерировать текст, код, изображения и поддерживать диалог на русском языке с высокой точностью. Она помогла создать сложные функции — генерацию математических задач, таймеры и обработку взаимодействий.

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

Рис. 6 Логотип нейросети GigaChat

Программирование в Roblox Studio — это написание простых команд на языке программирования Lua, чтобы оживить игру: заставить кубы двигаться, реагировать на клики мыши, считать очки или менять уровни.

В данной игре на каждый уровень было разработано по 3 скрипта: скрипт генерации математического примера и ответов, скрипт разблокировки двери за монетки, скрипт запуска музыки.

Всего в данном проекте было разработано 13 скриптов: десять скриптов, генерирующих математические выражение и ответы к ним (приложение А), скрипт управляющий музыкой (Приложение Б), скрипт управляющий открытием прохода на следующий уровень (Приложение В).

Описание работы скрипта, генерирующего математические выражения и ответы к ним. Скрипт сначала находит в игре коробку с вопросом, таймер и четыре блока с ответами, а затем показывает примеры сложения и проверяет ответы игрока. Он придумывает случайный пример вроде "7 + 12 = ?", где правильный ответ появляется случайно на одном из блоков, а остальные три — похожие неправильные числа. Игрок кликает на блок, и, если угадал — блок зеленеет, звучит весёлый звук, сыплется конфетти и даются монетки. Если ошибся — блок краснеет со звуком неудачи, но правильный ответ подсвечивается зелёным. Если таймер на 3-6 секунд истекает, математическое выражение создаётся заново автоматически.

  1. Результаты исследования

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

Данное заключение я сделал на основе следующих выводов:

  • Повышенный уровень мотивации: одноклассники проявляли живой интерес к учебе благодаря игровому процессу.

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

  • Укрепление знаний: для оценки эффективности разработанной игры, мы сравнили средний балл по арифметическому диктанту за 1 и 2 учебную четверть 2025. Прирост составил с 4,10 до 4,20.

  1. Заключение

В рамках данной научно‑исследовательской работы была поставлена и решена задача — разработка и реализация образовательной игры на платформе Roblox для развития математических навыков учащихся начальных классов.

Мной была создана игра «Математическая игра», направленная на закрепление навыков устного счета. Игра получилась очень интересной и получила большое распространение среди пользователей платформы. Для быстрого поиска игры необходимо отсканировать QR- код (рис.7)

Рис 7. QR-код игры

Результаты исследования подтверждают, что Roblox — перспективная платформа для создания образовательных игр, сочетающая:

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

  • развитие - когнитивные и социальные навыки;

  • удовольствие - игровая мотивация и вовлечённость.

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

  1. Литература

    1. Официальные ресурсы Roblox (сайт платформы roblox.com., документация к Roblox Studio, руководства по программированию на Lua). 

    2. З. Брамбо Программирование в Roblox. Сделать игру проще простого: создание игр с помощью Roblox Studio и языка программирования Lua от „А“ до „Я“»;

    3. Д. Жаньо «Большая книга Roblox. Как создавать свои миры и делать игру незабываемой»;

    4. Корягин А. В. «Roblox: играй, программируй и создавай свои миры»;

    5. Методические рекомендации Рябус И. М. «От игры до геймификации в условиях цифровизации образования»;

    6. Научная статья А. Г. Широколобовой «Геймификация в условиях цифровой трансформации образования»;

    7. Подсекин И. А. «Создание игры-теста по информатике в программе Roblox Studio»;

    8. Бессмертный А. М., Гаенкова И. В. научная статья «Игрофикация как образовательная парадигма обучения»;

    9.  Статья Е.С. Быкадоровой «Геймификация в образовании»;

ПриложениеА

local Players = game:GetService("Players")

local RunService = game:GetService("RunService")

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local SoundService = game:GetService("SoundService")

local player = Players.LocalPlayer

local mathModel = workspace:WaitForChild("Level1"):WaitForChild("Math1")

local questionLabel = mathModel:WaitForChild("Level1_QuestionBox"):WaitForChild("SurfaceGui"):WaitForChild("TextLabel")

local timerText = mathModel:WaitForChild("Timer1"):WaitForChild("SurfaceGui"):WaitForChild("TimerFrame"):WaitForChild("TextLabel")

local answerBoxes = {}

for i = 1, 4 do

local boxName = "Level1_AnswerBox" .. i

local box = mathModel:WaitForChild(boxName)

answerBoxes[i] = {

label = box:WaitForChild("SurfaceGui"):WaitForChild("TextLabel"),

click = box:WaitForChild("ClickDetector"),

part = box,

confetti = box:WaitForChild("Confetti" .. i)

}

end

local coinRemote = ReplicatedStorage:WaitForChild("AddCoinRemote", 5)

local WIN_SOUND_START = 0.0

local LOSE_SOUND_START = 0.3

local EFFECT_DURATION = 1

local winSound = Instance.new("Sound")

winSound.SoundId = "rbxassetid://92995480014090"

winSound.Volume = 0.7

winSound.Parent = SoundService

local loseSound = Instance.new("Sound")

loseSound.SoundId = "rbxassetid://137327891291996"

loseSound.Volume = 0.7

loseSound.Parent = SoundService

local locked = false

local correctIndex = 0

local timerConn = nil

local function addCoins()

if coinRemote then coinRemote:FireServer(1) end

end

local function playConfetti(confetti)

for _, em in pairs(confetti:GetChildren()) do

if em:IsA("ParticleEmitter") then em.Enabled = true end

end

task.delay(1.5, function()

for _, em in pairs(confetti:GetChildren()) do

if em:IsA("ParticleEmitter") then em.Enabled = false end

end

end)

end

local function playWinSound()

winSound.TimePosition = winSound.TimeLength * WIN_SOUND_START

winSound:Play()

end

local function playLoseSound()

loseSound.TimePosition = loseSound.TimeLength * LOSE_SOUND_START

loseSound:Play()

end

local function newQuestion()

local a, b = math.random(1, 20), math.random(1, 20)

local correct = a + b

correctIndex = math.random(1, 4)

questionLabel.Text = a .. " + " .. b .. " = ?"

local used = { [correct] = true }

for i = 1, 4 do

local value

if i == correctIndex then

value = correct

else

repeat

value = math.max(1, correct + math.random(-12, 12))

until not used[value]

used[value] = true

end

answerBoxes[i].label.Text = tostring(value)

answerBoxes[i].part.Color = Color3.fromRGB(163, 162, 165)

end

end

local function startTimer(duration)

if timerConn then

timerConn:Disconnect()

end

local startTime = tick()

timerConn = RunService.Heartbeat:Connect(function()

local remaining = math.max(0, duration - (tick() - startTime))

timerText.Text = string.format("%d.%ds", remaining, math.floor((remaining % 1) * 10))

if remaining <= 0 then

timerConn:Disconnect()

newQuestion()

task.delay(0.5, function() startTimer(math.random(3, 6)) end)

end

end)

end

for i = 1, 4 do

answerBoxes[i].click.MouseClick:Connect(function()

if locked then return end

locked = true

if timerConn then

timerConn:Disconnect()

timerConn = nil

end

if i == correctIndex then

answerBoxes[i].part.Color = Color3.fromRGB(0, 255, 0)

playWinSound()

playConfetti(answerBoxes[i].confetti)

addCoins()

else

answerBoxes[i].part.Color = Color3.fromRGB(255, 0, 0)

answerBoxes[correctIndex].part.Color = Color3.fromRGB(0, 255, 0)

playLoseSound()

end

task.delay(EFFECT_DURATION, function()

for j = 1, 4 do

answerBoxes[j].part.Color = Color3.fromRGB(163, 162, 165)

end

locked = false

newQuestion()

startTimer(math.random(3, 6))

end)

end)

end

newQuestion()

startTimer(5)

ПриложениеБ

local SoundService = game:GetService("SoundService")

local Players = game:GetService("Players")

local player = Players.LocalPlayer

local musicId = "rbxassetid://102243892087638"

local music = Instance.new("Sound")

music.SoundId = musicId

music.Looped = true

music.Volume = 0.2

music.Parent = SoundService

music.Loaded:Connect(function()

music:Play()

print("Музыка запущена для " .. player.Name)

end)

music.Ended:Connect(function()

music:Play()

end)

ПриложениеВ

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local OpenDoorEvent = ReplicatedStorage:WaitForChild("OpenDoorEvent")

OpenDoorEvent.OnClientEvent:Connect(function(part)

part:Destroy()

end)

Просмотров работы: 4