ITADN
frnsys/half_earth
frnsys/half_earth · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

半地球社会主义:游戏

本仓库包含:

  • hes-engine 定义了驱动游戏的模型。
  • hes-game 是游戏本身,主要是引擎之上的可视化层。
  • hes-editor 是一个编辑器,用于更改游戏/引擎的部分内容,例如可用的项目、其参数等,并用于构建可加载到新游戏中的自定义 .world 文件。

请注意,实际上存在两个版本的游戏:Web 版和原生版。我们未包含 Web 版的编辑器,但这应该是两者之间唯一的重大差异。然而,在编辑器中创建的世界 可以 在 Web 版中使用。

我们还包含 一个版本Hector 简单气候模型,我们已将其改编为可在浏览器中运行。为 WASM 构建 Hector 的过程很复杂,因此这里包含了预编译版本。

对于原生(即非 Web)构建,我们改用 Hector 的 Rust 封装

编辑器

此视频演示了如何使用编辑器的示例。

翻译

感谢志愿者,游戏已经翻译成 8 种语言!如果您希望将游戏翻译成您的语言,game/translations 中有可供参考的示例。请提交一个 issue 并附上 CSV 文件,我们会尽快将其集成到游戏中。

请注意,我们的国际化系统有一些方面需要改进(例如我们如何处理复数形式)。

设置与依赖

git submodule init
git submodule update
cd game/assets/js && npm install -d

构建最近使用 Rust stable 1.89.0 (29483883e 2025-08-04) 进行了测试。

调试

调试选项可以通过环境变量 DEBUGDEBUG_VIEW 指定,例如:

DEBUG=SKIP_TUTORIAL,ALL_PROJECTS,SKIP_EVENTS DEBUG_VIEW=Plan cargo run

在网页上,例如使用 play.half.earth/?debug=SKIP_TUTORIAL,SKIP_EVENTS

参见 game/src/debug.rs

游戏状态也可以通过游戏菜单(“Copy Session” 按钮)导出。为了紧凑,这是一种 base64 编码、DEFLATE 压缩的表示形式。

导出的游戏状态可以保存到文件,然后通过以下方式加载:

DEBUG_STATE=/path/to/session/file cargo run

运行

你可以使用 just 来运行大多数任务:

Available recipes:
    run         # Run the game.
    surfaces    # Generate biome surface textures and regional climates.
    sharing     # Generate sharing images.

发布

你可以在以下平台游玩:

  • half.earth
  • Steam (Windows/macOS/Linux) (需要账号)
    • 注意:Steam 版本的构建过程更为复杂,因此不太可能保持最新。
  • Itch.io (Windows/macOS/Linux)
  • Releases 下载最新版本

社区

我们有一个关于游戏和书籍的 Discord 服务器