Amal использует Forge2D, реальный 2D физический движок, для создания обучающих игр, в которых арабские буквы и слова подчиняются законам физики — гравитации, скорости, столкновениям и силе. В Bubble Pop дети лопают пузырьки с правильными арабскими буквами. В Slingshot запускают снаряд в нужное слово. В Frog Jump прыгают с платформы на платформу с арабским словарём. Реальная физика делает эти игры естественными и увлекательными, одновременно обучая арабскому.
Комбинация Forge2D и Flame Engine
Flame (v1.18.0) — это 2D игровой фреймворк для Flutter:
- Обеспечивает рендеринг, игровой цикл, обработку ввода
- Работает с частотой 60 кадров/с на средних телефонах (Snapdragon 662 и выше)
- Оптимизирован под мобильные устройства с минимальным потреблением памяти
Forge2D (v0.19.2) — порт стандартного физического движка Box2D на язык Dart:
- Динамика твёрдых тел (движение и столкновения объектов)
- Обнаружение столкновений и их обработка
- Гравитация, трение, отдача (отскок)
- Ограничения сочленений (блоки, петли)
Итог: обучающие игры с реалистичной физикой, плавно работающие на всех устройствах.
Обзор игр
Bubble Pop (распознавание букв по скорости)
- На экране плавают 5-8 пузырей с арабскими буквами
- Гравитация тянет пузыри вниз
- Ребёнок нажимает по пузырю с нужной буквой
- Обнаружение столкновения активирует анимацию лопания
Цель обучения: быстрое распознавание букв. Таймер и движущиеся пузыри создают напряжение — ребёнок должен быстро найти нужную букву среди отвлекающих и нажать до того, как пузырь исчезнет.
Физика: у каждого пузыря масса, константа гравитации и отдача (отскок при столкновении со стенами). Нажатие прикладывает силу, вызывающую анимацию лопания. Вариация: более тяжёлые пузыри падают быстрее, усложняя игру.
Slingshot (обдуманный выбор)
- Ребёнок целится рогаткой в 3 слова на экране
- Тянет рогатку (натяжение — сила пружины)
- Отпускает, чтобы запустить снаряд
- Столкновение с правильным словом — очко, с неправильным — промах
Цель обучения: осознанное распознавание слов и мелкая моторика. В отличие от Bubble Pop, здесь важны прицеливание, точность и анализ траектории.
Физика: сила натяжения рогатки моделируется как сила пружины (F = kx). Траектория снаряда — параболическая (гравитация + начальная скорость). Форма столкновения точно соответствует контурам слов для точного определения попадания. Вариации: ветер, упругие стены, движущиеся цели.
Frog Jump (последовательность знаний)
- Лягушка стоит на платформах с арабскими словами
- Прыгает вперёд, чтобы продвигаться; падение — потеря жизни
- Прыжки по платформам в определённом порядке (например, прилагательное → существительное → глагол)
- Физика: дуга прыжка, определение приземления, столкновения с платформами
Цель обучения: последовательное знание и распознавание шаблонов. Прыжки по словам по порядку помогают изучать отношения между словами (например, единственное → множественное → двойственное).
Физика: удерживание кнопки прыжка накапливает силу, затем высвобождение приводит лягушку к полёту по параболе. Проверка приземления определяет, на платформу ли села лягушка, или на край (штраф). Столкновения с платформами вызывают отскок (коэффициент отдачи 0.1) или сцепление (трение 0.8).
Lane Runner (скорость и уклонение)
- Лягушка бежит по горизонтальным дорожкам
- На каждой дорожке есть препятствия (неверные слова) и цели (верные слова)
- Ребёнок свайпом меняет дорожку
- Столкновение с препятствием — урон; со следующей — очко
Цель обучения: распознавание шаблонов под давлением времени. Скорость прокрутки требует быстрых решений. Разные концепции расположены на разных дорожках, что помогает прогнозировать и планировать.
Физика: препятствия движутся с постоянной скоростью. Персонаж обладает трением, обеспечивающим плавное ускорение и торможение. Зоны столкновений сделаны с запасом, чтобы допустить прощение ошибок.
Scale Balance (сравнение количества)
- Две платформы на весах
- Ребёнок перетаскивает арабские числительные на каждую сторону
- Весы наклоняются в сторону тяжелого груза
- Цель — правильно сбалансировать или сделать одну сторону тяжелее
Цель обучения: сравнение количеств и математическое мышление на арабском. Визуальная реакция весов даёт мгновенное интуитивное понимание относительной величины.
Физика: рассчитывается масса — более тяжёлые слова имеют большую массу, а также крутящий момент (масса × расстояние). Весы визуально поворачиваются в зависимости от разницы моментов.
Почему реальная физика?
| Подход | Вовлечённость | Обучение | Производительность | Масштабируемость |
|---|---|---|---|---|
| Без физики | Плоско, скучно | Отделено от механики | Дешево | Просто |
| Анимация | Нравится визуал | Декор отвлекает | Средне | Ограничено |
| Реальная физика | Глубокое вовлечение | Механика — обучение | Высокое | Требует экспертизы |
Реальная физика делает игры реальными. Дети интуитивно понимают гравитацию, столкновения и силы. Встроенные в физику цели обучения превращают игровой процесс в образовательный, а не просто украшенный геймификацией.
Оптимизация производительности
Физическое моделирование требует ресурсов. Мы оптимизируем:
- Пространственное разделение: моделируем столкновения только у близких объектов
- Переход в режим сна неподвижных объектов для экономии CPU
- Уменьшение точности: физика работает с 30fps, рендеринг с 60fps
- Отсечение: объекты вне экрана не рисуются и не моделируются
Результат: 60fps на бюджетных Android-телефонах 100–200 долларов.
Часто задаваемые вопросы
В: Учат ли физические игры арабскому, или это просто отвлечение?
О: Физика — это и есть образовательный механизм. Bubble Pop учит распознавать буквы быстро. Slingshot развивает осознанный выбор и мелкую моторику. Frog Jump учит последовательности. Механика игры не украшение, а кодирует цель обучения.
В: Зачем использовать реальную физику, а не простые анимации?
О: Простые анимации плоские и скучные. Реальная физика даёт удовлетворяющую обратную связь и интуитивное понимание. Дети считают игры с физикой намного интереснее.
В: Работают ли физические игры на старых телефонах?
О: Да. Мы тестируем на Snapdragon 662 (2019 год) с 60fps. Очень старые устройства (2016 и раньше) могут терять кадры, но игры остаются играбельными. Есть настройки для отключения визуальных эффектов на слабых устройствах.



