Basics

From Gladiabots Wiki
Revision as of 16:39, 27 August 2017 by LuBeNo (Talk | contribs)

Jump to: navigation, search

Maps

Each map contains one or more bot starting positions for each team. Optionally maps can contain team bases and resources. Normally the same amount of bot starting positions and team bases are used for each team and the map objects have usually reflectional or rotational symmetry. Two starting positions or team bases that are symmetric belong to different teams. There exists an instantiation order for the bot starting positions rarely used in the game[1]. Only a subset of all maps is used for ranked multiplayer.

Game modes

Elimination

The objective is to destroy more bots from the other team within the time limit. Bots can be destroyed by shooting them until they lost their shield and health or pushing them to the map borders. A game is evaluated as a draw if no team could destroy more bots after the time limit. The shield or health state of bots is not relevant to this objective.

Best Score

The objective is to gather more resources than the other team within the time limit. Resources can be gathered by picking them up and moving them to an allied base. A game is evaluated as a draw if no team could gather more resources after the time limit. Neither the shield or health state of bots nor the count of remaining bots is relevant to this objective.

Time and Space

Each map has a size of 50x50 units. Each bot can shoot another bot up to the distance of 15 units. This distance is divided in short range (up to 3 units), medium range (3 to 8 units) and long range (8 to 15 units).

Each second of the game time is divided in 4 ticks each with a duration of 250 milliseconds. At the beginning of a tick each bot uses its program to think what the next action should be. Then it executes this action for the duration of the tick. As the current time limit is 5 minutes in normal speed, the whole game lasts 1200 ticks.

Bot Actions

What happens in detail if a bot performs a given action:

  • Attacking
    • If a bot attacks another bot it aims or attacks for the whole tick. This action will be detected as attacking in the next tick.
  • Moving and fleeing
    • If a bot moves to a target location that is within the range accessible by the current tick, then it moves there and idles for the rest of the tick. This action will be detected as idling in the next tick.
    • If a bot moves to a target location that is out of the range accessible by the current tick, then it moves as far as it could in the current tick. This action will be detected as moving in the next tick.
    • If a bot flees, then it flees as far as it could in the current tick. If the bot leaves the map by fleeing it will explode. This action will be detected as fleeing in the next tick.
    • If two bots come to close to each other when one or both of them are moving or fleeing, they collide and get pushed away from each other.
  • Catch resource, secure resource, drop resource
    • If a bot catches a resource that is within the range accessible by the current tick, then it moves there, picks up the resource and idles for the rest of the tick. This action will be detected as idling in the next tick.
    • If a bot catches a resource that is out of the range accessible by the current tick, then it moves as far as it could in the current tick. This action will be detected as moving to a resource in the next tick.
    • If a bot secures a resource to a base that is within the range accessible by the current tick, then it moves there, scores the resource and idles for the rest of the tick. This action will be detected as idling in the next tick.
    • If a bot secures a resource to a base that is out of the range accessible by the current tick, then it moves as far as it could in the current tick. This action will be detected as moving to base in the next tick.
    • If a bot drops a resource doesn't move for the whole tick. This action will be detected as idling in the next tick.
  • Idle, tag, team tag
    • If a bot idles, tags or team tags it doesn't move for the whole tick. This action will be detected as idling in the next tick.

Rough thoughts

2 bots want to pick up the same resource in the very same tick - what happens?
Collision size of bots: ~0.5 Units (GFX47 could you be more precise)
What is the distance a resource can already be taken? ~0.5 Units (GFX47 could you be more precise)
What is the distance from base a resource can already be scored? ~0.5 Units (GFX47 could you be more precise)
Move speed

There should be a different section for this:

Attack damage algorithm & Cooldown for recharging shield time to recharge shield.