在此次WWDC的游戏相关视频中,苹果再一次展现了它非凡的技术整合和持续创新能力。除了继续完善已有的2D游戏框架SpritKit, 3D游戏框架SceneKit和全新的图形渲染API Metal 外,今年还新增加了GamePlayKit,ReplayKit和Model I/O三个新框架。
GamePlayKit给游戏开发者带来了全新的游戏架构(“实体组件系统”)和一些通用模式(比如:状态机, Goal-agent-behavior 系统等),同时它还提供了大量游戏算法,比如寻路算法,模糊逻辑和规则系统等。
ReplayKit可以让玩家在游戏中录制游戏视频,并且可以添加语音评论,然后通过社交网络分享出去。
而Model I/O框架,主要是用来处理3D资源和数据,同时可以给一些资源做离线处理,提高游戏运行时性能。
SpriteKit新功能
SpriteKit是苹果在2013年推出来的2D游戏开发框架,它最初的设计很多来自Cocos2D-iPhone项目,特别是API方面,几乎和Cocos2D-iPhone没有差别。得益于此,Cocos2D用户可以用很小的成本转到SpriteKit上面来。
在去年的WWDC中,苹果推出了一系列重磅级功能特性:物理集成,XCode资源打包、实时编辑器,SceneKit 3D框架,Metal图形API等,这让SpriteKit成为了开发iOS/OS X平台上的游戏的首选游戏框架。
今年,苹果继续发力,添加了3个新的节点类型,同时还完善了整个游戏开发流程和工具链支持。
SKCameraNode
此类模拟游戏里面的照相机,它可以定义游戏的可见视图,同时它也是一个node,可以对它进行缩放,旋转和平移等操作。此类是开发者继去年 WWDC后最希望实现的功能,对于实现一些大地图的冒险类游戏和RPG游戏非常有帮助,可以给主角添加一个SKCameraNode子节点,然后游戏视角 就会跟随主角的移动而移动了。另外,游戏里面可以支持多个SKCameraNode.
SKAudioNode
此类可以实现基于位置的音效,环境音效和沉浸性音效。可以想像一下,一颗导弹向你的主角飞过来,声音由远及近,当导弹离你的主角很近时,甚至可以听到导弹尾部喷气的声音,这种游戏音效会给玩家带来非凡的听觉感受。
SKReferenceNode
此类是SpriteKit的一个亮点,它可以实现已有组件的序列化,支持数据驱动式的游戏开发。
配合XCode,序列化的组件可以被当作游戏资源在各个不同的工程和游戏里面重用。
而且它会自动Cache,同样的文件不会被加载多次。对于一些复杂的场景和组合动作序列,当需要重用它们的时候,SKReferenceNode是个大杀器。
Metal支持
目前iOS 9全面支持Metal,已有的SpriteKit游戏跑在iOS 9上面,不需要做任何修改即可享受Metal带来的性能提升。如果你的设备支持Metal,那么它就会使用Metal,反之则切换到OpenGL ES.
SpriteKit 相关工具
一个好的游戏框架离不开一个好用的工具支持,游戏开发者可以通过工具快速地进行迭代式开发。苹果一直致力于完善SpriteKit的工作流,让开发者可以更快速地开发游戏,同时让玩家可以不用关心技术细节,只需要专心游戏玩法即可。
今年WWDC XCode工具支持方面主要有以下几点:
资源分类( Asset catalog )支持,开发者可以更精确地控制不同设备使用的资源分辨率,最重要的是,玩家在下载游戏到设备里面时,只会下载与其设备分辨率匹配的资源。
按需加载资源,通过给不同的资源设备Tag,可以指定某些场景和关卡只加载特定Tag的资源。
XCode快速预览:支持在Playgound里面使用Swift编写一些测试代码,然后快速预览效果。不需要额外的编译,立马就可以看到API的使用效果,这对于测试一些API和验证一些想法非常有帮助。
2D时间轴动作编辑器:这个应该算是SpriteKit的大杀器了,它是一个功能完善的2D动作编辑器,可以支持实时预览动作效果,并且同时支持2D和3D。
数据驱动:SKReferenceNode可以让可重用的游戏组件数据化,让玩家可以用更少的代码来完成游戏开发。
小结:
整个SpriteKit在性能,工具和易用性方面都有了较大的提升,另外,配合SceneKit,开发者可以更容易地开发3D休闲类游戏了。
SceneKit新功能
SceneKit是苹果为了让游戏开发者更方便地开发3D游戏而推出来的,它支持iOS和MacOS X。
同时,它还完美支持粒子系统,物理集成和SpriteKit。今年,苹果改进了场景编辑器,同时对Metal的支持也更加完善了。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』