📋 知识地图
说明:✅ = 已有覆盖(可继续深化) ⬜ = 待扩充
一、Ren’Py 引擎基础
- ✅ Ren’Py 是什么(基于 Python 的跨平台视觉小说引擎)
- ⬜ 安装与环境搭建(SDK 下载、项目创建、启动器使用)
- ⬜ 项目目录结构详解(game/ / images/ / gui/ / screens.rpy / options.rpy)
- ⬜ Ren’Py 版本管理(8.x vs 7.x 差异)
二、剧本脚本(Script)核心
- ✅ 角色定义(define Character)
- ✅ 对话系统(say 语句)
- ✅ 标签跳转(label / jump / call / return)
- ✅ Python 嵌入($ 前缀、Python 块)
- ✅ 变量与条件判断(default / if 语句)
- ⬜ 多语言 / 翻译系统(translation 文件生成与管理)
- ⬜ 剧本分支与多结局管理
- ⬜ 章节拆分与多 .rpy 文件组织
三、图像与显示系统
- ✅ 图像定义(image)与显示(show / scene / hide)
- ✅ 图像属性系统(tag + attribute)
- ✅ 位置控制(at left / at right / 自定义位置)
- ✅ 转场特效(with fade / with dissolve / 自定义转场)
- ⬜ Live2D / Spine 动态立绘集成
- ⬜ 图层(layer)体系深入
- ⬜ 动态图像(ATL:Animation and Transformation Language)
- ⬜ 视频播放(movie 显示组件)
- ⬜ 摄像机控制与画面变换
四、音频系统
- ⬜ BGM 播放与控制(play music / stop music / 淡入淡出)
- ⬜ 音效(sound vs voice 的区别)
- ⬜ 音频格式支持(ogg / mp3 / wav / opus)
- ⬜ 多条音轨混合与音量控制
五、菜单与 UI 系统
- ✅ 基础选项菜单(menu)
- ✅ 条件选项(if 控制菜单项显示)
- ⬜ 自定义 GUI 样式(gui.rpy 详细配置)
- ⬜ Screen 语言系统(screen / hbox / vbox / textbutton / bar 等)
- ⬜ 存档/读档界面定制
- ⬜ 设置界面(音量、全屏、文本速度)定制
- ⬜ 自定义对话框外观
- ⬜ 画廊(CG Gallery)与音乐室实现
- ⬜ 流程图/关系图界面
六、存档与持久化
- ⬜ 存档机制原理(save / load / autosave)
- ⬜ 持久化变量(persistent)与多周目数据
- ⬜ 存档兼容性(版本升级后存档不丢失)
七、Python 集成与高级脚本
- ⬜ Python 代码块(init python / python early)
- ⬜ 自定义 Python 类与 Ren’Py 交互
- ⬜ 外部 Python 包的使用
- ⬜ 网络请求与在线功能(爬虫集成、排行榜等)
- ⬜ 小游戏嵌入(用 Screen + Python 实现)
八、动画与特效
- ⬜ ATL(动画变换语言)详解
- ⬜ transform 自定义动画
- ⬜ 粒子效果与屏幕特效
- ⬜ 过场动画(opening / ending movie)
九、打包与发布
- ⬜ Windows / macOS / Linux 打包
- ⬜ Android 打包(配置签名、Google Play 上架)
- ⬜ Web 版构建(HTML5 导出)
- ⬜ itch.io 发布流程
- ⬩ Steam 上架流程
- ⬜ 版本更新与 DLC 管理
十、素材制作管线
- ⬜ 立绘规格与导出规范(分辨率、格式、分层)
- ⬜ 背景素材制作要点
- ⬜ UI 切图规范
- ⬜ 字体授权与多语言字体选择
- ⬜ 音效/BGM 资源获取渠道
十一、实战项目
- ✅ 御坂游戏项目(早期 Demo 计划)
- ⬜ 完整短篇 GAL 从零开发记录
Ren’Py作用
Ren’Py是以python编译的支持安卓、pc、web的多平台GALgame开发引擎,具有脚本简单、支持广等优点。
脚本编辑
script.rpy脚本
1 | define s = Character('希尔维亚', color="#c8ffc8") |
Ren’Py游戏脚本详细
1 | 脚本 |
game目录下有多个.rpy文件组成。在Ren’Py启动时,会将.rpy文件编译为.rpyc文件。
python基础(略)
重要语句解释
1 | label loop_start: //jump跳转 |
控制图像
控制图像的四种语句:
- image - 定义一个新的图像(image)。
- show - 在图层上(layer)显示一个图像。
- scene -清空图层(layer),并可选是否在那个图层上显示一个图像。
- hide - 将图层(layer)上的某个图像移除。
- with - 用于图像切换,降低图像变化的突兀感。
1 | image eileen happy = "eileen_happy.png" |
控制菜单
1 | menu: |
GUI图形界面定制(暂略)
御坂游戏项目
嘛,目前缺立绘、缺场景素材、缺剧本,抽时间吧,看6月前搞不搞得出来个短剧本GALgame demo。