商业游戏功能分析-游戏中的任务系统.ppt
商业游戏功能分析,游戏中的任务系统,学习重点:游戏的任务系统和任务编辑器。,学习目标:了解游戏中的任务系统,以及一些游戏任务系统开发的常识。,1.1 任务系统设计概述,任务已经是MMORPG游戏中必不可少的一个部分,在很多的单机游戏,甚至休闲游戏中,任务概念也逐渐被引入。作为游戏设计人员,要设计一个功能模块必须先要了解这个模块的作用、使用者是谁、需要用到哪些资源和技术、如何维护和升级等因素。这节课将从任务系统存在的意义和作用、系统模块构成、系统如何设计等几方面阐述如何设计任务系统。,1.2 任务系统的意义,1新手任务:新手任务意义在于鼓励初到平台的新用户了解基本的操作、积累初始的财产、建立朋友圈等等这些值的怀念的东西以保证二次登陆率。,1.2 任务系统的意义,2持续游戏的原因:一个目标不够明确的用户,其心态是浮躁的,容易被偶然的失败所打击,从而中断游戏。任务系统为用户确定目标,引导用户持续游戏。,1.2 任务系统的意义,3向导作用:有的游戏中设定了很有趣的功能或者是有特点的地方,但是玩家不一定会发现,通过任务系统就可以带领玩家发现这些有趣的点子。,1.2 任务系统的意义,4经济调控:游戏中一个新用户的成长,是伴随着信心和财 富的增长向上发展的。,1.3 任务系统介绍,在不同游戏类型中的任务系统也不一样,但是对于程序设计而言,主要涉及的是以下几个方面:(1)任务数据的输入(2)任务数据的存储(3)任务数据的管理(4)任务数据的读取,1.3.1 任务数据的输入,任务数据是通过任务编辑器保存到数据库中的。任务编辑器是由程序员编写,提供给任务策划的专业工具。,任务数据保存在数据库中,可以作为数据库的介质很多,有专业的数据库Oracle,DB2,SQL server等,也有轻量级的数据库如MySQL,PostgreSQL,Access。简单方便的XML甚至Txt文件也可以作为数据库。,1.3.2 任务数据的保存,任务的管理是任务管理系统的核心。它负责获取任务、组织任务,发放任务。它的作用相当于一个数据库管理软件。,1.3.2 任务数据的管理,任务的读取功能是面向玩家的,也就是玩家常说的“接任务”。这部分模块的主要作用是根据玩家信息,通过特定的NPC或UI界面向任务管理模块发送任务请求。将得到的返回信息发送给玩家。,1.3.3 任务数据的读取,1.4 任务系统设计,任务数据中心,任务编辑器,策划,任务管理系统,玩家,NPC,UI面板,1.4 任务系统设计,5.4.1 任务编辑器的设计。在系统设计之初,负责软件开发的程序员先要确定游戏开发所需的数据库类型。然后根据数据库开发相应的任务编辑器提供给策划人员。所选择的数据库是根据游戏规模而定的,切不可一味的追求技术高端的产品。对于小型、微型游戏采用文本数据库或者Access 数据库都是一个不错的选择。这类数据库编程难度小,维护方便,适合快速开发。中小型游戏,特别是希望在网络上应用的网络游戏可以选择MySQL这样的网络数据库。工具开发人员制作的任务编辑器首先要根据策划需求进行设计。考虑到策划人员的工作量繁重,软件界面要求简洁、方便、直观。尽量提供多的选择功能减少文本输入。功能要丰富,但不要过于复杂。,以下就是一个任务编辑器的界面。,1.4 任务系统设计,1.4.2 玩家在NPC处“接任务”流程处理。玩家从某个NPC接任务,首先接任务模块要判断角色到NPC的距离,然后是是否满足任务条件,如果满足则在对话框中显示相应的任务列表。,1.4 任务系统设计,玩家在NPC处“接任务”流程。,玩家1.等级2.任务历史3.特殊条件,NPCNPC特有任务1NPC特有任务2NPC特有任务3NPC特有任务4节日任务系列任务情节任务,数据库,1.4 任务系统设计,在有的游戏中,设定了节日任务或者专属任务,他们不依赖于NPC,可以从UI界面上直接获取并申请任务。,1.4 任务系统设计,玩家在GUI界面“接任务”流程。,玩家1.等级2.任务历史3.特殊条件,UI界面节日任务系列任务情节任务,数据库,1.4 任务系统设计,当玩家申请任务的时候,任务管理器收到请求。根据请求的条件查询对应的服务。然后任务管理器将把任务以ID的形式发给任务界面。任务界面再根据任务ID从数据库中查询任务名称和任务描述,并将结果显示到GUI界面上。,1.4 任务系统设计,玩家在GUI界面选择接受任务或者不接受任务。如果接受任务,那么任务管理器就要对玩家的任务信息进行更新。,1.4 任务系统设计,1.4 任务系统设计,当玩家完成任务的时候,又需要通过NPC或者GUI面板提交申请。这个时候任务管理器负责查询满足任务条件。如果满足任务完成条件,则会发送任务完成消息,并再次更新玩家任务信息。,1.4 任务系统设计,1.4.3 任务编系统的设计。根据对任务流程的分析,任务系统的工作流程基本上已经有了思路,接下来通过对各个模块的功能划分成类。,1.4 任务系统设计,在GUI方面也有任务面板的专门设计。,任务UI接口类中部分代码。,1.4 任务系统设计,游戏项目中,任务类的功能是非常丰富的;在设计任务类的时候,除了要考虑到功能之间的独立性和方便性,还要考虑到易扩充性。TaskProcess类 部分代码。,1.4 任务系统设计,TaskProcess类 部分代码。,1.4 任务系统设计,小结,通过今天的课程,同学对任务系统有了基本的概念和了解。这节课主要讲述了任务系统模块和任务流程的实现。涉及到的知识从C+基础语言、逻辑处理、文件读写、数据库管理到GUI界面还有win32桌面工具开发等。任务系统是一个复杂的系统模块,需要扎实的基本功和广泛的知识面。以后程序设计专业课程将会去实现任务系统,希望同学们在前期认真学习基础知识,在学习完任务系统以后可以设计出自己的任务系统。,