考试终于结束了,可以继续来写日志了。
首先写一下最近的开发进度:开始写音乐系统了。
音乐系统典型地说,可以分为三类:BGM SE Voice,分别代表着【背景音乐】【音效】和【人物语音】。
创建3个音源很容易,但是问题是何时调用的问题。
首先是【背景音乐】,出现可能性有2种:
- 游戏中:即非avg,很好理解,比如:进入养成操作时,进入推理选项时,音乐需要变化。
- 剧本:avg模式,这个就是在视觉小说里出现的,随着剧情文字的变化而变化。
【音效】同样是2种:
- 游戏中:基本是按钮的音效 或者是开场LOGO(哈喽酷狗)
- 剧本:比如敲桌子 嘈杂声 啊—— 等
【语音】:基本只出现在剧本中
以上的内容,出现在游戏中(非AVG模式)的非常容易,加在代码中控制就可以了。
问题是剧本中的部分,目前采用的是解析式剧情脚本。
也就是脚本按照一定的格式写,游戏会自动识别并执行内容。
目前还在努力攻克BUG中……
——汇报完毕——
上回说到哪里来着……我回去查一下……
十年后……[spoiler]
上回说到在设计完初稿后就可以开始动工了……
在有了上文的设计初稿后,我便正式开始了游戏编程。
且慢!准备工作还是有的。
游戏引擎
关于游戏引擎这一方面,当时 包括现在,现成的非常多,甚至可以自己开发。
比如说,我当时百度到的引擎有,Cocos2Dx,国产的白鹭引擎(都是Html5的)。
16年初,制作《星露谷物语》MOD(不务正业)的时候才知道,作者用的是Xmarin。
其实真正决定下来用Unity3D的一大原因是:[spoiler]我只会c#
好了,由于Unity3D是一款3D游戏的引擎,但是我做的又是2D游戏,怎么办呢?
当时是怎么考虑的呢?首先,我试着建立了一下Unity的工程。
然后发现是可以放入一个2D的物体的(比如一张图片)
在调试的过程中,我发现只要摄像机正对着这张图片,会产生与2D游戏一样的效果。
所以,设计思路也就来了:
- 固定摄像机的拍摄角度
- 将所有的2D物体,面向摄像机的视野
- 通过控制其在3D场景内的位置,造成2D游戏的假象
其实可以理解为投影,玩家看到的只是3D空间内的物体投影到某一平面的内容。
NGUI
于是乎便找到了NGUI这个插件。
从游戏上讲,3D游戏也是会有2D的UI的,利用NGUI插件,可以非常方便进行开发。
(不过现在想想,如果利用2DToolKit会更好也说不定……)
最后的决定是这样制作,留空3D场景,所有的变化都在NGUI内进行。
正式动工了
根据之前我设计的图纸,可以正式开始动工了。
(安装NGUI/Unity、NGUI的插件介绍不在这里展开)
首先要设计的是各个模块
根据多年玩别人的游戏经验,我要的每个游戏模式之中,都是可以或多或少从其他模块切换的。
也就是说,从UI上看,我设计的时候,需要将每个UI单独分层。比如:
- AVG
- 调查
- 对话
- 询问
- 推理
- 养成
- 大地图
- 系统菜单
然后我对每一层进行单独的设计,互相不干涉。
当游戏进行的时候,自然是在上述的UI中互相变化(一个隐藏另一个显示等)
但是呢,我设想的AVG的内容包含:对话框 人物立绘 背景按钮
注意:人物 背景 是会大量重复利用的部分,所以这里需要进行特殊处理,
将会大量重复的部分提取出来,而单独成立一个分层。
所以对分层进行了优化再设计:
- AVG
- 养成
- 大地图
- 菜单
在AVG下方安排:
- 背景
- 人物
- 调查
- 对话
- 询问
- 推理
类似这样的UI设计。(未完待续)
暂无关于此日志的评论。