You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now the AI does not consider win conditions besides escort by label/amount. When there is a capture win condition for another player, the AI should actively try to deny those captures. If there is a capture win condition applying to the AI, it should produce more units with the capture ability and focus on the capture targets (either all buildings or filtered by label). If there are defeat (one) by amount or label conditions that apply to the AI, it should seek out the corresponding units in particular.
You can find more info about how to set up win conditions in code in WinConditions.test.tsx.
Steps
I believe a good start is to tell the AI about capture-able targets (or specific opponents to attack) by adding them to the "interesting vectors" list in getInterestingVectors or getWinConditionVectors. For building more units with the capture ability, determineUnitsToCreate and its callsites are most relevant.
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.
You receive the reward once the issue is completed & confirmed by Nakazawa Tech.
The text was updated successfully, but these errors were encountered:
cpojer
changed the title
[AI] Prioritize denying or going for captures when there are "capture by label" or "capture by amount" win conditions
[AI] Prioritize Win Conditions when possible
May 8, 2024
Right now the AI does not consider win conditions besides escort by label/amount. When there is a capture win condition for another player, the AI should actively try to deny those captures. If there is a capture win condition applying to the AI, it should produce more units with the capture ability and focus on the capture targets (either all buildings or filtered by label). If there are defeat (one) by amount or label conditions that apply to the AI, it should seek out the corresponding units in particular.
You can find more info about how to set up win conditions in code in
WinConditions.test.tsx
.Steps
I believe a good start is to tell the AI about capture-able targets (or specific opponents to attack) by adding them to the "interesting vectors" list in
getInterestingVectors
orgetWinConditionVectors
. For building more units with the capture ability,determineUnitsToCreate
and its callsites are most relevant.AI Info
The current AI is called
DionysusAlpha
and its code can be found there. There are also many AI specific helpers indionysus/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.Funding
The text was updated successfully, but these errors were encountered: