-
-
Notifications
You must be signed in to change notification settings - Fork 147
Description
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.