function LoaderMgr:addLoadMisson(sAbName, sPrefabName, callFunc)
看到同事的一段代码有感而发,随便聊聊他们在游戏编程扮演里的角色。
Quest
用到最多的表示任务的单词,接任务、做任务、交任务,说的都是它。
参考:EverQuest、DragonQuest以及Wow和之后所有类Wow的RPG中的任务等等。。
quest表示的往往是玩家从NPC那儿接受来的任务,上到国王下到村民,从杀人越货到种田采药无所不有,共同点也很明显,都是有报酬的,不然谁帮你这个素味平生的人的忙?
想象一下NPC交给玩家任务之后头上顶着的那个大大的question mark,把任务叫quest就很好理解了。
所以quest的关键词是:来自NPC的、有报酬的一份委托,用日语的说法,那叫“誰々からの依頼(いらい)”
Mission
mission本身就有任务的意思,而且这个任务往往有很强烈的使命感,只要出现,基本都是故事的主线。
参考:合金弹头的MISSION COMPLETE!,还有空中魂斗罗这个游戏,原名是FinalMission(最终任务)。
你无法从一个路边的NPC那里接到一份mission,因为mission形容的任务是一种包含了主角的使命和命运的任务,或者说是一次行动,mission可以在游戏里根本没有实体,只是在剧情里描述,所以mission很可能是没有报酬的,假如我们的主角是去拯救地球的,如此光辉的形象还要钱就不太好了。
所以mission的关键词是:主线、使命?此乃天命所归也
Task
除非做的是生产、经营类的游戏,否则我估计这玩意大部分情况下都不会在游戏本身的业务逻辑里出现,因为他描述的任务更像是一份被上级分配、布置下来的作业、工作、或者说差事。
参考:玩kof97的时候连招太华丽,画面渲染不过来就会出现taskover字样,还有.....任务管理器(TaskManager)?
比如说,安排一个计划任务,呆会干嘛干嘛,或者定时重复干嘛干嘛。再比如,分配一个加载任务、解析任务给某个具体对象去执行,完了回调等等。
所以一开始的那段代码,应该用的是这个单词。