RMC是一款参考《Rotaeno》制作的音游。与传统的击打式音游不同,这款游戏通过旋转手机来让物件与判定点接触,从而实现音符的判定和得分的累积。
转到release页面下载最新安装包。目前支持Windows和Android两个平台。
理论上MacOS、Linux也可以支持,但我没有编译环境,有条件可以自行编译
Desktop版:方向键控制旋转,Ctrl键加速,Shift键减速
Android版:转动手机控制旋转
RMC支持osu!谱面,可从对应谱面网站上下载。
下载后,在游戏中选择“导入谱面”,会拉起系统文件选择器,选中刚刚下载的osz文件即可游玩。
项目由三部分组成:Godot、Rust和Android。要编译Desktop版,需要编译Godot和Rust部分。要编译Android版,需要编译Godot、Rust和Android三部分。
| 模块 | 用途 |
|---|---|
| Godot | 游戏主要逻辑 |
| Rust | 包含osz文件解析、转谱和视频解码逻辑 |
| Android | 包含Android重力传感器、加速度计数据获取,以及拉起Android原生文件选择器 |
项目使用Godot Engine v4.2.1.stable.official [b09f793f5]版本,直接下载对应版本即可。
为了避免不同版本GDExtension的兼容问题,不建议选择过新或过旧的版本。(除非你有能力修改项目代码解决这一问题)
Rust的配置相对复杂,因为编译Rust部分需要依赖一个C++库。如果要同时编译Android版,你还需要下载Android的构建套件。
-
Rust要求电脑上至少安装一个C/c++编译器。你可以根据需要安装MSVC、GCC或CLANG。
-
到Rust网站根据说明安装Rustup、Rustc和Cargo
-
安装vcpkg,并根据其使用说明安装FFmpeg库
-
如果你需要编译为Android版本,你还需要安装Cargo ndk,并下载Android NDK。
安装Android Studio并按其说明配置。
由于众所周知的原因,使用Android Studio经常遇到下载依赖包失败的情况。
根据需求在Rust文件夹中执行对应命令:
编译当前平台debug版
cargo build编译当前平台release版
cargo build --release编译Android平台release版
cargo ndk -t arm64-v8a build --release通常而言,Rust的错误提示会比较完善,错误提示中也包含了对应的修改意见。如果遇到问题,可以参考错误提示进行修正。
编译后,在target目录会生成对应平台的动态链接库文件,并由Godot加载。
通过Android Studio打开Android文件夹中的两个项目,执行gradle的build命令进行编译。
编译完成后,需要将/Android/<Project>/plugin/demo/addons/文件夹中的内容复制到/Godot/addons/的对应文件夹中。
在以上两项都编译完成后,才能在Godot中运行、导出项目。