Skip to content

[AI] Medics and Support Ships should heal nearby units #4

@cpojer

Description

@cpojer

The AI currently does not know how to heal units. The Medic and Support Ship can heal various unit types, specified via healTypes. You can see how it is used in the getHealableVectors library function.

Implementation

For this task, the AI should receive a top level function healUnit that filters units that can heal units and finds nearby units to heal. It should make a good choice about whether to heal other units by considering health, cost of healing, and how many funds the AI is generating and/or whether it needs to build units or buildings instead. You may want to consider defining a weight for whether a unit should be healed or not, similar to whether an opposing unit should be sabotaged instead of attacked. getHealCost is used to determine to cost of healing a specific unit.

Additionally, the AI should consider building a Medic or Support Ship from time to time via its createUnit function.

AI Info

The current AI is called DionysusAlpha and its code can be found there. There are also many AI specific helpers in dionysus/lib. Check out the AI Playground.

Test for new AI behaviors should be added to AIBehavior.test.tsx. These tests must fail without the change from this issue, ie. they must ensure that the AI deterministically implements the new behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions