快速开始
通过代码与游戏环境进行交互
在安装完成之后,可以用以下代码快速实现与游戏环境进行交互:
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), 0],
1: [random.uniform(-1, 1), random.uniform(-1, 1), 0],
2: [random.uniform(-1, 1), random.uniform(-1, 1), 0],
3: [random.uniform(-1, 1), random.uniform(-1, 1), 0]}
obs, rew, done, info = env.step(actions)
print('[{}] leaderboard={}'.format(i, obs[0]['leaderboard']))
if done:
print('finish game!')
break
env.close()
在上述代码中,首先构建了环境,然后通过 env.step() 完成游戏每一步的进行,并获取到对应的 observation,reward,done,info 等信息。执行之后,将会得到类似下面的输出,给出了每一帧排行榜信息。
[0] leaderboard={0: 3000, 1: 3100.0}
[1] leaderboard={0: 3000, 1: 3100.0}
[2] leaderboard={0: 3000, 1: 3100.0}
[3] leaderboard={0: 3000, 1: 3100.0}
[4] leaderboard={0: 3000, 1: 3100.0}
[5] leaderboard={0: 3000, 1: 3100.0}
[6] leaderboard={0: 3000, 1: 3100.0}
[7] leaderboard={0: 3000, 1: 3100.0}
[8] leaderboard={0: 3000, 1: 3100.0}
[9] leaderboard={0: 3000, 1: 3100.0}
[10] leaderboard={0: 3000, 1: 3100.0}
...
自定义游戏环境
用户也可以选择通过修改配置 cfg,并通过我们提供的 gobigger.envs.create_env_custom 方法来自定义游戏环境。gobigger.envs.create_env_custom 方法接收两个参数,第一个参数是 type,可选值为 st 或 sp,分别代表标准比赛模式,和独立动作比赛模式。关于两种模式的介绍具体可以看。以下我们基于标准比赛模式举几个简单的例子。
修改游戏中的队伍数量和玩家数量
如果用户想要在游戏中存在 6 个队伍,每个队伍中含有 2 名玩家,那么可以修改 team_num 和 player_num_per_team。
from gobigger.envs import create_env_custom
env = create_env_custom(type='st', cfg=dict(
team_num=6,
player_num_per_team=2
))
修改游戏时长
游戏内默认每秒20帧。如果用户想要将游戏时长设置为 20 分钟,即 24000 帧,可以修改 frame_limit。
from gobigger.envs import create_env_custom
env = create_env_custom(type='st', cfg=dict(
frame_limit=24000
))
修改游戏地图大小
如果用户想要拥有一个更大的地图,可以修改 map_width 和 map_height。注意更大的地图可能会导致 step 速度变慢。
from gobigger.envs import create_env_custom
env = create_env_custom(type='st', cfg=dict(
map_width=1000,
map_height=1000,
))