最近写了几篇其他的随笔与正文。好久没干正事儿了。
今天我们回归主题,在上一篇文章《简单聊聊游戏任务的基本设计流程》中,介绍了游戏中设计到的任务类型以及作用,那么这次就拿任务类型种最简单的【打怪任务】,来告诉大家一个游戏任务是怎么做出来的。
一、任务系统与任务
在了解任务是如何制作的之前,要先了解任务系统。
任务系统就是给用户使用的接受、执行、完成任务的一套应用界面。
这个界面里可以了解到任务的所有信息,通过这套系统,用户可以方便的管理自己的任务。任务系统如图
而所有的任务,都要依托任务系统呈现,所以在设计任务之前,要先设计任务系统。
不过本文不过多说明,在下一篇文章中,或着重说明任务系统。
二、任务实现的几种方式
任务的实现是一套体系化的实现方式,单纯的放在技术实现上,可以通过下面几种方法:
1、脚本
脚本是一种通过程序语言编写的执行程序,编写完成后,直接放入游戏中即可实现任务的功能。而脚本又分不同的语言编写方式,最常用的几种为:
Lua
Xml
Python
现在主流的,应该就是Lua与Python了
2、配置表
所谓配置表,是通过Excel制作成一张可配置的表格,通过程序的解析来读取表格内的内容。这相对来说比lua的学习成本低一些,也容易对其进行维护。
通过配置表的方式配置任务,需要与技术人员进行“字段”的约定。最后配置表将会转成jison文件,用于程序读取。
一般这种方式在网页游戏中比较常见
3、编辑器
任务编辑器,是游戏引擎配套的一种工具,一般为引擎自带,如unity 3D等都有配套的任务编辑器工具。
或者是某些大型公司自主研发的一整套完整的游戏引擎中带的。
一般通过软件录入相关信息,即可转换为脚本语言,此方法主要是学习成本低,录入效率高。
最后转换成的脚本语言,根据引擎需要会转换为xml、lua等不同的脚本语言。
三、设计一个任务
在从实现角度来做任务之前,要先规划出任务的相关要素,而这些要素及细节就要依靠策划平时玩的游戏数量以及个人的归纳总结为基础了。
3.1 任务的关键数据设计
那么,对于任务来说,有以下几点关进要素:
任务类型:收集、打怪、主线等等
任务编号:任务的唯一识别码
任务名称:任务的名字
任务描述:简述任务的目的
任务要求:完成任务所需要完成的目标
起始任务NPC:接任务的NPC,如果不需要NPC接取可以不填。一般NPC均填写NPC对应的ID
结束任务NPC:完成任务的NPC,如果是自动完成则不需要填写
任务流程:从任务触发,到任务对白,到执行任务,到完成任务的一套流程
目标:完成任务的目标是谁(可以是别的NPC、怪物)
目标数量:完成任务需要多少收集或杀死目标的数量
目标NPC:目标是NPC还是怪物
任务奖励:完成任务给的奖励
对话:接取、完成任务时的NPC对话
其他条件:等级要求?需要完成前置任务?性别限制?门派限制?是否可重复进行?有时效限制?
3.2 试着设计一个任务
根据以上几点任务中设计到的关键要素,我们来实际设计一个简单的打怪任务。
任务事件类型:杀死怪物
任务编号:100000018
任务名称:报仇雪恨
任务描述:帮付老头杀死10个工蜂。
等级要求: 5级以上
起始任务要求:无
起始任务NPC:付老头
结束任务NPC:付老头
任务流程:从付老头接任务,杀死10只工蜂。然后报告给付老头。
对话:
起始NPC赫伯特:
1. 前两天去采蜂蜜,不小心招惹到了它们,我被扎了很多包,去杀10只工蜂帮我报仇。(任务开启对话)
a. 我现在就去找。(接受任务选项)
b. 我对魔法没有任何的兴趣。(拒绝任务选项)
2. 你要找的目标在村子西边的树林里。(接受任务对话)
结束NPC赫伯特:
3. 你总算帮我出了一口恶气,现在给你一点东西聊表心意。(任务完成对话)
4. 快去帮我报仇吧!(任务未完成对话)
时间: 不限
可重复:否
目标:10个工蜂的翅膀 目标数量:10
目标NPC:工蜂
奖励:金钱100
3.3 编辑任务
设计完一个任务以后,我们就可以正式录入脚本了。
脚本的录入根据前边提到的方式,会有不一样,这里对编辑器录入的不过多说明。
只说通过配置表也就是excel来实现任务配置的
我们通过与程序员协商,规定任务表格规范与填写规范,然后我们通过Excel表录入任务。之后转成jison等程序可以解读的文件来完成任务的使用。
结尾
以上就是一个游戏任务的简单编辑过程,如果各位感兴趣,可以下载一个【RPG Maker】来自己做一款小游戏,里边可以通过任务编辑器,自己制作一个任务脚本。
其他文章推荐: