将 README.md 翻译为中文,并补充本分支关键实现:开局交还控制权给传统人机(BotTakeoverManager)与托管时镜头防守热点跟随(BotTakeoverCameraFollower),同时给出相关入口/配置文件路径。
4.3 KiB
4.3 KiB
OpenRA(中文)
OpenRA 是一个自由/开源的即时战略(RTS)游戏引擎,支持早期 Westwood 经典作品的重制与扩展。
- 官网:https://www.openra.net
- 交流:Libera 上的
#openra(web)或 Discord - 上游仓库:https://github.com/OpenRA/OpenRA
请先阅读 Wiki 中的 FAQ 与开发文档,并在上游 Issues 反馈引擎问题:https://github.com/OpenRA/OpenRA/issues
也可加入论坛讨论:https://forum.openra.net/
本仓库/本分支的关键实现记录
本分支围绕“开局将本地人类玩家控制权交还给传统人机(Classic Bot)并让比赛以人机 vs 人机方式运转”,以及“托管时镜头自动跟随防守热点”做了增强。
- 开局自动托管给传统人机:
OpenRA.Mods.Common/Traits/Player/BotTakeoverManager.cs- 作为 Player Trait,在
WorldLoaded后为“本地人类玩家(LocalPlayer)”自动激活经典ModularBot(normal)。 - 仅在主机侧生效,并避免在回放中启用(防止非权威端/回放污染世界状态)。
- 当前在
mods/ra/rules/player.yaml默认开启:BotTakeoverManager: AutoActivate: true。
- 作为 Player Trait,在
- 托管时镜头自动跟随(默认偏“防守保家”):
OpenRA.Mods.Common/Traits/Player/BotTakeoverCameraFollower.cs- 通过
INotifyDamage/INotifyBuildingPlaced收集“热点”(受击位置、建造落点等),按权重+时间衰减选取最佳焦点。 - 默认优先级:基地/MCV/矿车/矿厂受击 > 其它建筑受击 > 单位受击 > 新建筑落点。
- 多处战斗会使用“最短驻留时间 + 切换阈值”避免镜头频繁抖动;切换焦点可选择瞬移或限速平滑移动。
- 当前在
mods/ra/rules/player.yaml默认开启,并且只在托管激活时生效(RequireTakeoverActive: true)。
- 通过
- 游戏内托管开关按钮(用于取消/恢复托管):
- UI:
mods/ra/chrome/ingame-player.yaml(Button@LLM_TAKEOVER) - 逻辑:
OpenRA.Mods.Common/Widgets/Logic/Ingame/LLMTakeoverLogic.cs
- UI:
游玩
发行的内置模组包含对以下经典 RTS 的重制:
- Command & Conquer: Red Alert(红色警戒)
- Command & Conquer: Tiberian Dawn(泰伯利亚黎明)
- Dune 2000(沙丘 2000)
EA 未背书且不支持本产品。
多人对战入门可参考:Playing the Game
编译与运行(Windows)
- 编译(推荐):
.\make.cmd all - 快速启动红色警戒模组(本仓库提供脚本):
.\start-ra.cmd
更多开发环境配置请阅读:
- INSTALL.md
- Wiki: Compiling
贡献
- 请阅读并遵守:Code of Conduct
- 提交补丁请遵循:CONTRIBUTING.md
- 引擎架构概览(可能已过时):Hacking
地图制作(Mapping)
- 教程:Mapping
- Lua 脚本任务相关:Lua API
- 分享地图:OpenRA Resource Center:https://resource.openra.net
模组开发(Modding)
- Mod SDK:https://github.com/OpenRA/OpenRAModSDK
- 指南:Modding Guide
- Traits 文档(自动生成):https://docs.openra.net/en/latest/release/traits/
- 像素美术提示:Pixelart
- 发布大型模组(Total Conversion):https://www.moddb.com/games/openra/mods
支持
- 赞助镜像下载服务器: https://github.com/OpenRA/OpenRAWebsiteV3/tree/master/packages
- 搭建专用服务器:Dedicated Server
许可证
Copyright (c) OpenRA Developers and Contributors
OpenRA 使用 GNU GPLv3(或更高版本)授权发布,详见 COPYING。
赞助方
Windows 平台的免费代码签名由 SignPath.io 提供,证书来自 SignPath Foundation。