失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【游戏开发】视觉小说休闲游戏

【游戏开发】视觉小说休闲游戏

时间:2019-10-10 01:20:29

相关推荐

【游戏开发】视觉小说休闲游戏

前言

这个游戏,最开始的设想的玩法是 Galgame + 回合制战斗 + 角色养成。

但是一开始只是有个模糊的设想,没有设计的很详细,特别是养成模块的数值体系。

还有回合制战斗又是这个问题,美术资源不好准备,需要画战斗角色的八向图,但如果八项图都有了,为什么不加个RPG探索场景嘞,实际这也是一开始期望的。

但是呢,八向图搞不出来,所以回合制战斗只能放弃了。

数值养成呢,一开始啥都没设计,只是想着有等级和技能,利用好感度可以提升等级,解锁新技能。但是都没战斗了,这些数值貌似也没意义了。

没有了战斗,不能整个游戏都是对话吧,虽然也有纯剧情的Galgame游戏,比如《三色绘恋》。

但是人家的剧情和动画都做的好呀,咱这要啥啥没有,虽然不指望卖钱,但是也不能太寒碜不是。

于是仿照其他Galgame游戏,做了休闲小游戏,现在只做了三消和泡泡龙,最终就成了 视觉小说+休闲小游戏 的形式了。

虽然现在剧情不多吧,算是把框架搭起来了,做到后面,全是UI操作了,现在是对UI很熟悉了,感觉再做下去也是一直调UI,所以就先到这里吧。

至于剧情…再说吧。

功能实现

GameFramework

这个游戏使用GF开发,也是第一次使用这个框架,边用边学。

这个框架的教程已经有很多,看懂官方例子就差不多了,我暂时就不瞎写了,等之后看过源码后再说两句,先TODO。

剧本(任务系统)

这个模块主要是想剧情怎么推动,剧情推动目前只有两种展现方式:剧情对话,剧情推动限制(任务)。

剧情对话很好理解,就是人物间的对话、动画等。

剧情推动限制比较多样,如果只有剧情对话,就太单调了,所以要加一些其他内容,完成这些内容才能继续推动剧情,实际就是任务。

使用配表数据驱动的方式,要根据需求,先设计好表格数据。

先想需要什么表,故事分为卷和章节,一个章节中可能有多段对话,多个事件,这就需要卷表、章节表、故事段表、对话表,其中卷表里指定卷的章节内容,章节表里指定这一章中都会经历哪些段,段表里指定这一段要做什么,如果是对话,对话内容是什么(即对应对话表里的内容)。

对话表,需要对话内容,说话的人,其他的人,等等。

根据这些需求,设计表内容如下。

故事卷

故事章节

故事段

其中主要是故事段的设计,有三个回调,分别是进入时的触发事件、进行时判断是否满足完成条件、完成后的响应。

任务进行时的伪代码如下

if (有正在进行的段){if (第一次触发) // 未触发过{触发事件回调;}else{bool res = 是否完成;if (res) // 已完成{完成回调;}}}

其中事件的类型和完成条件的判断可以根据情况有多种,例如有Tips,显示提示。Dialog,进入对话。

完成条件中,DialogEnd就是对话结束就完成了,GameComplateOnce是完成一次小游戏,如果有其他需求,就可以添加新类型。

从扩展性上来说,这里应该用反射来实现,简易性上来看,用switch根据类型参数进行不同的处理也可以。

这个表设计的还不是很通用,根据这个游戏有特定的设计,比如对话开始id,一开始设计的只有对话一种事件,所以就单独当一个字段了。还有后面的DiaryTips,是对这一段内容的总结。

目前事件也只能指定一个,理应是要支持多个事件的,比如完成事件里,既要提示,又要发放奖励。

这个流程,实际就是一个任务系统,控制任务的推进,触发、完成、发放奖励的控制等等。

对话

对话界面和对话表要根据游戏内容设置,这里界面是三个人物位置,底部对话内容,所以设计表如下

对话界面有三个人物位置,根据配表内容显示

总之就是更加配表控制对话内容,背景图片,人物图片。

三消小游戏

【GamePlay】三消核心算法

泡泡龙小游戏

泡泡龙核心算法

截图

这个两边还有点黑屏,是因为手机分辨率太宽了,UI又用了stretch,现在想想UI可以不用stretch,留点黑边也没什么。这个不修改了,就这样吧。

如果觉得《【游戏开发】视觉小说休闲游戏》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。