FAQ

Q1: 如何保存对局录像?

A1

在传入 servercfg 中设置 save_video=True 即可。默认情况下,我们会将录像保存在执行命令的当前目录下,如果想要设置保存路径,可以通过设置 save_path 来进行指定。在保存录像的同时,我们也会保存所有玩家视角。

Q2: 比赛最后的获胜条件是什么?

A2

通过计算比赛结束时每个队伍下所有玩家的得分和来进行排序。

Q3: 局部视野的大小有范围限制吗?

A3

玩家的局部视野的大小由其分身球的相对位置决定。我们设置玩家的最小视野是 300*300 的一个矩阵。随着分身球的分散,玩家的最大视野可以达到全局的程度。

Q4: 为什么我设置了 save_video=True 也没法保存录像?

A4

默认设置下,当**这局比赛结束时**,录像会保存在当前执行命令的目录下。注意,是**这局比赛结束时**。这是因为,录像的保存是在游戏的最后一帧进行的。如果你过早的结束了游戏,是不会有录像保存的。所以,如果想快速地看到录像,可以适当的将 match_time 设置小,使得游戏更快地来到最后一帧。

Q5: conda环境(使用的推荐的python3.6.8)下安装了gobigger,实际运行的时候出现libGL error failed to open iris该怎么办

A5

是glibc版本过低却安装了高版本的libgl导致的。这里有个相似的问题可以看看 https://askubuntu.com/questions/1352158/libgl-error-failed-to-load-drivers-iris-and-swrast-in-ubuntu-20-04

Q6: 该环境中,智能体能否执行出类似于人类玩家的中吐行为?周围自己的小球把孢子吐给中间的球?

A6

这是我们在bot中设计的一个简单的动作序列。首先使用了停止技能,这时候玩家所有的分身球都会开始减速。接下来,我们连续给出了六(靠经验得出)个空的操作,这是为了等待分身球们减速到零,减速到零之后,分身球会往所有分身球的质心移动。假设此时玩家的所有分身球都聚集在一起了,然后我们连续给出了八个吐孢子球的操作。这时候,该玩家的所有分身球都会朝着他们各自的运动方向(指向质心)吐孢子。这样,我们就实现了一个非常简单(也非常简陋)的中吐操作。

action1 = [None, None, 2] # 使用停止技能
action2 = [None, None, -1] # 不操作,等待球球聚集
action3 = [None, None, -1] # 不操作,等待球球聚集
action4 = [None, None, -1] # 不操作,等待球球聚集
action5 = [None, None, -1] # 不操作,等待球球聚集
action6 = [None, None, -1] # 不操作,等待球球聚集
action7 = [None, None, -1] # 不操作,等待球球聚集
action8 = [None, None, 0] # 使用吐孢子球技能
action9 = [None, None, 0] # 使用吐孢子球技能
action10 = [None, None, 0] # 使用吐孢子球技能
action11 = [None, None, 0] # 使用吐孢子球技能
action12 = [None, None, 0] # 使用吐孢子球技能
action13 = [None, None, 0] # 使用吐孢子球技能
action14 = [None, None, 0] # 使用吐孢子球技能
action15 = [None, None, 0] # 使用吐孢子球技能

Q7: 吃荆棘球,自己体积会变大吗?还是说只分裂?

A7

体积也会变大。