按年龄定制数字游戏:StoryToys 如何构建 LEGO® Bluey 应用

StoryToys 成立于 2008 年,其使命是为所有年龄段的儿童提供教育应用。在过去 17 年中,他们发布的应用包括 Hungry Caterpillar Play School、LEGO® ⁇ DUPLO® ⁇ World、Disney Coloring World 和 LEGO® DUPLO® ⁇ Peppa。
他们的最新产品;游戏《LEGO® Bluey》于2025年8月14日发布。它与乐高集团和BBC工作室合作开发,面向2到4岁的儿童,将趣味性与早期学习相结合。
我們談到了StoryToys的首席工程師Devon Wolfgang和該應用程序的首席开发者Ryan Dykes,談及為不同年齡和運動技能、情緒智力、解決問題能力和幽默水平的孩子們设计應用程序的奮鬥和里程碑。
构建应用程序时最大的技术挑战是什么?
Ryan Dykes:为两岁和四岁的儿童设计游戏是一项独特的挑战。儿童接触应用的方式非常不同——两岁的儿童通常在不完全了解游戏机制的情况下通过点击来探索,而四岁的儿童则希望掌握应用。
比如在冲浪时,年轻的玩家可能会点击屏幕来观察Bluey的移动和反应,而年长的玩家则会试着收集所有的炮弹并避开障碍物。
Devon Wolfgang:我们设计该应用就是为了支持这一开发范围。在 2+ 乐高 DUPLO 体验中,积木建筑仅限于 2D。在 4 款以上的 LEGO 游戏包中,我们引入了完全 3D 构建 – 孩子们可以自由旋转和放置砖块,在保持所有人都乐在其中的同时增加了难度。

Ryan:进度是关键。2+ 乐高 DUPLO 模式使用 2.5D 平面,而 4+ 乐高游戏包移动到等距 3D 空间。我们希望技能自然而然地发展。孩子们在简单模式下学到的知识可以带入高级模式,没有任何矛盾。
这是我们首次使用 Unity 基于物理的渗透测试实现全 3D 积木构建。此前,我们使用的是带有多边形碰撞体的2D矩阵。现在,砖块可以旋转、堆叠,甚至可以悬挂在边缘。这对年龄较大的孩子尤其重要。
一个重大挑战是从固定砖块广告位转移到灵活的系统。这带来了复杂的交互,比如小人物手持砖块站在其他小人物身上,或四处扔动态堆栈。它为玩家提供了自由,但需要严格控制栓子、孔洞和卡扣机制,以避免混乱。

你们是怎样处理各年龄段的输入沟通的?
Ryan:我们避免直接指示,如发光提示或完整指导。相反,我们依靠摆动或动画等微妙的视觉线索来吸引互动。我们的目标是让孩子们自己发现事物。
例如,在汽车上堆砌砖块时,轻点砖块会让小人物捡起砖块,轻点汽车就会放置它。随着时间的推移,孩子们逐渐意识到自己可以直接拖动积木。这种通过实验来建立理解的能力,这也是视觉交流变得至关重要的方面。
Devon:我们还制定了一个硬性规定 : 禁止发文字我们的用户还不识字,所以每次互动都必须通过视觉或动画来传达。线索并不能突出正确答案,只能显示出互动性。
Ryan:为了让体验保持一致,我们在Unity的拖拽、点击和点击事件周围创建了自定义触控输入包装器。整个团队的输入处理标准化,使得原型制作更快、更可靠。如果我们只教授一种点击操作,其他方法也必须相同。

在同一应用中结合使用系统积木和 DUPLO 积木带来了哪些挑战?
Devon:这些设计挑战要比技术挑战困难。例如,我们必须重新设计加载屏幕,因为使用 LEGO DUPLO 角色与系统积木格格格不入。在使用共享系统时,保持视觉语言的独特性需要进行大量迭代。
Ryan:我们将 LEGO DUPLO 和迷你动画系统统一在同一个核心代码库下 – 只有视觉效果不同。这让我们可以重用系统,而无需构建单独的应用,这是可持续性的关键。
Unity是如何帮你达成8周目标?
Ryan:预制件至关重要。对于 LEGO DUPLO 积木,每个개발자者都在运行时加载的独立场景中工作。对于 4 个以上的 LEGO 游戏包,预制件让多名团队成员可以就汽车或动画等不同部分进行协作,而不会造成场景冲突。

Addressables在开发期间起了什么作用?
Devon:我们非常依赖Addressables。每个游戏包都是一组可寻址资源包,其中大多数资源都以远程方式加载。
Ryan:以前,我们会将所有素材资源捆绑到一个游戏包中,这意味着进行大量冗余下载。借助Addressables,Bluey模型等共享素材资源只需存储一次即可重复使用,下载大小从200 MB降低到60 MB。更新也更快,因为只有更改的文件会重新下载。
Devon:以前,构建过程需要 8 个小时。现在,使用 Addressables,小型应用只需 20 分钟,而大型应用只需一小时左右。

Unity Navigation是如何用于这个项目的?
Ryan:旧的 2D 导航系统运行良好,但新系统会考虑更多复杂性。现在,小人物可以离开平面,比如爬上狭窄的桥,从而增加深度和灵活性。
您遇到了哪些与性能相关的问题?
Ryan:我们面临的主要挑战之一是绘制调用。一次着色器更改打破了批处理,推送了 500 多个绘制调用。使用 Unity Profiler 和 Frame Debugger,我们快速跟踪问题并修复了着色器以正确批处理材质。我们还对背景进行了静态标记,
我们还注意到,笔刷等背景元素没有加入图集,导致不必要的绘制调用。使用 Unity 的精灵图集系统,无需 Photoshop 即可对它们进行分组,从而将绘制调用减少到约 200 次。

⁇ ��발자 希望為不同年齡和發育階段的兒童建立應用程式?
Devon:尽早测试、经常测试。让目标年龄段的孩子尽快与您的工作互动。不要只顾着猜测,要享受他们的反应——它们既有价值又有趣。
Ryan:尽早设定交付成果。我们使用的是P1/P2/P3系统:P1 是必不可少的(核心循环),P2 可以润色(例如庆典、辅助动画),P3 很好用(例如跳鱼)。这样可在需要剪辑时保持专注。
清晰的项目结构同样重要。对于 LEGO DUPLO,我们知道它有四个场景和一个主场景。对于 4 个以上的 LEGO 游戏包,它是在一个盒装区域内等距的。这些约束有助于集中创造力,避免范围蔓延。
最后,复用是关键。借助触摸输入和 DUPLO 及系统积木的统一代码等共享系统,我们可以在所有游戏包中重用素材资源和行为。这节省了时间,并使用户体验更加一致。
要阅读有关Made with Unity项目的更多信息,请访问资源页面。
