Адаптация цифровой игры по возрасту: Как StoryToys создали приложение LEGO® Bluey

StoryToys была основана в 2008 году с миссией предоставления образовательных приложений детям всех возрастов. За последние 17 лет они выпустили приложения, включая Hголодную гусеницу Play School, LEGO® DUPLO® World, Disney Coloring World и LEGO® DUPLO® Peppa.
Их последняя игра, LEGO® Bluey, была запущена 14 августа 2025 года. Разработанная в сотрудничестве с LEGO Group и BBC Studios, она нацелена на детей в возрасте от двух до четырех лет и сочетает в себе развлечение и раннее обучение.
Мы поговорили с Девоном Вольфгангом, главным инженером StoryToys, и Райаном Дайксом, ведущим разработчиком приложения, о трудностях и достижениях в разработке приложения для детей разных возрастов и уровней моторики, эмоционального интеллекта, решения проблем и юмора.
Какова была самая большая техническая проблема при создании приложения?
Райан Дайкс: Проектирование для детей двух и четырех лет было уникальной задачей. Дети такого возраста взаимодействуют с приложениями очень по-разному – двухлетние дети часто исследуют, просто нажимая, не понимая механики, в то время как четырехлетние стремятся их освоить.
Например, в активности серфинга младшие игроки могут нажимать, чтобы увидеть, как Блуи движется и реагирует, в то время как старшие будут пытаться собрать все ракушки и избегать препятствий.
Девон Вольфганг: Мы разработали приложение, чтобы поддерживать этот диапазон развития. В опыте LEGO DUPLO для детей от 2 лет строительство ограничено 2D. В игровых наборах LEGO для детей от 4 лет мы вводим полное 3D строительство – дети могут свободно вращать и размещать кирпичи, добавляя больше сложности, сохраняя при этом удовольствие для всех.

Райан: Прогресс имеет ключевое значение. Режим LEGO DUPLO для детей от 2 лет использует 2.5D плоскость, в то время как игровой набор LEGO для детей от 4 лет переходит в изометрическое 3D пространство. Мы хотели навыков для естественного строительства. То, что дети учат в более простом режиме, переносится в продвинутый, без противоречий.
Это был наш первый опыт реализации полного 3D строительства кирпичиков с использованием физического тестирования проникаемости Unity. Ранее мы использовали 2D матрицу с полигональными коллайдерами. Теперь кирпичи можно вращать, складывать или даже свешивать с краев. Это особенно важно для старших детей.
Одной из основных задач было переход от фиксированного размещения кирпичей к гибкой системе. Это привело к сложным взаимодействиям, таким как минифигурки, держащие кирпичи, стоя на других минифигурках, или динамические стопки, которые бросаются вокруг. Это дало игрокам свободу, но потребовало строгого контроля за штырями, отверстиями и механизмами защелкивания, чтобы избежать хаоса.

Как вы справлялись с коммуникацией для ввода между возрастными группами?
Райан: Мы избегаем прямых инструкций, таких как светящиеся подсказки или полное руководство. Вместо этого мы полагаемся на тонкие визуальные подсказки, такие как покачивания или анимации, чтобы пригласить к взаимодействию. Цель состоит в том, чтобы дети открывали вещи самостоятельно.
Например, когда они ставят кирпичи на машину, нажатие на кирпич заставляет минифигурку поднять его, а нажатие на машину помещает его. Со временем дети понимают, что могут перетаскивать кирпич напрямую. Это формирует понимание через эксперименты – и именно здесь визуальная коммуникация становится необходимой.
Девон: Мы также установили жесткое правило: никакого текста. Наши пользователи еще не умеют читать, поэтому каждое взаимодействие должно быть визуально или через анимацию. Подсказки не выделяют правильный ответ – они просто показывают, что интерактивно.
Райан: И чтобы сделать опыт последовательным, мы создали пользовательскую оболочку для ввода касанием вокруг событий перетаскивания, нажатия и клика в Unity. Это стандартизировало обработку ввода по всей команде и сделало прототипирование быстрее и надежнее. Если мы учим нажимать в одном задании, это должно работать так же и везде.

Какие проблемы возникли при объединении системных кирпичей и кирпичей DUPLO в одном приложении?
Девон: Дизайнерскиепроблемы были сложнее, чем технические. Например, нам пришлось переработать экран загрузки, потому что использование персонажа LEGO DUPLO не подходило к системным кирпичам. Сохранение визуального языка отличным при использовании общих систем потребовало много итераций.
Райан: Мы объединили системы LEGO DUPLO и минифигурок под одной основной кодовой базой – только визуальные элементы различаются. Это позволило нам повторно использовать системы без создания отдельных приложений, что было ключевым для устойчивости.
Как Unity помог вам уложиться в восьминедельный срок?
Райан: Префабы были ключевыми. Для кирпичей LEGO DUPLO каждый разработчик работал в отдельных сценах, которые загружались во время выполнения. Для наборов LEGO для 4+ лет, префабы позволили нескольким членам команды сотрудничать над разными частями, такими как машины или анимации, без конфликтов сцен.

Как Addressables сыграли ключевую роль в процессе разработки?
Девон: Мы сильно полагались наAddressables. Каждый игровой пакет — это группа адресуемых пакетов, большинство из которых загружается удаленно.
Райан: Раньше мы объединяли все ресурсы в каждом игровом пакете, что означало большие, избыточные загрузки. С Addressables общие ресурсы, такие как модель Bluey, хранятся один раз и повторно используются, что уменьшает размер загрузки с 200 МБ до 60 МБ. Обновления тоже быстрее, так как загружаются только измененные файлы.
Девон: Сборки раньше занимали восемь часов. Теперь, с Addressables, это занимает 20 минут для меньшего приложения и около часа для большего.

Как использовалась навигация Unity в этом проекте?
Райан: Старая 2D система навигации работала нормально, но новая позволяет создавать более сложные сценарии. Теперь минифигурки могут двигаться не только по плоским поверхностям — например, подниматься по узкому мосту — что добавляет глубину и гибкость.
С какими проблемами, связанными с производительностью, вы столкнулись?
Райан: Одной из наших основных проблем были вызовы отрисовки. Изменение шейдера нарушило пакетирование, увеличив количество вызовов отрисовки до 500. Используя Profiler и Frame Debugger Unity, мы быстро выявили проблему и исправили шейдер для правильного пакетирования материалов. Мы также оптимизировали наши фоны, пометив их как статические.
Мы также заметили, что элементы фона, такие как кусты, не были атласированы, что вызывало ненужные вызовы отрисовки. Используя систему атласов спрайтов Unity, мы сгруппировали их без необходимости в Photoshop и снизили количество вызовов отрисовки до примерно 200.

Какой совет вы бы дали разработчику, который хочет создавать приложения для детей разных возрастов и этапов развития?
Девон: Тестируйте игру рано и часто. Пусть дети из целевой возрастной группы взаимодействуют с вашей работой как можно скорее. Не полагайтесь на предположения и наслаждайтесь их реакциями – они и ценны, и веселы.
Райан: Установите требования к результатам заранее. Мы используем систему P1/P2/P3: P1 – это обязательно (основной цикл), P2 добавляет полировку (например, празднования, вторичные анимации), а P3 – это приятно иметь (например, как прыгающая рыба). Это помогает сосредоточиться, когда нужно делать сокращения.
Четкая структура проекта так же важна. Для LEGO DUPLO мы знаем, что это четыре сцены и одна главная сцена. Для наборов LEGO для детей от 4 лет это изометрия в ограниченной области. Эти ограничения помогают сосредоточить креативность и избежать разрастания объема.
Наконец, повторное использование является ключевым. С нашими общими системами, такими как сенсорный ввод и унифицированный код для DUPLO и системных кирпичиков, мы повторно используем ресурсы и поведения во всех игровых наборах. Это экономит время и делает пользовательский опыт более последовательным.
Чтобы узнать больше о проектах, созданных с помощью Unity, посетите страницу ресурсов.
