Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AI does not use strategy #10

Open
Lairo opened this issue Aug 26, 2012 · 4 comments
Open

AI does not use strategy #10

Lairo opened this issue Aug 26, 2012 · 4 comments
Labels
Milestone

Comments

@Lairo
Copy link

Lairo commented Aug 26, 2012

Player has -> 7
AI has -> 3

Let's say that AI has +1 quarry to all, + 2 quarry if player has more quarry than AI otherwise +1, equalize quarry, -1 AI quarry +9 dmg to player

The best tactical choice would be (IMO)

+1 to all
Equalise
-1 to AI +9 dmg to player
+2 quarry if less than player

But AI seams to just throw cards that are best at that moment

@GreatEmerald
Copy link
Owner

Confirmed.

This is due to the way the AI code works - each card has AI code defined for itself, which, when executed, returns a "card rating". That is defined in /lua/Arcomage/CardPool.lua. Each card doesn't really know much about other cards in hand.

The problem with that is if there is no chess-like AI (which means that the AI simulates the game for some time to try some of the outcomes and see what path is the best), it would be nearly impossible to do this. There is no way for a card to know what other cards actually do - they could only get their ratings. And I can't think of any other ways to solve the problem.

Implementing chess AI would be very difficult and time-consuming, however, with not a whole lot of benefits. So perhaps this could materialise in version 2 of the game, but I don't think it will be in version 1.final, unless an easier solution is found.

@ghost ghost assigned GreatEmerald Aug 26, 2012
@Lairo
Copy link
Author

Lairo commented Aug 26, 2012

What about a simple subroutine

If AI has this card then check if other cards of that type are pressent in hand then place them in this order else ignore.

If the cards are present place this then this than this.

I know it sounds easy in theory.

@GreatEmerald
Copy link
Owner

Yes, that would certainly be possible, but it would not be mod-friendly. If you created a new card that, for example, inverts the quarry amount of both players, the AI wouldn't use your new card strategically.

@GreatEmerald GreatEmerald removed their assignment Apr 15, 2015
@GreatEmerald
Copy link
Owner

Almer has volunteered to come up with the logic of advanced AI for games with visible cards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants