WechaRun · Jia1267/WechaRun
WechaRun 是一款用原生 JavaScript 与 Canvas API 编写的微信小游戏,玩法为三车道无尽跑酷,主题为“上班族冲刺”。仓库描述与 topics 显示其定位为微信小游戏与 Canvas 游戏开发示例。注意:仓库 README 摘录内容为 Ren'Py 视觉小说引擎...
Ren'Py 是一款开源的视觉小说(Visual Novel)引擎,官方站点为 renpy.org。它面向文字冒险、剧情向游戏以及类似风格的互动作品,目标是让创作者把精力放在叙事与演出上,而不是从零搭建底层框架。仓库 renpy/renpy 是引擎本体的源码仓库,包含引擎运行时、开发脚本、文档源文件以及构建相关配置。
README 开篇即给出官方网址,并说明本仓库的分支组织方式,因此阅读本仓库时,首先需要理解分支模型,再决定从哪里获取代码、向哪里提交改动。
Ren'Py 依赖若干用 Cython 和 C 编写的 Python 模块。README 明确指出:如果改动只涉及 Python 模块,可以直接使用最新 nightly 构建中的模块;否则需要自行编译这些模块。
开发脚本可在 Linux、macOS 和 Windows 上运行。构建系统方面,setup.py 不支持交叉编译;需要为多平台交叉编译 Ren'Py 时,README 指向 renpy/renpy-build 项目,该系统还包含面向 Android、iOS 和 Web 的部分运行时组件。
在其他平台上,Ren'Py 会尝试通过 pkg-config 查找头文件目录与库路径;若没有 pkg-config,可用 CFLAGS 与 LDFLAGS 指定。若环境中存在 RENPY_CFLAGS 而 CFLAGS 不存在,setup.py 会把 CFLAGS 设为 RENPY_CFLAGS,RENPY_LDFLAGS、RENPY_CC、RENPY_CXX、RENPY_LD 同理。
nightly 构建可从 https://nightly.renpy.org 下载,最新构建位于列表底部。解压后进入本仓库并运行:
./after_checkout.sh <path-to-nightly>
脚本完成后,即可按平台使用 renpy.sh、renpy.app 或 renpy.exe 运行 Ren'Py。若当前 nightly 不可用,README 建议等待 24 小时获取新构建;若仍不可用,可联系 Tom(pytom at bishoujo.us,或 Twitter/X 上的 @renpytom)。在文档构建完成前,doc 符号链接会处于悬空状态。
在 Ubuntu 与 Debian 上,可用以下命令安装依赖:
sudo apt install python3-dev libassimp-dev libavcodec-dev libavformat-dev libavutil-dev \
libswresample-dev libswscale-dev libharfbuzz-dev libfreetype-dev libfribidi-dev \
libsdl3-dev libsdl3-image-dev libpng-dev pkg-config
README 强烈建议使用包管理器创建虚拟环境并管理依赖,并说明已用 uv 测试过,其他包管理器同样可用。创建虚拟环境并安装依赖后,编译扩展模块并运行:
uv sync
./run.sh
Windows 上 run.ps1 与 run.sh 作用相同。使用前需要 llvm-mingw:从 llvm-mingw 的 releases 下载 llvm-mingw-*-ucrt ZIP,解压并把其 bin 目录加入 PATH。还需要 windev 目录:可从 current-8 nightly 构建下载 renpy-*-windev.zip 并解压到检出目录根部,生成 lib\py3-windows-x86_64\dev。在 fix 分支上工作时,应改用 current-8-fix nightly 构建,不要混用 master 与 fix 的归档;若编译失败,重新下载对应分支最新的 windev 归档并再次解压。随后在 PowerShell 中运行 ./run.ps1。
README 用较大篇幅说明分支用途,这是参与 Ren'Py 开发的关键前提:
fix 分支:用于当前版本的修复,且不包含危险改动;同时它也是 https://www.renpy.org/ 上文档的来源。该分支会被定期自动合并进 master。包含修复或文档改进的 Pull Request 应提交到 fix 分支。当发布功能版本(例如从 8.6.x 到 8.7.0)时,master 会被复制到 fix,修复版本从该分支发布。master 分支:主要开发工作所在,最终会成为 Ren'Py 的下一个版本。包含新功能、需要不兼容改动或对内部实现有较大调整的 Pull Request 应指向 master。功能版本从该分支发布。work/ 分支:存放计划合并进 master 或 fix 的工作,命名需以 work/<username>/ 开头,多人共享的工作使用 work/shared/。仓库有 GitHub 规则强制新分支必须以 work/ 开头。history/ 分支:包含因各种原因未出现在 GitHub 界面中的提交。构建文档需要 Ren'Py 可运行(链接 nightly 或按上文编译模块),并需要 Sphinx 文档生成器。若 pip 可用,可安装:
pip install -U sphinx sphinx_rtd_theme sphinx_rtd_dark_mode sphinx-tabs
安装后在检出的 sphinx 目录运行 ./build.sh。文档由 sphinx/source 中的 reStructuredText 文件与散落在代码中的函数 docstring 生成;不要直接编辑 sphinx/source/inc 下的文件,它们会被覆盖。docstring 可在前几行使用 :doc:、:name:、:args: 等标签控制文档归属、名称与参数列表。
关于启动器与模板游戏的翻译最佳实践,README 指向 Lemma Soft 论坛的一篇帖子。
完整许可条款见 https://www.renpy.org/doc/html/license.html。向 Ren'Py 贡献即表示同意以 MIT 许可授权你的贡献。贡献时可以选择保留贡献的版权(需在修改文件的版权声明中写明 “Copyright (year) Your Name ”),或将贡献版权转让给 Tom Rothamel pytom@bishoujo.us(未另行说明时视为默认)。
fix,新功能与不兼容改动走 master,实验性工作放在 work/ 下。sphinx/source/inc 为生成目录,应修改源文件或 docstring。
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...