Game Description

Game Description

Contais the definition of the game description and represents a grouping of action and entities types into categories. The catogories are defined default and can be used to know by the agent the type of each action.

YAML Key

GameDescription

Example

GameDescription:
    Type: CombatGame
    Actions:
        Move: [Move]
        Research: [Research]
        Gather: [Mine]
        Spawn: [Spawn, Build]
        Attack: [Attack]
    Entities:
        Base: [City]
        Building: [City, Barracks, MilitaryAcademy, Foundry, Workshop, Storage]
        Spawner: [City, Barracks, MilitaryAcademy]
        Unit: [Worker, Warrior, Archer, Catapult]
        Fighter: [Warrior, Archer, Catapult]
        NoFighter: [Worker]
        Melee: [Warrior]
        Ranged: [Archer, Catapult]
Properties

Property

Required

Data type

Options

Definition

Actions

false

map

Defines the actions mapped to a category.

Entities

false

map

Defines the entities mapped to a category.

Use examples

#Used in player or entity CanSpawn definition instead of a single entity.
Player:
    Actions: ...
    CanSpawn: Buildings
    Parameters:
        ...

City:
    Sprite: ...
    Symbol: c
    LineOfSightRange: 5
    Actions: ...
    CanSpawn: Units
    Cost:
        ...
    Parameters:
        ...

#Used in the ValidTargets of each target instead of a single entity.
Attack:
    Type: EntityAction
    Cooldown: 1
    Targets:
        Target:
            Type: Entity
            ValidTargets: Attackable
            SamplingMethod:
                Type: Neighbours
                Options:
                    Shape: AllPositions
            Conditions:
                - "DifferentPlayer(Source, Target)"
                - "InRange(Source, Target, Source.Range)"
    Effects:
        - "Attack(Target.Health, Source.WeaponStrength)"