一架燃烧的客机坠过紫色的天空,旁边是一个挂着降落伞的箱子,上方是 V3RA20K 字样。

VERA20k:红色警戒2:尤里的复仇,用 Rust 重写

免费开源的原版引擎重写。保留你熟悉的玩法、画面和氛围,目标是支持最多 30 名玩家、20,000 个单位的战斗。

你需要自行准备一份《红色警戒2:尤里的复仇》。

简介

VERA20k 是用 Rust 对原版引擎 gamemd.exe 的重写。它使用原版游戏文件,因此你需要自行准备一份游戏。VERA20k 由玩家打造、为玩家而做,项目的方向由玩家说了算。

项目目标

  1. 保留原版《红色警戒2:尤里的复仇》的玩法、画面和氛围。
  2. 支持更大规模的战斗:在 500×500 的地图上容纳最多 30 名玩家和 20,000 个单位。
  3. 加入新老 RTS 游戏中已有的功能,以及一些前所未见的功能。
  4. 内置多人游戏客户端。

大部分代码由 AI 编程助手编写。它们用 Ghidra 研究原版引擎,再将其行为移植到 Rust,并通过对比工具和实际游玩进行检查。

进度

开发中期。Windows 上已可与基础 AI 进行本地遭遇战,VERA20k 也已在 Linux 和 macOS 上运行游玩过。

已具备

  • 原版地图和随机地图
  • 菜单
  • 基地建设和采矿
  • 战斗
  • 存档和读档

尚未实现

  • 多人联机
  • 战役
  • 原版 AI
  • 30 名玩家、20,000 个单位的对战

飞行单位、心灵控制、桥梁,以及一些武器和效果仍需完善。在 GitHub 上查看最新改动。

VERA20k 的遭遇战设置界面。
遭遇战设置
VERA20k 中热带地图上的一座盟军基地。
进行中的遭遇战

游玩

目前还没有安装程序。你需要游戏、最新稳定版 Rust 和 Git、所用平台的 C++ 构建工具,以及支持 Vulkan、DirectX 12 或 Metal 的显卡。然后运行:

git clone https://github.com/YuriPlanet/vera20k.git
cd vera20k
cp config.toml.example config.toml
# 将 ra2_dir 设为你的游戏文件夹,例如 C:/Games/RA2
cargo run --release --bin vera20k

游玩时请使用 --release;调试构建运行太慢。各平台的详细说明见 README。

参与贡献

欢迎帮忙。你可以编写代码、测试游戏、提出想法,或对照原版游玩,告诉我们哪些地方感觉不对。我们非常希望中国的开发者和玩家加入进来,用中文提交 issue 也完全没问题。

Discord → GitHub → 社区自建的 QQ 群:1097193563

其他事宜?请发邮件至 contact@vera20k.org。