commandcenter

GitHub
542 112 困难 1 次阅读 3周前MIT图像Agent语言模型其他开发框架插件
AI 解读 由 AI 自动生成,仅供参考

CommandCenter 是一款专为《星际争霸:母巢之战》和《星际争霸 II》设计的开源 AI 机器人框架。它致力于解决开发者在跨版本游戏开发中面临的重复劳动痛点,允许用户通过同一套 C++ 源代码同时操控两个不同引擎的游戏,大幅降低了多平台适配的门槛。

这款工具非常适合人工智能研究者、计算机专业学生以及希望入门游戏 AI 开发的程序员使用。与其说它是一个成品博弈程序,不如说它是一个高度模块化的“脚手架”。CommandCenter 内置了通用的微操控制器、资源与工人管理系统、地图自动分析、侦察逻辑以及基础的进攻小队调度功能。其核心亮点在于灵活的架构设计:用户无需从零编写底层代码,只需通过配置文件即可快速定义和调整建造顺序(Build Orders),甚至在游戏中动态修改策略,从而将精力集中于上层战术算法的创新。

需要注意的是,CommandCenter 目前仍处于持续完善阶段,暂不支持自动规划建造序列或复杂的战斗模拟预测,且主要适用于 1v1 对战场景。但对于想要快速构建原型、验证新想法或学习经典星际 AI 架构的开发者而言,它提供了一个坚实且易用的起点。

使用场景

一位计算机系研究生正在准备参加 AIIDE 星际争霸 AI 竞赛,需要快速构建一个能同时兼容《星际争霸:母巢之战》和《星际争霸 II》的基准机器人以验证新战术。

没有 commandcenter 时

  • 开发者必须分别学习 BWAPI 和暴雪官方 S2Client 两套截然不同的 API 文档,为同一套逻辑编写两份代码,维护成本极高。
  • 每次更换地图都需要手动硬编码基地坐标和扩张点位置,一旦切换地图,机器人就会因找不到资源点而“发呆”。
  • 缺乏统一的工人管理和建筑放置算法,导致资源采集效率低下,建筑物经常因选址错误而无法建造或堵塞路口。
  • 想要测试新的兵种推进战术时,需从零编写微操控制器和编队逻辑,难以在短期内形成具备战斗力的原型。

使用 commandcenter 后

  • 利用其跨游戏封装架构,只需编写一次 C++ 核心逻辑,即可直接编译运行在两个版本的星际争霸中,开发效率提升一倍。
  • 调用内置的在线地图分析功能,机器人能自动识别任意地图的基地与扩张点,无需人工干预即可适应新赛场。
  • 直接启用成熟的 WorkerManager 和建筑放置算法,实现了高效的资源调度与最优选址,基础运营水平瞬间达到竞赛标准。
  • 基于通用的微操控制器和预设小队(Squads)系统,仅需修改配置文件中的建造顺序,即可快速部署并测试全新的进攻波次战术。

commandcenter 通过屏蔽底层引擎差异并提供标准化的运营战斗模块,让研究者能从繁琐的基建工作中解放出来,专注于核心 AI 策略的创新。

运行环境要求

操作系统
  • Windows
  • Linux
  • macOS
GPU

未说明

内存

未说明

依赖
notes该工具主要由 C++ 编写,非 Python 项目。Windows 下编译 SC2 版本需 x64 平台,星际争霸 1 版本需 Win32/x86 平台;运行星际 1 需配合 Chaoslauncher 注入 BWAPI。运行星际 2 需额外下载并解压官方地图文件(需密码)。配置文件 BotConfig.txt 必须为合法的 JSON 格式且与可执行文件位于同一目录。Linux/macOS 下需手动编译并安装 s2client-api 及其依赖(如 protobuf)到系统目录。
python不适用 (主要使用 C++)
Visual Studio 2017 (Windows)
StarCraft: Broodwar v1.16.1
BWAPI
StarCraft II (零售版)
Blizzard s2client-api
CMake
Protobuf
commandcenter hero image

快速开始

CommandCenter:适用于《星际争霸:母巢之战》和《星际争霸II》的AI机器人

CommandCenter是一款星际争霸AI机器人,能够同时游玩《星际争霸:母巢之战》和《星际争霸II》。

CommandCenter截图

CommandCenter使用C++编写,基于BWAPI以及暴雪提供的StarCraft II AI API。它为这两个API封装了大量功能,使得同一份源代码可以在两款游戏中实现相同的功能。该项目由纪念大学计算机科学系助理教授、AIIDE星际争霸AI竞赛的组织者David Churchill开发。

CommandCenter以UAlbertaBot的架构为基础,旨在提供一个易于使用的框架,方便玩家快速修改、调试并构建自己的机器人。该机器人本身并未内置过多硬编码的策略或战术,但它为玩家实现针对任意种族的自定义策略提供了一个良好的起点。

目前,CommandCenter具备以下功能:

  • 使用同一份源代码同时支持《星际争霸》两款游戏;
  • 支持所有三个种族,并为作战单位提供了通用的微观操控逻辑;
  • 能够在线分析地图,提取基地位置和扩张点等信息;
  • 记录所有已知敌方单位及其在地图上的最新位置;
  • 内置WorkerManager模块,负责资源采集、工人分配与建筑生产;
  • 可根据配置文件中预设的建造顺序执行任务;
  • 允许玩家轻松创建自定义建造顺序,并在游戏中实时调整;
  • 包含建筑放置算法,可为指定建筑找到距离目标位置最近的可建造点;
  • 利用工兵单位侦查地图,定位敌方基地位置;
  • 当达到特定条件(默认为拥有12个作战单位)时,会发起进攻,分波次向敌方基地推进;
  • 支持组建小队,让多个单位按照既定顺序执行攻击或防守等任务。

CommandCenter最终将具备UAlbertaBot的所有功能,但目前仍有部分功能尚未完成。以下是CommandCenter当前缺失、即将实现的功能列表:

  • ProductionManager目前仅能建造单位和基础建筑,暂不支持附加设施、科研和技术升级;
  • 尚未实现自动化的建造顺序规划系统;
  • 缺乏用于预测战斗结果的模拟模块;
  • 机器人目前仅支持1v1对战模式,若面对多敌或团队战时可能会出现未定义行为甚至崩溃。

下载与运行CommandCenter

《星际争霸:母巢之战》:
您需要安装《星际争霸:母巢之战》1.16.1版本,并确保已正确安装BWAPI

《星际争霸II》:
要运行本机器人,您必须安装最新版本的零售版《星际争霸II》。此外,还需下载并安装一些地图文件,这些文件可在此处获取。请注意,页面上提供了用于解压地图压缩包的密码。

机器人附带一个名为BotConfig.txt的配置文件,您可以通过该文件修改建造顺序、输出调试信息以及设置机器人参数。在文件的“Strategies”部分,您可以定义多个建造方案,并选择在特定种族对局中启用哪一种策略。建造顺序中的单位名称区分大小写,必须与游戏中显示的完全一致,且不能包含空格。目前,配置文件中的一些选项尚未实现,例如KiteWithRangedUnits选项。

需要注意的是,此配置文件采用JSON格式,只有格式正确的JSON文件才能使机器人正常运行。此外,配置文件必须与CommandCenter.exe位于同一目录下,否则机器人将无法启动。如果您不确定JSON语法是否正确,可以使用在线JSON验证工具进行检查。

默认情况下,运行CommandCenter.exe时,机器人将以随机种族对阵内置的SC2简易AI。您可以通过配置文件中的“BotRace”和“EnemyRace”选项来更改对战双方的种族,也可以通过“MapFile”选项指定要游玩的地图。请注意,“MapFile”选项的路径是相对于您的《星际争霸II》地图目录而言的,默认路径为StarCraft_Install_Directory/maps/。如果未指定有效的地图文件,机器人将无法运行。

如果机器人出现崩溃或其他异常情况,请耐心等待,我会继续优化其稳定性!

开发者安装/编译说明(Windows)

  • 下载并安装 Visual Studio 2017
  • 要游玩《星际争霸:老版本》,您必须下载并安装 StarCraft BW v1.16.1 以及 BWAPI
  • 要游玩《星际争霸II》,您必须下载并安装 StarCraft II AI API。最简单的方法是下载页面底部的 预编译库,然后将其解压到您电脑上的一个文件夹中。如果您通过克隆 Blizzard 的 GitHub 仓库并从头开始编译 SC2API,可能需要将 VS 的包含目录和库目录指向与下方描述不同的路径。
  • 将此 Git 仓库克隆到您电脑上的一个文件夹中。
  • 在 VS2017 中打开“CommandCenter/vs/CommandCenter.sln”。
  • 如果您使用 x64 平台编译 CommandCenter 项目,它将编译 SC2 模块。
  • 如果您使用 x86 或 Win32 平台编译 CommandCenter 项目,它将编译 BW 模块。
  • 设置 VS 项目的包含和库目录以指向相应目录:
    • 在 VS2017 中右键单击 CommandCenter 项目。
    • 选择“属性”。
    • 在左上角选择您想要构建的正确配置(“Release”或“Debug”)。
    • 选择您想要构建的目标平台(x64 = SC2,Win32 = BW)。
    • 在左侧选择“VC++ 目录”。
    • 在右侧表格中选择“包含目录”选项。
    • 点击右侧的下拉箭头,然后点击“编辑...”。
    • 修改现有的目录条目,使其指向您的 (SC2API|BWAPI)/include 目录。
    • 在右侧表格中选择“库目录”选项。
    • 点击右侧的下拉箭头,然后点击“编辑...”。
    • 修改现有的目录条目,使其指向您的 (SC2API|BWAPI)/lib 目录。
  • 从“生成”菜单中,点击“生成解决方案”。
  • 二进制文件“CommandCenter_API.exe”应出现在 CommandCenter/bin/ 目录中。
  • 运行 CommandCenter 机器人的方式有:
    • 双击 CommandCenter/bin/ 目录中的可执行文件。
    • 从控制台运行程序。
    • 在 VS 中点击“本地 Windows 调试器”以在 VS 内部启动程序。为此,您需要将“调试”下的“工作目录”选项设置为“$(ProjectDir)/../bin/”(我不知道为什么这个选项无法保存)。
  • 如果您运行的是 BW 版本的机器人,则必须通过 Chaoslauncher 启动 BW,并注入 BWAPI。
  • CommandCenter/bin/BotConfig.txt 文件必须与 .exe 文件位于同一目录中,才能正常运行。

开发者安装/编译说明(Linux 和 OS X)

按照这些步骤,您应该能够构建并安装 SC2 API,并将其集成到 CommandCenter 中。该方法已在 aba2d3813571c344090f3de5b58a5c912cd5acb3 版本上成功测试过。因此,如果下面的安装说明不起作用,请切换到该版本的 SC2 API:

$ git checkout aba2d3813571c344090f3de5b58a5c912cd5acb3 .

然后重复上述步骤。

  • 构建 SC2 API 项目
$ git clone --recursive https://github.com/Blizzard/s2client-api && cd s2client-api
$ mkdir build && cd build
$ cmake ../
$ make
  • 将 SC2 API 的库和头文件安装到您的系统中
# 假设您已完成上一步,当前位于 'build' 目录
$ cd ../

# 安装 SC2 API 头文件
$ sudo mkdir -p /opt/local/include
$ sudo cp -R include/{sc2api,sc2renderer,sc2utils} /opt/local/include
$ sudo cp -R build/generated/s2clientprotocol /opt/local/include

# 安装 protobuf 头文件
$ sudo cp -R contrib/protobuf/src/google /opt/local/include/sc2api

# 安装 SC2 API 库
$ sudo mkdir -p /opt/local/lib/sc2api
$ sudo cp build/bin/{libcivetweb,libprotobuf,libsc2api,libsc2lib,libsc2protocol,libsc2utils}.a /opt/local/lib/sc2api
  • 构建机器人
$ git clone https://github.com/davechurchill/commandcenter.git && cd commandcenter
$ cmake .
$ make

机器人开发

如果您熟悉 UAlbertaBot 的架构,那么 CommandCenter 的逻辑与之非常相似。最大的区别在于,与地图、基地位置等相关的信息不再全局可用。这些数据现在存储在主 CCBot 类中,必须通过该类的实例引用才能访问。因此,CommandCenter 中的大多数类都携带对机器人主 CCBot 对象的引用,所有与游戏相关的信息、观察和查询都可以通过该引用进行。

详细的开发指南即将发布,但目前您可以参考 UAlbertaBot 维基,因为两者的架构非常相似(除了建造顺序规划器和战斗模拟器之外)。

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架