🎮 ngal - 终端视觉小说引擎
https://github.com/nasyt233/ngal
ngal 是一个用 Rust 编写的终端 Galgame(视觉小说)引擎,让你在命令行中体验分支对话的乐趣。
双边框 UI、图片立绘、背景音乐、角色语音、选项分支、存档/读档功能,并会自动创建项目所需的目录和默认剧情文件。
✨ 功能特色
-
🎨 华丽彩色标题 – 主菜单显示渐变色艺术字,带星形装饰,支持自定义 Logo 图片
-
🖼️ 图片立绘 – 自动加载
assets/portraits/目录下的角色图片,居中缩放显示,无图片时回退到 ASCII 占位 -
🎵 背景音乐 – 支持场景内动态切换 BGM,音量可独立调节
-
🎤 角色语音 – 每句台词可指定独立语音文件,支持自定义音量
-
📜 极简剧情编写 – 支持
说话人:文本:语音超简洁格式,无需编写 JSON 对象 -
💾 存档/读档 – 随时按
S保存,按L加载(存档保存在save/save.json) -
🕹️ 自动播放 – 可调节播放速度,解放双手自动推进对话
-
📜 历史记录 – 按
H查看最近对话,支持鼠标/键盘滚动 -
⚙️ 设置菜单 – 独立调节 BGM 和语音音量、自动播放开关及速度
-
🖱️ 鼠标支持 – 支持鼠标滚轮滚动菜单、鼠标点击选择选项
-
📝 自定义底部提示 – 主菜单底部可显示自定义文本
-
🛠️ 自动初始化 – 首次运行自动创建所需目录和默认配置文件
-
⌨️ 简单操作 – 方向键/鼠标选择,回车/空格确认,ESC 返回,
q安全退出 -
🔒 安全退出 – 无论正常退出、按
q键、选择“退出”菜单还是意外 panic,终端均能恢复,不留控制字符 -
📦 纯 Rust 实现 – 基于
ratatui、crossterm和image库,轻量且跨平台





