<< Back to General Forum   Search

Posts 1 - 11 of 11   
An AI that team plays Re: We need a stronger AI: 12/13/2018 09:07:46


Gus squared 
Level 61
Report
Last month Xenophon started a thread discussing the need for a new AI https://www.warzone.com/Forum/321873-need-stronger-ai

There he wrote:


The bot basically attacks neutrals every turn, ignoring the actual opponents, and it never even attacks the actual enemy until the they're the only target left to attack. It's so bad that when a player gets booted in a game, it's basically a 2v3v1, because all the AI does is expand as if it's droning in an FFA.

The AI does virtually nothing to help the team that it is on, so once a player on a team gets booted it's basically over and the only option is voting to end or accepting a loss.


The OP went on to write that a potential solution would be to develop an AI which knows how to attack the opponent. This would certainly improve the situation, but I wanted to suggest another avenue that might be pursued.

The AI, as it focuses on attacking neutrals, pays absolutely no heed to completing bonuses or avoiding bonuses which teammates are completing. Regularly the AI will break a bonus a teammate is completing. Sometimes the AI's moves can be intercepted by viewing its moves and taking territories before it attacks, but this is not always possible. It would be so much better if somehow the AI knew, or was told, which neutrals it could take, and which neutrals it should avoid.

To follow up on the previous thread, perhaps a facility could be developed for the next AI, where the AI's human teammates could specify bonuses as off-limits, or bonuses which should have higher priority. I am not a programmer but would it be hard to develop an interface similar to cards which could be employed each turn instructing the AI to avoid or prioritize certain bonuses (or territories within a bonus)?

The functionality could be limited to bonuses the AI borders, or perhaps only bonuses that the human borders. Perhaps the functionality should be played on specific territories, or on entire bonuses.

One might even include functionality where the AI could be instructed to take a territory owned by a player, or another AI, to complete a bonus.

While this would not directly address the OP's concerns, it would greatly improve the AI's efficiency in taking bonuses, in gaining income, and in eventually attacking the enemy. In some cases, this would be enough for the game to remain competitive when a human was replaced with an AI.

To some degree this facility would allow the puppetting of the AI, but in team games, isn't that what is required?
An AI that team plays Re: We need a stronger AI: 12/13/2018 12:09:40


DanWL 
Level 62
Report
How about you write the AI yourself if it could be so much better?
An AI that team plays Re: We need a stronger AI: 12/13/2018 14:49:16


Жұқтыру
Level 55
Report
Regularly the AI will break a bonus a teammate is completing.


Personally I think this is better solved by adding a setting that splits the income from a bonus among the teammates that hold it, so it's not awkward.
An AI that team plays Re: We need a stronger AI: 12/13/2018 15:17:21

IRiseYouFall
Level 59
Report
that's not even xenophon lol
An AI that team plays Re: We need a stronger AI: 12/13/2018 23:34:35


Gus squared 
Level 61
Report
@DanWL

By chance did you notice that my post explicitly references Xenophon's original post. Almost like I found the original threat but could not reply to it because it was too old, so instead I reported it and added my comment.

Kind of like a follow-up to the earlier discussion, hoping to add a new perspective to what was being discussed.

Maybe I should have added a link to the original post -- oh wait I did.
An AI that team plays Re: We need a stronger AI: 12/14/2018 04:24:32


Norman 
Level 58
Report
@Gus squared:

I am not a programmer but would it be hard to develop an interface similar to cards which could be employed each turn instructing the AI to avoid or prioritize certain bonuses (or territories within a bonus)?

If you'd ask me what I hate most when developing software then it's probably feature requests which have a very limited benefit but create a ton of new corner cases regarding the present functionality. Just as a brainstorm, what you are in fact asking for is something like:
- Adaptation of the present UI in order to communicate with the AIs.
- Rework of the AI API in order to communicate the orders
- Rework of the present AIs in order to understand the orders.
- Rework the AI framework, so the AIs recalculate their moves after each user input.
- Rework the boot timer, so an AI doesn't get booted if a user tells it to redo it's decision due to a new order.
- ...

Edited 12/14/2018 04:25:26
An AI that team plays Re: We need a stronger AI: 12/14/2018 07:14:47


Joi179
Level 58
Report
@Norman
Might a first step simply be to make the AI do transfering orders befor attacking ones ^^. atm its rly easy to outdelay and the AI crashing into your stack.

And a second fact that the AI splits bigger stack more evenly so instead of 997 / 1 /1 / 1 to 200 / 200 / 200 / 400.

Im also not a programmer and the prob need also rework tho its a bit more in general so easier?

Edited 12/14/2018 07:16:48
An AI that team plays Re: We need a stronger AI: 12/14/2018 07:35:02


Cata Cauda
Level 59
Report
It would be much easier (coding-wise), if the payer was allowed to take over the AI, and take the turns for their booted teammate. That would be like 1 player with 2 accounts playing in the same team. If its a team of more than 2 payers, like 3v3 and upwards, the control could be given to the highest level teammate, or the team votes on who takes control of it.

Edited 12/14/2018 07:37:42
An AI that team plays Re: We need a stronger AI: 12/14/2018 07:42:19


Gus squared 
Level 61
Report
@Norman

Given that you have actually put an AI into production, you are more than qualified to criticize me for brainstorming from the cheap seats. I don't mind at all your criticisms, your points have merit. In particular, your mention of the ton of new corner cases regarding the present functionality is serious concern

Also, thank you for the cordial tone, it is appreciated.

Forgive me if I am mistaking this cordial tone for a willingness on your part to discourse, but let me press my idea with you just a bit more. The spirit of my comment was well intended -- in my mind, nay in my naivete, I somehow thought that my suggested facility would be relatively simple to implement, and would potentially improve AI functionality significantly. You quickly listed 5 hurdles to implementing my "simple" facility. Having done so, can we discuss them?

What I had suggested is that a facility similar to the current cards be used to communicate with the AI. Cards already exist which change the status of territories, e.g. blockade and gift cards. Recon and surveillance cards change the fog in a set of adjacent territories, or territories in a bonus. Diplomacy cards change the permissibly of attacks on territories owned by specific players. Given this framework, could not additional cards be developed that only affect the AI? Through these effects could not the AI's be commanded? We would call these cards AI Command cards.

You raised some difficult issues about whether the AI would update its orders to incorporate the human players's requests. I am quite ignorant about how this would be done but I am guessing that it would be insanely difficult to get the AI to update its orders with each request. So instead why not use mechanisms already present in the cards, and have the AI Command Cards only take effect after the current orders are executed. The human player would play the AI Command card on the current turn and on the next turn the AI would try to incorporate the requests of the card in the next turn's orders. This would solve timing issues.

You raised the issue of having to rework the AIs to understand the orders. Again, I am arguing from ignorance here but the changes that I am asking for are not drastic. Envisioned commands would include instructing the AI to expand only in certain bonuses, or to avoid expanding in certain bonus. Or perhaps to take teammates territories in specified bonuses. Crude versions of all of these requests could be handled with simple status changes, e.g., if the AI is requested to avoid a bonus, could this not be implemented by having that bonus in fog for the AI?

Now the real question is whether this feature, these AI Command cards, would have utility or would have a very limited benefit? To my mind having the ability to somewhat puppet an AI to prevent it from mindlessly expanding but instead have it expand strategically would definitely be an improvement in many situations.

But perhaps it would be better at this point to return to Xenophon's original comment. Rather than just asking if this feature, these AI Command cards, would be useful, maybe we should ask if the difficulty in implementing this feature is easier or harder than redeveloping the AI as per Xenophon's post. Again in my naivete, I felt that adding a "simple" feature like these cards would be an easy way to tweak the AI and have it be a more effective replacement for a booted teammate. Perhaps this would be a quick fix, I do not know.

Thank you for your time Norman. Feel free to let me know how unrealistic my requests truly are.

Edited 12/14/2018 08:30:37
An AI that team plays Re: We need a stronger AI: 12/14/2018 10:38:12


Xenophon 
Level 61
Report
@Iriseyoustall looks like Xeno to me
An AI that team plays Re: We need a stronger AI: 12/14/2018 14:03:17


el-sin♥️
Level 55
Report
Pichu she is
Posts 1 - 11 of 11