新 0.2.1-pre |
|
---|---|
0.2.0 |
|
#5 in #sokoban
243 每月下载量
1.5MB
2.5K SLoC
SokoWorld
用 Rust 和 Macroquad 开发的免费开源 Sokoban 客户端。
替代安装说明
- 从 GitHub 下载最新版本
- 如果您已安装 Rust,则使用 Cargo 进行安装:
cargo install sokoworld
定义关卡
关卡收集在包中,这些包是描述包和其中每个关卡数据的 TOML 文件。
使用 TOML 的好处是,它比 XML 更易于阅读,但提供了一些结构和标记。它在将数据结构与人类可编辑性之间取得了良好的平衡。
有关关卡文件中字符含义的更多信息,请参阅 level-format.txt。
开发工具
在调试构建中,Shift + Esc 可以快速退出。
播放特定关卡
使用以下命令运行特定包和关卡:
cargo run -- -p=assets/yoshio-murase-automatic.toml -l=2
其中 -p=
是关卡包的路径,-l=
是关卡表中关卡的数量。
从磁盘重新加载当前关卡
按 9 键从磁盘重新加载当前关卡。这对于迭代关卡设计很有用。
开发笔记
- 网页中的 JS 模拟器已明确检查,以防它们消失,并确保版本匹配
部署
该游戏目前在 itch 上托管,网址为 https://brettchalupa.itch.io/sokoworld
Web
运行以下命令可以构建和推送 WASM 构建:
./release_wasm.sh
理想情况下,将来这将推送适用于桌面操作系统的构建、创建标签等,但这适用于开发。
macOS
macOS 使用 cargo bundle
- 安装 cargo bundle:
cargo install cargo-bundle
- 构建捆绑包:
cargo bundle --release
有一个名为 release_macos.sh
的脚本,用于构建和上传适用于 macOS 的通用应用程序(适用于 Intel 和 Apple Silicon Mac)。
Windows
不太理想但功能正常
cargorun --release
mkdir win
cp.\target\release\sokoworld.exe.\win\
- 将资源文件夹复制到
win
目录 - 将其压缩
- 手动上传到 Itch.io
Linux
运行脚本
./release_linux.sh
致谢
- 编程:Brett Chalupa
- 精灵
- Kenney 系列:kenney.nl (CC0)
- 复古系列:Brett Chalupa
- 宝石系列:Vellidragon (CC0)
- 狗系列:Chrysalis (CC-BY 4.0)
- 音效
- melos:Analgesic Productions 的 Melos Han-Tani(非商业用途)
许可协议
课程代码在 Unlicense 下发布,详见 LICENSE 获取详细信息。
本许可协议不适用于其他资源,它们有自己的条款(见上方)。由我,Brett Chalupa,为游戏创建的资源是 CC0(公共领域)。
依赖项
约 12-25MB
约 365K SLoC