Project Tiny是Unity的一个全新模块,提供了全新的运行时和编辑器模式,旨在构建可以即时加载而无需安装的游戏和体验。Project Tiny目前作为预览版资源包在Unity 2018.3推出,资源包的名称为Tiny Mode。
Project Tiny为开发者提供了快速创建高质量2D小游戏和可玩式广告所需的工具,创建出的游戏安装包非常之小,可以在各种移动设备上快速启动。
《Tiny Arms Revenge》是一款使用Project Tiny创建的即时小游戏,首次传输会下载969KB的压缩数据来启动游戏,包括:162KB为引擎数据,199KB为游戏代码,597KB为美术资源,在游戏运行时会额外加载861KB的音频文件,最终整个项目的大小为1.8MB。
预览阶段
目前Project Tiny仍处于预览版阶段,在明年正式发布之前,它仍是未完成的产品。在预览阶段,我们将收集大量的用户反馈,以确保功能集,工作流程,性能和稳定性满足用户的需求。
我们计划在正式发布前进行大量迭代,因此非常期待得到反馈以便改进产品。我们欢迎开发者在开发中使用该产品,但请注意,Project Tiny仍处于预览阶段,后续开发可能会改动目前的功能。
功能
Project Tiny通过使用模块化架构进行构建,因此你可以自行选择所要加入的功能。Project Tiny使用了纯粹的面向数据的ECS编程模式,可以使用较少的代码就实现高性能。
目前Project Tiny专注于构建即时2D游戏和可玩式广告。在未来的版本中,会添加额外的功能以构建即时性3D和AR的游戏和体验。
性能
面向数据的ECS架构可以实现卓越的性能。例如:在iPhone 6S上,Tiny运行时可以显示的移动动画精灵数量是其它面向Web的2D引擎的3~4倍,同时还能保持60 帧每秒的运行速度。在类似设备上,需要的引擎加载时间约350-600毫秒。
我们实现高性能的方法是,通过降低和在某些情况下移除引擎性能开销,从而在每帧为游戏逻辑留出更多时间。合理利用这一方法可以帮助你创作更丰富的内容,或在更多的设备上运行应用。
C#支持
Unity正努力为C#带来更高性能,例如:Burst编译器的开发。我们还让开发者在使用C#编程的同时,最终生成的代码量却很小。虽然Project Tiny目前使用Typescript代码来编写游戏逻辑,但它将在预览阶段中替换为C#。
使用C#,我们将能生成更少量的代码同时获得更好的性能,并提供改进的调试体验。我们还将能利用Burst等技术,即使面向Web进行构建也可以使用。请注意,当C#支持准备好后,我们将移除Typescript。
开始使用
Project Tiny通过名为“Tiny Mode”的资源包提供。安装时,请打开Unity 2018.3 Beta的资源包管理器,选择Preview Packages,然后安装Tiny Mode。
所有Unity的用户都可以使用该资源包,你可以在下载完成的预览资源包中找到Project Tiny用户手册,API文档和示例项目。