-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
框架使用语言:C#
演出脚本使用语言:GDScript
NovaScript(流程图定义+剧情文本+演出脚本)格式:就用原来的,但是把演出脚本的Lua替换成GDScript
- NovaScript parser
可以先不parse演出脚本- 由于Godot不能分割asm,第三方插件可能无法使用?
- 演出脚本使用gdscript
- 所有C#类需要继承GodotObject才能被gdscript使用(直接继承RefCounted即可)
- 如果是struct之类的东西需要从
Godot.Collections.Dictionary转换
- 基本的
GameState- 标题界面+开始游戏按钮
- 对话框
- GameState
Godot不需要Unity的DontDestroyOnLoad,所以不需要写一个NovaCreator然后用它加载NovaControllerNovaController直接改成单独的Node即可- 不考虑Scene切换的问题
GameState之类的东西可以不做成Godot的node,而是直接让NovaController拿着引用- 所有的Singleton都改成从
NovaController初始化 - 如果某个Singleton需要被演出脚本使用,需要继承RefCounted
- 所有的Singleton都改成从
- 选项
- 演出脚本
- 可以先用print来测试
-
AssetLoader - 图片
- 从做第一个前端组件开始,考虑把前端(view)和后端(model)分离,演出脚本操作的是model,存档存的也是model,这样跳转和快进等功能会更方便
- 立绘合成系统
- Godot支持给不是power of two的图片加mipmap吗,支持的话很多东西就好办了
- qiankanglai在群里说过,如果立绘的图层先画前面再画后面,并且只有最后一层允许有透明,可以减少overdraw,但是不知道会不会影响mipmap https://github.com/qiankanglai/Nova/tree/sprite_comp
- 头像
- BGM
- Godot可以设置音乐的loop begin point,我们不用自己写了
- 音效
- 语音
- 动画系统
- 最好不要自己写,看看能用什么包
- 对话框的文字动画
-
CameraController - VFX
- 如果能用Godot现有的功能实现我们需要的shader variant和metadata,就不要自己写
- 转换shader名字的格式现在应该不用了
- 转场
- 加载场景(相当于
PrefabLoader) -
TimelineController - 视频
- 变量
- 脚本热加载
一个小目标:【下一部长篇作品】开始做演出之前,把演出系统基本做完,然后慢慢做UI
- 预加载系统
- 随意缩放窗口
- 对话框的完整功能
- 隐藏对话框
- 用脚本控制对话框位置、皮肤
- 对话结束图标
- 对话框动画?
- 多个对话框的支持等做完机械恋心应该就知道怎么做了
- 鼠标菜单
- 按照机械恋心的13个按钮来做
- 警告框
- 我感觉目前的Alert系统太over engineer了,可以直接把Alert和Notification拆成两个类,我们不会再加更多种类的Alert了(除非先重写窗口管理系统。。)
- 实践证明警告框的标题是不需要的,可以删了
- 通知框
- Nova里用了
VerticalLayoutGroup来控制通知框的竖直位置,但是它也会控制通知框的水平位置,可能会跟通知框水平移动的动画冲突,可以按机械恋心来做
- Nova里用了
- 存档系统
- 考虑重写
CheckpointSerializer,把全局存档分成三个文件,相当于不要自己搞链表,交给文件系统来搞
- 考虑重写
- 存档界面
- 先按机械恋心来做,对触摸屏和手柄的支持比青箱好
- 文本回顾界面
- 我们把
LogController的名字改成BacklogViewController吧,因为log这个词在其他地方用得太多了
- 我们把
-
ViewManager
存档界面和文本回跳做完之后,调试演出会更方便
- UI动画
- 设置界面
- 考虑手柄支持,可以把所有设置排列得比较整齐,像很多主机游戏一样
- 快捷键系统
- 图片鉴赏
- 机械恋心做完之后,我们可能会把图片鉴赏改成跳转到游戏里特殊的node
- 音乐鉴赏
- 手柄支持
- 立绘裁剪工具
- 自动语音
- 小游戏
- 有需求再做,没需求的话先把
GameState里的那些东西照搬过来
- 有需求再做,没需求的话先把
- I18n
- 有需求再做,【下一部长篇作品】估计没有需求
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels