Ace Attorney Approximation

逆转裁判风格的法庭剧情游戏,使用自己搭建的 C++ 引擎开发。还原了原版第一章《初次的逆转》的完整流程,包括对话、法庭辩论和交叉询问。法庭辩论部分还原了原版 的交叉询问机制,玩家可以对证词提出质疑或者出示证据反驳。系统会判断证据是否正确,错误时回到证词继续,正确时推进剧情。
我从零实现了一套流式对话系统。对话以自定义的纯文本脚本格式编写,用尖括号标签控制演出。标签涵盖角色立绘、背景、音效、屏幕特效、文字速度和流程跳转等。这些标签可以内嵌在文字中间,在打字机显示到该位置时精确触发,比如说到关键词时播放音效或晃动屏幕。
引擎的保留模式 UI 不使用第三方库。支持面板、按钮、标签、图片、网格和流式布局等控件,支持九宫格纹理渲染和锚点布局。
角色、证据、逐帧动画等资源定义全部通过 XML 数据文件驱动,对话脚本则使用自定义的纯文本流式格式。我还基于 Luban 工具二次开发了一个通用的右键导表选单,支持一键从 Excel 导出到 XML,全数据驱动的配置工作流很方便。