Skip to content

Latest commit

 

History

History
78 lines (55 loc) · 5.01 KB

gobigger_env.rst

File metadata and controls

78 lines (55 loc) · 5.01 KB

GoBigger environment

Overview

This section mainly explains the environment design of GoBigger, including the definition of a given environment, and how to customize the corresponding environment.

Defined environment

GoBigger defines some basic environments, which can be generated by the following code

from gobigger.envs import create_env
env = create_env('st_t4p3')

Among them, the first parameter received by create_env() is a string, which is the name of the environment we have defined. Similarly, in addition to st_t4p3, we also have st_t2p2, st_t3p2 to choose from. The differences between each environment are described in detail below.

  1. st_t4p3: Created a game scene with four teams of three players each. This is the standard game scene we define, and parameters including the refresh speed of various balls in it have been adjusted to a relatively robust level. Users can use this environment to solve some cooperative and confrontational problems in complex spatial scenarios.
  2. st_t2p2: Considering that st_t4p3 may be too large, we provide a smaller game scene. In this scenario, there are only two teams, and each team has two players. Also, the map size, the number of food orbs and thorn balls have been reduced accordingly. In addition, in order to reduce the player's early development time, we set the player's first birth score to 13000 in st_t2p2 to allow players to fight quickly, while this value is 1000 in st_t4p3 .
  3. st_t3p2: This is a medium environment between st_t2p2 and st_t4p3, with three teams of two players each. Like st_t2p2, a higher birth score is also set to reduce development time.

In addition, the above environment defaults to an action every two frames (20 frames per second). If you want a longer action interval, you can set it with the following code:

from gobigger.envs import create_env
env = create_env('st_t4p3', step_mul=10)

In addition, we have more environments already defined, as follows:

Name Agents Size Map Size Food Thorn Init Size Limited Frame
Small Maps
st_t1p1 1x1 32x32 [65,75] [1,2] 1000 3600(3min)
st_t1p2 1x2 48x48 [130,150] [2,3] 1000 3600(3min)
st_t2p1 2x1 48x48 [130,150] [2,3] 1000 3600(3min)
st_t2p2 2x2 64x64 [260,300] [3,4] 13000 3600(3min)
st_t3p2 3x2 88x88 [500,560] [5,6] 13000 3600(3min)
Large Maps
st_t4p3 4x3 128x128 [800,900] [9,12] 1000 14400(12min)
st_t5p3 5x3 128x128 [900,1000] [10,12] 1000 14400(12min)
st_t5p4 5x4 144x144 [900,1000] [10,12] 1000 14400(12min)
st_t6p4 6x4 144x144 [1000,1100] [11,13] 1000 14400(12min)

Customize the corresponding environment =========================

GoBigger's rich configuration file design allows users to easily set up every detail in the game.

If you want to make a simple modification on the basis of an environment we have defined, for example, modify the duration of a round in st_t2p2, you can do the following:

from gobigger.envs import create_env
env = create_env('st_t2p2', dict(
    frame_limit=10*60*20,
))

In this way, the new environment opened will become a 10-minute round based on st_t2p2.