源码直接运行
游戏以 Python 脚本 `retux.py` 作为入口,安装依赖后即可启动。
matter-js · liabru/matter-js
Matter.js 是 JavaScript 编写的 Web 2D 刚体物理引擎,仓库主题涉及 canvas、physics、physics-engine、rigid-bodies。README 汇总官网、Demo、Gallery、插件、安装、用法、示例、文档和 Wiki,并列出混合形状、凹形 SVG、复合刚体、牛...
Retux 是一个以 Python 编写的开源游戏项目,仓库位于 retux-game/retux。当前仓库未提供一句话简介,README 的主要内容集中在「如何运行」以及面向开发者与打包者的构建说明上,因此本文只依据 README 中可核验的信息进行整理,不对玩法、画面风格或功能范围做额外推断。
从 README 可以看出,Retux 同时面向两类使用者:一类是只想直接游玩的玩家,另一类是希望从源码运行、参与本地化翻译或自行打包分发的开发者与打包者。项目以 Python 脚本形式直接运行,也可以通过冻结工具生成不依赖本机 Python 环境的可执行文件,这说明它在分发方式上做了较完整的考虑。
README 文件本身以 CC0 公有领域贡献方式发布,并声明「按原样提供、不附带任何担保」。
游戏以 Python 脚本 `retux.py` 作为入口,安装依赖后即可启动。
如果下载的是针对特定系统发布的版本,直接运行可执行文件即可,无需自行配置 Python 环境。
游戏支持传入命令行参数,在终端中使用 `-h` 可查看具体选项说明。
项目使用 gettext 体系管理翻译,源码仓库中的非英语语言需要先构建 locales 才能生效。
支持 PyInstaller 与 cx_Freeze 两种方式生成可执行文件,便于在未安装 Python 或缺少依赖的系统上运行。
运行环境要求
从源码运行需要 Python 3.8 或更高版本,并安装 requirements.txt 中列出的依赖。README 给出的安装命令为:
python3 -m pip install -r requirements.txt
依赖安装完成后,运行 retux.py 即可启动游戏。在多数系统上可以直接双击该文件;若系统弹出「显示还是运行」的对话框,应选择运行。
本地化构建流程
如果源码是直接从 Git 仓库克隆的,那么除英语之外的语言需要先构建 locales 才能正常工作。该步骤仅对开发者、翻译者或直接使用 Git 源码的打包者有必要。构建前提是系统中存在 msgfmt 命令(属于 gettext 工具集),然后在 data/locale 目录下执行:
./build.py
冻结为可执行文件
游戏本身是 Python 脚本,由解释器直接执行;但项目也支持通过工具「冻结」成可执行文件,以便在未安装 Python 或缺少依赖的系统上运行。冻结所需的依赖与从源码运行所需的依赖一致。
pyinstaller -F retux.py
-w 与 -i 参数):pyinstaller -Fw -i data/images/misc/icon.ico retux.py
生成的二进制文件会放在 dist 目录中,将其移动到游戏根目录后,运行效果应与直接运行 retux.py 一致;随后可以删除残留的 build、dist 目录以及 retux.spec 文件。如果 -F 选项不可用,或不需要单文件形式,可以省略 -F,此时会生成一个二进制文件及若干附属文件(包括共享对象文件),这些文件都需要移动到游戏根目录。
python3 setup.py build
该命令会在 build 目录下按架构命名的子目录中生成可执行文件及所需附属文件,全部移动到游戏根目录后即可运行。README 提到,一般情况下更推荐 PyInstaller,因为它更易用且在实践中表现更好;cx_Freeze 可作为 PyInstaller 无法工作时的备选方案。
综合 README 内容,可以整理出以下使用路径:
requirements.txt 依赖,运行 retux.py;需要查看参数时在终端加 -h。msgfmt,在 data/locale 下执行 ./build.py 构建 locales。README 未提供具体的依赖清单内容、支持的操作系统列表或版本发布渠道,这些信息需要到仓库中进一步查看。
对于希望借助该项目学习的读者,可以从 README 已经明确的方向入手:
requirements.txt 在可复现运行环境中的作用。data/locale 目录结构与 build.py 脚本出发,理解翻译文件如何被编译并在运行时加载。-w、-i 参数的意义。由于 README 未描述游戏玩法与内部架构,涉及游戏逻辑、渲染或关卡设计的学习内容需以仓库实际代码为准,本文不作推测。
该仓库为 Java 语言项目,名称 BuildGDX 由「Build」与「GDX」组合,推测与 B...
micropolisJS 是把 Micropolis(开源版《模拟城市》类城市模拟游戏)移植到 J...
《Dead Ascend》是一款手绘风格的 2D 点击式(point-and-click)冒险解谜游戏...
Hypersomnia 是 TeamHypersomnia 用 C++ 从零编写的一款多人俯视角(top-down...