首页(yè)> 技(jì )术观点 > GameplayKit苹果手游开发工(gōng)具(jù)简析

GameplayKit苹果手游开发工(gōng)具(jù)简析

发布时间:2015-06-10

6月9日WWDC2015大会上,苹果宣布iOS 9将推出两个非常重要的手游开发工(gōng)具(jù)GameplayKiReplayKit,这两个工(gōng)具(jù)对于iOS手游开发者及欧美游戏视频相关领域可(kě)能(néng)会产(chǎn)生比较大的影响。GameplayKit开发工(gōng)具(jù)极有(yǒu)可(kě)能(néng)成為(wèi)今后iOS手游开发的主流工(gōng)具(jù),小(xiǎo)爱在这里向大家简单介绍下这款工(gōng)具(jù),有(yǒu)兴趣的iOS开发者可(kě)以尽早get新(xīn)技(jì )能(néng)。

GameplayKit是什么?

GameplayKit是一款帮助新(xīn)手开发者们在OS X和iOS平台创作(zuò)游戏的基础工(gōng)具(jù)和技(jì )术框架,它能(néng)提供游戏资源、模块、玩法设计以及系统规等方面的内容。GameplayKit主要是帮助开发者研发游戏的玩法并设计模块化组件、用(yòng)最少的努力做出可(kě)扩展的游戏架构,但不包括视觉渲染等功能(néng)。对于部分(fēn)资深开发者们来说,GameplayKit可(kě)能(néng)暂时还不是最适合自己的开发工(gōng)具(jù),支持多(duō)平台发布、功能(néng)更為(wèi)复杂的游戏研发框架或许会更适合。

初识GameplayKit

GameplayKit框架包含了一些独立的分(fēn)支系统,覆盖了游戏设计和研发的多(duō)个领域。

随机化(Randomization):使用(yòng)GKRandom协议、GKRandomSource以及GKRandomDistribution class,而且还有(yǒu)更多(duō)独特的subclasses来增加游戏玩法的不确定性,同时不需要以增加BUG调试量為(wèi)代价。

状态机(State Machines):使用(yòng)GKStateMachine和GKState class打造模块化的玩法系统。

Minmax Strategist:GKMinmaxStrategist class為(wèi)回合制游戏中(zhōng)的敌人提供AI设计,想要使用(yòng)一个Strategist的话,你需要用(yòng)GKGameModel协议以及相关协议来描述游戏玩法。

寻路系统(pathfinding):使用(yòng)GKGraph和GKGraphNode class以及它们的subclasses来為(wèi)你的游戏世界导航建模,并且為(wèi)游戏对象找到可(kě)以使用(yòng)的路線(xiàn)。

代理(lǐ)、目标和行為(wèi):GKAgent class提供模拟功能(néng)你可(kě)以通过GkGoal对象為(wèi)游戏单位定制化移动行為(wèi)规则,每一个class都為(wèi)一个代理(lǐ)自动跟随设计了高等目标。

规则系统:使用(yòng)GKRuleSystem和GKRule class打造复杂的游戏逻辑,包括模糊推理(lǐ)(fuzzy reasoning)以及应急行為(wèi)。

GameplayKit功能(néng)

GameplayKit提供一个实體(tǐ)组件架构,帮助你设计可(kě)以重复使用(yòng)的玩法代码,并為(wèi)解决复杂的面向过程的代码提供一个状态机系统(State Machine System)。GameplayKit还包含了一些随机化的工(gōng)具(jù),可(kě)以為(wèi)很(hěn)多(duō)种玩法提供基本的资源。

创作(zuò)一款优秀的游戏还需要使用(yòng)复杂的算法(algorithms)来解决很(hěn)多(duō)常见的游戏玩法问题。通过GameplayKit,你不再需要写自己的算法,而是可(kě)以直接使用(yòng)GameplayKit提供的资源,这样开发者就有(yǒu)更多(duō)的时间专注于把玩法做到更加独特。比如,你可(kě)以使用(yòng)Minmax Strategist功能(néng)為(wèi)回合制游戏打造AI系统、通过寻路功能(néng)為(wèi)游戏角色设计导航路線(xiàn),為(wèi)高等级的游戏角色设置自动行走或者使用(yòng)与代码分(fēn)离的规则系统并实现模糊逻辑推理(lǐ)(Fuzzy Logic Reasoning)。

由于GameplayKit在iOS和OS X系统中(zhōng)是独立于高级游戏引擎而存在的,因此你可(kě)以拿(ná)它与任何可(kě)以做一个完整游戏的技(jì )术进行整合,比如做2D游戏用(yòng)的SpriteKit、做3D游戏用(yòng)的SceneKit或者使用(yòng)Metal/OpenGL ES定制化的第三方游戏引擎。对于画质(zhì)要求不高的游戏来说,你甚至可(kě)以只用(yòng)GamePlayKit和(iOS里的)UIKit或者(OS X中(zhōng)的)AppKit直接创作(zuò)游戏。


ps:以上文(wén)字由爱加密翻译并整理(lǐ)自网络,内容参考苹果官网《GameplayKit参考和编程指南》,开发者对GameplayKit工(gōng)具(jù)感兴趣可(kě)以在苹果官网详细了解。

加入收藏