1.代码架构从「继承extend」转为「组件component」
抛弃规划一切node到classtree层层继承的幻想,老老实实使用官方更推荐的挂载component模式。其实godot这种node与脚本分离的工具模式,在某种意义上也是一种继承,只不过没有在代码层面。
2.继续使用自定义的视差层作为视觉基底
其实也就是简单的根据玩家移动距离不同程度的移动不同的node层,原理简单但效果极佳
3.接入Sqlite的存档系统与数据库
先是尝试了一下常见的基于resource的存档系统,后续又改为使用Godot-Sqlite的数据库,毕竟java后端狗总是对数据库心心念念,具体实现为分开为只负责组装要存档数据的controller,以及只负责与数据库交互的saver。
sqlite目前阶段看性能完全足够,不过后续有待观察,毕竟文件锁,不过godot始终保持单线程的话应该问题不大,总应该比resource强吧。
4.定制化的Dialogue Manager气泡对话系统
依旧使用非常强悍的dialogue manager插件实现对话,除插件自带功能外的拓展:
- 可从任意位置弹出的对话气泡,多选项也整合进了气泡中
- 通过配置自动给不同角色的气泡进行配色
- 自动识别内容是否超出屏幕边界,将气泡方向镜像
5.Debug层
自定义Debug全局类负责所有打印与控制台显示
6.暂停菜单(主界面?)
难点在平滑相机切换,开了smoothing的相机调教起来还挺折磨的(目前背景图源自网络)
7.Player的技能UI与更新状态机
状态机新加了判断当前状态是切换sprite还是将当前sprite染色。
添加了受击状态与硬直和卡肉。
目前两个技能,一个暂时降低自身重力,另一个让自身短暂无敌(设定为增加密度),都暂时采用最简单的进度条展示冷却,希望最终的UI也能尽量像死亡空间那种一样融入游戏。
8.PixelOver绘制骨骼精灵图
感觉之前一天画6帧的自己是小丑
9.随机落叶
随即在不同视差层生成落叶,并且根据视察层的前后景深自动配置不同颜色与大小,随机物体生成模块与树叶分离,方便日后生成其他物体。
10.场景切换
目前有概率闪退,感觉和Nvidia的录制功能有关,欢迎各位下载demo尝试下是否有问题。
11.全局声音控制
播放背景音和一次性SE以及循环的SE,循环利用AudioStreamPlayer,并且支持控制跨场景继续播放与停止
最后附上视频,纯新人,欢迎各位吐槽~
暂无关于此日志的评论。