【开发复盘】2021网易游戏高校MINI-GAME挑战赛作品《戏幕未落》
欢迎大家给我们投票! https://game.academy.163.com/event/mg?page=works&id=2443
依旧是主程,这次逻辑需求大概分为基本操作、对话系统、拍照系统、演绎系统四个方面。
基本操作
初期为2d横板探索,之后修改为2d+3d探索,主要交互为对话触发剧情、特色为拍照系统与演绎系统。
同上一个项目一样,3d场景+2d人物,添加了z轴移动,当然是有范围限制的。
鉴于上一个项目的经验,这次直接给2d人物添加阴影。
对话系统
对话用的框架被我大改特改,因为这次没有涉及到大量对话,所以没有用到excel来进行序列化,而是直接将剧情写在代码里当作字符串使用了。
同时这个对话框架还是问题很大,市面上的商业文字游戏标准是十分的话,我手上的框架就只是二三分的水平。体量太大或者太小都不适用,也不安全。协程控制的一些效果也会有冲突。
得想办法升级一下啊。
拍照系统
其实就是找个camera来渲染画面,只渲染人物动作和场景,不渲染UI和其他乱七八糟的,然后在左下角加个游戏的logo,这样还可以分享照片达到游戏社交的效果。
代码上就是用rect来控制宽高,然后创建一个Texture2D,将数据写入文件就好。
演绎系统
因为大赛主题为“戏”,所以这个系统比较重要,大概分为三块。
第一块:剪裁
大概意思就是在纸上剪个小人出来,会给你轮廓,然后需要玩家沿轮廓画线把小人裁出来。
程序实现上有两处:画线和范围判定。
画线借鉴了油管的该视频
范围判定我没什么好的想法,就是在轮廓上取了十几个点,然后每帧计算鼠标坐标距离这些点的位置,最后鼠标松开的时候求个平均值来划范围。显然这也太蠢了,但我确实没什么好办法5555,其实如果多取几个点,取上百个点的话说不定会好一点。
然后就是用DoTween进行一个动画的放~
第二块:涂色
我管这个叫刮刮乐,就是两层,上面一层当作蒙版,鼠标在上面拖动就会擦除像素点,这段代码借鉴了这里并加了一些修改。总之是可以判断刮了多少范围,然后进行事件的触发。
第三块:拼图
这个就比较简单了,简单的拖拽游戏。(原本策划说要可以随机摆放,我嫌麻烦给改成固定位置了)
一些记录
- 这次用到了DoTween插件,我觉得可以用在对话框架里代替原本的一些渐入渐出啊移动之类的效果,真的很方便!
- 果然游戏是不可以缺少音乐音效的,我一直打比方说如果一款游戏是个人,那么策划就构成了游戏的形体,美术组成血肉与皮肤,程序则负责搭建起骨架和神经。现在我要把音乐也加进去,音乐就是这个人的灵魂!!
- 项目管理出了点问题,到最后加班的时候我电脑里素材乱七八糟的很难找到需要的东西。
- 最后差点做不完,可能我又要拼场景又要挂脚本吧,但是我觉得还是脚本写的不够优雅。很多触发事件都可以再精简一点,抽象成同一套机制。而且对话机制也需要修改一下。我需要找时间改一套自己的工具箱,可以拿出来就用。
- 研究一下DoTween的源码,手上还有一套TBS的简单框架也研究一下,回头写个博客。
- 就先这样
欢迎投票https://game.academy.163.com/event/mg?page=works&id=2443