制作手札---RPG是怎样做成的 (四)
制作手札---RPG是怎样做成的 (四) |
发表日期:2007-01-17作者:[转贴] 出处: |
四月二日:对话系统
经常听见有人说“RPG游戏不就是一个小人在屏幕上走来走去,碰到了人就说两句话吗!”。虽然这种评价有点过于偏激,但是,也从一个侧面反映出了对话在RPG游戏的作用和影响。 客观的讲,人物对话是表现一个游戏故事情节的最直接、最有效方法!而其他的任何手段都无法替代它。例如:过场动画也可以表现游戏的情节和发展,但是,过场动画最适合的是烘托整个游戏的气氛,交代游戏发生的背景或是作为两段情节间的衔接。而在表现游戏中的生活细节、情节线索或是人物心态时,它的作用就远远不如对话了。 说到这里,我突然想说说近来关于游戏的一些感受。玩游戏也有几年的时间了,而在这几年玩过的游戏中,真正能让我难忘的经典之作好象并不多。而国内制作的更是寥寥无几(除《剑侠情缘》外基本上没有什么映像了),为什么这么多的游戏都不成功呢?我的最直接的感受就是粗糙!不是讲画面的粗糙,而是游戏细节的不合理。 举个例子:许多RPG中你可以随意进入别人家中翻箱倒柜而主人却毫不介意;敌人老窝里到处放有宝箱给玩家提供道具和强力装备……这都是不和理的地方。但如果说这些地方玩家们还可以接受的话。那么,当角色突然说出跟自己身份毫不相干的不伦不类的俏皮话时,我想这足以把你玩游戏的情绪破坏的干干净净。 所以想对国内游戏制作公司说一句:当你们在宣传新游戏的投入如何巨大、技术如何先进、规模如何宏伟……的同时,请不要忘了把最基本的地方做好,多体贴一下玩家吧! 好了,废话也说了不少,现在就言归正传。 一般来说,游戏中的对话数据是和执行文件分开的,用了一个单独的文件来存储游戏中的所有对话数据,这样的好处是:修改对话数据时不必重新编译源程序!哪数据的组织结构是怎样的呢?应该说还没有一个统一的规范,各个游戏有都自己的方法,但不论采用哪种方法,只要能够使其简单清晰就可以了。请看下面的例子:
例:这是一段主角和兵器店老板的对话摘抄:(摘自文件Talk.txt) =======兵器店====== [59999]; //老板 {是小飞刀啊,今天到我这里来想买点什么呢?}我随便看看!@; {我就知道你舍不得花钱,警告你不要打坏主意哦!}真是的!把我看成什么人了!@; {拿好了,欢迎下次再来!}还有下次,你就是请我来我都不来了!@; 第1行是注释,表明地点。 第2行的[59999]是兵器店老板的编号,在游戏中用该号码唯一标示兵器店老板。 第3行到第5行是三段对话,其中以 { 开头的话是老板说的,以 } 开头的话是主角小飞刀说的,每段对话用 @; 做结束标志。分析一下上述三段对话,我们不难看出:第1段话是小飞刀在买兵器之前和老板的对话;第2段是小飞刀没有买东西就要走,这时和老板的对话;而 第3段是在小飞刀买了东西后,他们说的话。 具体在程序中的过程是这样的:当小飞刀走到兵器店老板面前时,我们按下对话按钮,这时程序得知对话对象的编号是[59999](即是兵器店老板),然后在对话数据文件Talk.txt中查找[59999]这个编号,寻找的结果就是上面我们摘抄的内容。执行第1段对话,然后就转入挑选兵器的界面,退出时程序会自动根据小飞刀有没有买东西而执行第2段对话(没买)或是第3段对话(买了)。很简单吧?短短的三段对话就表现出了一次买兵器的过程,而且通过这些对话,还刻画出了对话者的性格特点,可谓是一举多得了! 这就是游戏中的对话过程,当然,我省略了其中的一些细节步骤,比如:怎样显示汉字、在什么位置显示等等。那是因为这些东西都很简单,自己翻翻书就可以了。
四月六日:打斗和升级系统 虽然"RPG"的字面意义“角色扮演游戏”和战斗似乎无关,但实际上,绝大多数的RPG都是有战斗存在的,因此,打斗系统就成为RPG系统中很重要的一环。通常在RPG中打斗和升级都是联系在一起的,所以就把它们放在一起介绍吧。先总结一下,现有的打斗方式不外乎有以下几种: 一、回合制:这是最古老也是最经典的一种,自RPG诞生它就出现了,而且一直到今天这种打斗方式还经常被采用。它的特点是:简单、轻松,给了玩家充分的时间来思考。而且凭借它的回合制特点可以做出非常华丽的画面效果,给人一种轻松、休闲的享受。不足之处是:缺乏紧张刺激的感觉、真实性不强。代表作有:《仙剑奇侠传》、《侠客英雄传》和《剑侠情缘》等。 二、战棋制:这种方式其实就是在回合制的基础上加入了类似棋盘的格子,人物可以走动,这种扩展带来的好处是:打斗时角色不是站在原地不动,然后你一拳、我一剑的拼血,而是可以玩出一些类似诱敌深入、个个击破的战术来。代表作是:《金庸群侠转》。 三、即时制;现在最流行的一种方式,最大的特点是打斗时不用切换画面,直接在主地图上进行,给人的感觉是真实、刺激。不过实现起来难度要大得多,国外的大型游戏公司比较喜欢采用。其中的《暗黑破坏神》是最成功的一个例子。 还应注意现在出现的一种所谓半即时的打斗方式,这其实也只是回合制的一种扩展,不应单独归为一类,代表作是《阿猫阿狗》。 我列举这些打斗方式的目的不是想说明它们孰优孰劣,而是想告诉大家当你在设计RPG的打斗系统时,应该根据自己游戏的特点来进行选择,不要盲目的追求一种所谓流行的方式,要知道今天的流行并不代表在明天也会受欢迎,只有不断创新的东西才有旺盛的生命力。 和打斗紧密相关的是升级,通常在一场战斗结束后,主角的经验值都会增加。而当经验值到达一定程度时,角色就升级了。这在程序实现上应该是非常简单的部分,但是很多游戏就是因为这部分处理的不好而大大降低了可玩性。为什么这么说呢?要知道我们玩游戏最希望碰到的就是和自己实力相当的对手,太强或太弱的对手都会使我们的兴致降低。所以在RPG中升级的快慢和幅度是一个相当难把握的尺度。必须通过大量的测试来调整,总之,一个原则就是不要让主角碰到的敌人和他相差太大。 以上就是打斗系统和升级系统的介绍,希望大家能够在现有的基础上不断创新,让我们RPG游戏更加好玩。 结束语: 好了,到次为止我们的RPG制作之旅也就告一段落了。如果你还有什么不清楚的地方或是有什么问题,就请通过电子邮件告诉我(wj77@163.net),或在我的主页面上留言(http://www.gpgame.com),我一定会认真回复的。 |
制作手札---RPG是怎样做成的 (四)相关推荐
- 制作手札---RPG是怎样做成的 (三)
制作手札---RPG是怎样做成的 (三) 发表日期:2007-01-17作者:[转贴] 出处: - 三月二十九日 至四月一日:场景显示及行走系统 如果说'消息处理'是整个程序的核心!那么'场景显示及行 ...
- 制作手札——RPG是怎样做成的
题目: <制作手札--RPG是怎样做成的> 备注: 作者:汪疆 成都金点工作室的首席程序员,你可以到他们的主页了解更多的情况. 文章以程序员的标准角度分析了一个RPG游戏所包含的各个部分. ...
- 金点工作室制作手札 :《圣剑英雄传之英雄救美》[ZT]
金点工作室制作手札 题目: <制作手札--RPG是怎样做成的> 备注: 作者:汪疆 成都金点工作室的首席程序员,你可以到他们的主页了解更多的情况. 文章以程序员的标准角度分析了一个RPG游 ...
- gif动图怎么制作?怎么把视频做成gif?
gif动图怎么制作?怎么把视频做成gif呢?我们经常可以看到很多有趣的动态图片,那这些动图gif是怎么做的呢?下面我就给大家介绍一下如果把一段视频做成gif. 首先我们这里需要的是用视频制作成gif, ...
- 短视频如何制作?教程分享,只需要四个步骤
短视频如何制作?教程分享,只需要四个步骤 现下来看,短视频仍旧是非常受人欢迎的,甚至很多品牌也都开始制作起了短视频,想要让更多人看到自己.而个人短视频作者也越来越多,有的是单纯的想要通过短视频记录自己 ...
- 【RPG Maker MV】RPG游戏《机器人养成记》制作笔记 - RPG Maker MV 界面介绍
上一节,我们已经完成了软件的安装和项目的创建,并成功的运行了游戏. 这一节我们将介绍RGP Maker MV的界面元素和基本的使用方法,让大家对软件有个基本的了解. 我们先回到软件的主界面,界面分成工 ...
- 小学四年级计算机制作月历教案,冀教版信息技术四上第1课《制作月历》教案1.doc...
冀教版信息技术四上第1课<制作月历>教案1.doc 文档编号:236346 文档页数:14 上传时间: 2018-06-03 文档级别: 文档类型:doc 文档大小:120.82KB 制作 ...
- HTML+CSS+JavaScript网页制作案例教程-黑马程序员-第四章课后习题(播放器图标)
黑马程序员编著的教材 HTML+CSS+JavaScript网页制作案例教程 第四章:播放器图标-课后习题参考代码 ........ 记得 关注,收藏,评论哦,作者将持续更新.... 我自己做的效果 ...
- CG动画制作——实训项目中期工作(四)
接下来就是动画中另一个工作量比较大的部分了,龙的动画k帧. 因为没法运用动捕设备为龙这种动物类运动进行模仿,所以这部分动画是由我们进行手动一点点k帧k出来的. 首先,龙的运动与人类是很不一样的,在ma ...
最新文章
- PowerPoint中的LinkFormat对象
- C#多线程学习之(五)使用定时器进行多线程的自动管理
- python中temp_python temp是什么
- oracle for循环
- 将传统 WPF 程序迁移到 DotNetCore 3.0
- 又是一年国庆假期最后一天
- ios中解决图片渲染问题
- 山大824计算机基础,山东大学2020年考研824计算机基础考试大纲
- Microsoft.mshtml.dll 添加引用及类型选择错误问题解决办法
- BuildTools下载地址
- AVFoundation音视频采集(三)
- Mysql命令大全——转自博客园 宁静.致远博客
- 华硕笔记本刷BIOS
- 为什么wps数字前面有撇号_excel表格中数据前有撇号-Excel 如何去除数字前面的撇号...
- 51自学网java壁虎_我要自学网JAVA基础4-26日历补充壁虎老师的完整代码
- Elasticsearch:使用新的 wildcard 字段更快地在字符串中查找字符串 - 7.9 新功能
- XDOC Office Server 发布 1.1.0 版本,支持 PDF 加水印
- 本科毕业设计(论文)外文翻译--采用多病人协调器集设计方法的远程温度监测装置
- ISO 26262中的ASIL等级确定与分解(转载)
- 趋势策略-三均线利剑