
欢迎使用 GoBigger v0.2!
更多详情请参阅我们在 ICLR2023 会议上发表的论文(GoBigger:一个可扩展的合作竞争多智能体交互仿真平台)。
GoBigger 是一个高效简洁的类 agar 游戏引擎,为游戏 AI 开发提供了各种接口。这个游戏类似于巴西开发者 Matheus Valadares 创建的大型多人在线动作游戏 Agar。在 GoBigger 中,玩家控制地图上的一个或多个圆形球体。游戏目标是通过吃食物球和比玩家球体小的其他球体来尽可能增大体积,同时 避开可能吃掉玩家球体的更大球体。每个玩家一开始控制一个球体,当球体达到足够大小时,玩家可以将其分裂成两个,从而控制多个球体。
我们更加关注以下几点:
GoBigger 允许用户在基本规则内轻松与多智能体环境交互。用户可以通过给定的接口简单地获取游戏中的观察信息,并对其智能体施加操作。GoBigger 虽然具有复杂的观察空间,但其构建基于简单的规则和动作。
<div align=center><img width = '640' height ='224' src ="assets/overview.gif"/></div>为了理解游戏规则,GoBigger 提供了以下几个概念:
比赛:GoBigger 允许多个智能体参与一场比赛。比赛中有许多不同的单位,如食物球、刺球、孢子球和克隆球。比赛结束时,每个智能体应通过吃掉其他球体来增加体积,以获得更高的排名。智能体:每个智能体控制一个团队,包括多个玩家。团队合作对智能体与其他智能体对抗至关重要。玩家:每个玩家一开始拥有一个球体。为了提高游戏的操作性 ,GoBigger 为玩家球体提供了几种操作,包括分裂和喷射。球体:GoBigger 在比赛中提供 4 种球体。
食物球:食物球是游戏中的中立资源。如果玩家球体吃掉食物球,食物球的大小将转化为玩家球体的大小。刺球:如果玩家球体吃掉刺球,刺球的大小将转化为玩家球体的大小。但同时,玩家球体会爆炸并分裂成几个碎片(默认为 10 个)。孢子球:孢子球是由玩家球体喷射出来的。克隆球:克隆球是你可以在游戏中控制的球体。你可以改变它的移动方向。此外,它可以通过覆盖其他球体的中心来吃掉比自己小的球体。更多详情,请参阅 什么是 GoBigger。
GoBigger 还提供了丰富的可观察信息,观察空间可分为两部分。以下是对观察空间的简要描述。更多详情,请参阅 观察空间。
全局状态提供与整个比赛相关的信息,如地图大小、比赛总时间和剩余时间,以及包含团队名称和得分的排行榜。
玩家状态应如下所示:
{
player_id: {
'rectangle': [left_top_x, left_top_y, right_bottom_x, right_bottom_y], # 视野在地图中的位置
'overlap': {
'food': [[position.x, position.y, radius, score], ...],
'thorns': [[position.x, position.y, radius, score, vel.x, vel.y], ...],
'spore': [[position.x, position.y, radius, score, vel.x, vel.y, owner], ...],
'clone': [[[position.x, position.y, radius, score, vel.x, vel.y, direction.x, direction.y,
player_id, team_id], ...],
}, # 视野内所有球体的信息
'team_name': team_name, # 该玩家所属的团队
'score': player_score, # 玩家的得分
'can_eject': bool, # 玩家是否可以执行`喷射`动作
'can_split': bool, # 玩家是否可以执行`分裂`动作
},
...
}
在这里,GoBigger 为玩家提供了其视野内所有球体的信息。
实际上,一个球体在比赛中只能移动、喷射和分裂。因此,动作空间简单包括:
更多详情请参阅 动作空间。
我们在以下系统中测试了 GoBigger:
我们建议您的 Python 版本为 3.6。
您可以通过以下命令从 PyPI 轻松安装 GoBigger:
pip install gobigger
如果您使用 Anaconda 或 Miniconda,可以通过以下命令安装 GoBigger:
conda install -c opendilab gobigger
您也可以通过 GitHub 安装最新版本。首先,使用以下命令行获取并下载官方仓库。
git clone https://github.com/opendilab/GoBigger.git
然后您可以从源代码安装:
# 安装使用 # 注意:使用 `--user` 选项将相关包安装到用户自己的目录中(例如:~/.local) pip install . --user # 开发安装(如果您想修改 GoBigger) pip install -e . --user
安装完成后,您可以根据以下代码轻松启动游戏环境:
import random from gobigger.envs import create_env env = create_env('st_t2p2') obs = env.reset() for i in range(1000): actions = {0: [random.uniform(-1, 1), random.uniform(-1, 1), -1], 1: [random.uniform(-1, 1), random.uniform(-1, 1), -1], 2: [random.uniform(-1, 1), random.uniform(-1, 1), -1], 3: [random.uniform(-1, 1), random.uniform(-1, 1), -1]} obs, rew, done, info = env.step(actions) print('[{}] leaderboard={}'.format(i, obs[0]['leaderboard'])) if done: print('游戏结束!') break env.close()
您将看到如下输出。它显示每帧的帧号和排行榜。
[0] 排行榜={0: 3000, 1: 3100.0}
[1] 排行榜={0: 3000, 1: 3100.0}
[2] 排行榜={0: 3000, 1: 3100.0}
[3] 排行榜={0: 3000, 1: 3100.0}
[4] 排行榜={0: 3000, 1: 3100.0}
[5] 排行榜={0: 3000, 1: 3100.0}
[6] 排行榜={0: 3000, 1: 3100.0}
[7] 排行榜={0: 3000, 1: 3100.0}
[8] 排行榜={0: 3000, 1: 3100.0}
[9] 排行榜={0: 3000, 1: 3100.0}
[10] 排行榜={0: 3000, 1: 3100.0}
...
更多详细信息,请参考gobigger_env.py。
GoBigger允许用户在个人电脑上实时玩游戏。支持多种模式供用户探索这个游戏。
如果你想在电脑上 玩实时游戏,可以使用以下代码启动游戏:
python -m gobigger.bin.play --mode st --vision-type partial
在这种模式下,请使用鼠标控制你的球体移动,"Q"键表示向移动方向喷射孢子,"W"键表示分裂你的球体。
<div align=center><img width = '320' height ='334' src ="assets/partial.gif"/></div>你可以使用以下代码启动游戏:
<div align=center><img width = '320' height ='336' src ="assets/full.gif"/></div>python -m gobigger.bin.play --mode st --vision-type full
@inproceedings{zhang2023gobigger,
author = {Ming Zhang and Shenghan Zhang and Zhenjie Yang and Lekai Chen and Jinliang Zheng and Chao Yang and Chuming Li and Hang Zhou and Yazhe Niu and Yu Liu},
title = {GoBigger: A Scalable Platform for Cooperative-Competitive Multi-Agent Interactive Simulation},
booktitle={International Conference on Learning Representations},
year = {2023},
url={https://openreview.net/forum?id=NnOZT_CR26Z}
}
更多详细信息,请参考GoBigger文档(中文版)。
欢迎加入OpenDI Lab GoBigger社区!扫描二维码并在微信上添加我们:

或者你可以通过slack或电子邮件(opendilab@pjlab.org.cn)与我们联系。
GoBigger根据Apache 2.0许可证发布。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率 ,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号