Dominion Strategy Forum

Please login or register.

Login with username, password and session length
Pages: 1 [2]  All

Author Topic: New online version of Dominion (with neural-network based AI) from Temple Gates  (Read 9194 times)

0 Members and 1 Guest are viewing this topic.

ackmondual

  • Witch
  • *****
  • Offline Offline
  • Posts: 463
  • Respect: +293
    • View Profile
0

So the AI cheats? It plays a few turns ahead and makes decisions based on that?

Not really? I mean, it doesn't know exactly what shuffle it's going to get. It just simulates a bunch of potential shuffles based on what happens if it makes certain moves and then picks ones that made it win more in those simulations.

OK, that's fine for shuffles. But say it plays Wishing Well, or decides whether it's going to play Wishing Well. What then?
I'll probably point us to previous discussions speculating about new Dom expansions where they say the next one will include "card shaped" components.  Here, we know that the game will include an AI that should be akin to what we've seen in Race/Roll For The Galaxy

Looks like it might be time to revisit my old thread!

And even if they're right and it's an amazing Dominion AI that can beat even seasoned players in most games, that sounds pretty bad for casual players! Who wants to play against a computer that beats you 90% of the time? Some people will, sure, but I bet that'll get old fast for a lot of players.

I think most neural networks have some depth setting you can turn down to make it perform worse, although it may not get worse in the same way a human would.
Race/Roll For The Galaxy have easier difficulty levels which make more suboptimal moves.  That proved suitable for less skilled players.

Ditto here, I don't mind losing against a computer.  Much less than vs. a real player.
Logged
Village, +2 Actions.  Village, +3 Actions.  Village, +4 Actions.  Village, +5 Actions.  Village, +6 Actions.  Village, +7 Actions.  Workers Village, +2 Buys, +8 Actions.  End Action Phase.  No Treasures to play.  No buy.  No Night cards to play

allanfieldhouse

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 234
  • Respect: +374
    • View Profile
+3

I'm so excited for a good offline vs AI Dominion client that I can buy without a subscription! I just want to be able to sit down and play some non-competitive Dominion with the ability to turn it off or pause at any time (little kids create lots of interruptions).
Logged

Titandrake

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2210
  • Respect: +2854
    • View Profile
0

So the AI cheats? It plays a few turns ahead and makes decisions based on that?

Not really? I mean, it doesn't know exactly what shuffle it's going to get. It just simulates a bunch of potential shuffles based on what happens if it makes certain moves and then picks ones that made it win more in those simulations.

OK, that's fine for shuffles. But say it plays Wishing Well, or decides whether it's going to play Wishing Well. What then?

I guess I don't really understand what cheating you think could be happening. It plays Wishing Well, it runs some search, it guesses the card it thinks will give more win rate.
Logged
I have a blog! It's called Sorta Insightful. Check it out?

GendoIkari

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 9698
  • Respect: +10736
    • View Profile
0

So the AI cheats? It plays a few turns ahead and makes decisions based on that?

Not really? I mean, it doesn't know exactly what shuffle it's going to get. It just simulates a bunch of potential shuffles based on what happens if it makes certain moves and then picks ones that made it win more in those simulations.

OK, that's fine for shuffles. But say it plays Wishing Well, or decides whether it's going to play Wishing Well. What then?

I guess I don't really understand what cheating you think could be happening. It plays Wishing Well, it runs some search, it guesses the card it thinks will give more win rate.

Yeah you seem to be thinking of "looking at future turns" to include specific information that humans couldn't use, such as "what card gets revealed after I play Wishing Well"... but that's not the case. It's "looking at future turns" as in running simulations of a bunch of different possible future turns, and choosin the action which has the best percent of futures that work out. So it could run 100 simulations on what happens if you choose "Copper" for wishing well and see that 50 of those end up with a good position. Then run 100 simulations on what happens if you choose "Silver" and see that 75 of those end up in a good position. It doesn't just "look" at the next turn to see what will happen in that turn.

Fun fact though, in the Tichu app, the highest-level difficulty of the AI does in fact cheat by basing decisions off of looking at what cards you're holding. But the other levels don't.
« Last Edit: May 19, 2021, 05:12:46 pm by GendoIkari »
Logged
Check out my F.DS extension for Chrome! Card links; Dominion icons, and maybe more! http://forum.dominionstrategy.com/index.php?topic=13363.0

Thread for Firefox version:
http://forum.dominionstrategy.com/index.php?topic=16305.0

LastFootnote

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 7495
  • Shuffle iT Username: LastFootnote
  • Respect: +10719
    • View Profile
0

Yeah you seem to be thinking of "looking at future turns" to include specific information that humans couldn't use, such as "what card gets revealed after I play Wishing Well"... but that's not the case. It's "looking at future turns" as in running simulations of a bunch of different possible future turns, and choosin the action which has the best percent of futures that work out. So it could run 100 simulations on what happens if you choose "Copper" for wishing well and see that 50 of those end up with a good position. Then run 100 simulations on what happens if you choose "Silver" and see that 75 of those end up in a good position. It doesn't just "look" at the next turn to see what will happen in that turn.

Could you expound on this a bit? How does it run simulations on possible future turns without considering the current game state, which includes the order of its deck?
Logged

GendoIkari

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 9698
  • Respect: +10736
    • View Profile
0

Yeah you seem to be thinking of "looking at future turns" to include specific information that humans couldn't use, such as "what card gets revealed after I play Wishing Well"... but that's not the case. It's "looking at future turns" as in running simulations of a bunch of different possible future turns, and choosin the action which has the best percent of futures that work out. So it could run 100 simulations on what happens if you choose "Copper" for wishing well and see that 50 of those end up with a good position. Then run 100 simulations on what happens if you choose "Silver" and see that 75 of those end up in a good position. It doesn't just "look" at the next turn to see what will happen in that turn.

Could you expound on this a bit? How does it run simulations on possible future turns without considering the current game state, which includes the order of its deck?

(Disclaimer: I'm no where near an expert on how AI or neural networks work). It's simulations; think of Geronimo's card simulator... it plays 1000 games with the same buy rules and then looks at the results across all of them. Here, you could play 1000 versions of the next turn, with the deck shuffled differently each time. Or instead of randomly shuffling for each simulation, it could specifically run a simulation against every possible deck ordering. Either way it doesn't know which simulation will match what actually happens.
Logged
Check out my F.DS extension for Chrome! Card links; Dominion icons, and maybe more! http://forum.dominionstrategy.com/index.php?topic=13363.0

Thread for Firefox version:
http://forum.dominionstrategy.com/index.php?topic=16305.0

blueblimp

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2849
  • Respect: +1559
    • View Profile
+2

So the AI cheats? It plays a few turns ahead and makes decisions based on that?

Not really? I mean, it doesn't know exactly what shuffle it's going to get. It just simulates a bunch of potential shuffles based on what happens if it makes certain moves and then picks ones that made it win more in those simulations.

OK, that's fine for shuffles. But say it plays Wishing Well, or decides whether it's going to play Wishing Well. What then?

I guess I don't really understand what cheating you think could be happening. It plays Wishing Well, it runs some search, it guesses the card it thinks will give more win rate.
I think the confusion here is LastFootnote thinking you're referring only to future shuffles, while I assume you mean to also re-randomize the shuffles that already happened (which, practically, would mean re-shuffling the deck before each simulation).

IMO, though, properly re-randomizing unknown info is subtly difficult, both from an algorithmic perspective and to code it without bugs.

At first it seems simple enough to just randomize everything it doesn't know before each simulation: the order of its deck, the contents & order of its opponent's hand, deck, and discard (and possibly other things I'm not thinking of). But actually it can know something about these:
  • The top few cards of the decks may have been revealed for various reasons.
  • The opponent may have revealed their hand at some point.
  • etc.
Even trickier: it's possible to make inferences from the opponent's play about certain things that aren't actually known. e.g. If the opponent didn't play an action last turn, they probably didn't have their Smithy in hand; but this is just because we're assuming something about the opponent's strategy, because it would have been legal for them to not play it.

To do this all optimally is (I think) comparable to playing poker, and having it mixed in with all the other parts of Dominion makes it extra hard.

And it would be really easy, when programming this, to accidentally leak info that the AI is not supposed to have. The safest way might be a sort of clean-room approach: only provide the AI with public info, from which it would create a new game state. (The easier and more bug-prone approach is to copy the game state and try to scrub hidden info out of it.)

That said, if the objective is just to make a fun AI opponent for an app, none of this is too important. I mean, if it's just playing strategies like BM+Smithy, then whether it plays Wishing Well optimally or legally doesn't even matter.
Logged

ConMan

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1400
  • Respect: +1705
    • View Profile
0

Yeah you seem to be thinking of "looking at future turns" to include specific information that humans couldn't use, such as "what card gets revealed after I play Wishing Well"... but that's not the case. It's "looking at future turns" as in running simulations of a bunch of different possible future turns, and choosin the action which has the best percent of futures that work out. So it could run 100 simulations on what happens if you choose "Copper" for wishing well and see that 50 of those end up with a good position. Then run 100 simulations on what happens if you choose "Silver" and see that 75 of those end up in a good position. It doesn't just "look" at the next turn to see what will happen in that turn.

Could you expound on this a bit? How does it run simulations on possible future turns without considering the current game state, which includes the order of its deck?
The way I would do it is to not let the AI have access to any game state information that a player in the same position would not have - possibly by giving it its own game state data that it keeps track of. So it might know that the top card of its deck is a Copper because it was left there from a previous Wishing Well play, but it won't know whether the card under that is an Estate or another Copper because there are copies of both in the deck. When it "looks ahead", it would use its own knowledge about the deck contents and draw randomly from those.
Logged

Titandrake

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2210
  • Respect: +2854
    • View Profile
+1

So the AI cheats? It plays a few turns ahead and makes decisions based on that?

Not really? I mean, it doesn't know exactly what shuffle it's going to get. It just simulates a bunch of potential shuffles based on what happens if it makes certain moves and then picks ones that made it win more in those simulations.

OK, that's fine for shuffles. But say it plays Wishing Well, or decides whether it's going to play Wishing Well. What then?

I guess I don't really understand what cheating you think could be happening. It plays Wishing Well, it runs some search, it guesses the card it thinks will give more win rate.
I think the confusion here is LastFootnote thinking you're referring only to future shuffles, while I assume you mean to also re-randomize the shuffles that already happened (which, practically, would mean re-shuffling the deck before each simulation).

IMO, though, properly re-randomizing unknown info is subtly difficult, both from an algorithmic perspective and to code it without bugs.

At first it seems simple enough to just randomize everything it doesn't know before each simulation: the order of its deck, the contents & order of its opponent's hand, deck, and discard (and possibly other things I'm not thinking of). But actually it can know something about these:
  • The top few cards of the decks may have been revealed for various reasons.
  • The opponent may have revealed their hand at some point.
  • etc.
Even trickier: it's possible to make inferences from the opponent's play about certain things that aren't actually known. e.g. If the opponent didn't play an action last turn, they probably didn't have their Smithy in hand; but this is just because we're assuming something about the opponent's strategy, because it would have been legal for them to not play it.

To do this all optimally is (I think) comparable to playing poker, and having it mixed in with all the other parts of Dominion makes it extra hard.

And it would be really easy, when programming this, to accidentally leak info that the AI is not supposed to have. The safest way might be a sort of clean-room approach: only provide the AI with public info, from which it would create a new game state. (The easier and more bug-prone approach is to copy the game state and try to scrub hidden info out of it.)

That said, if the objective is just to make a fun AI opponent for an app, none of this is too important. I mean, if it's just playing strategies like BM+Smithy, then whether it plays Wishing Well optimally or legally doesn't even matter.

Doing it optimally is a somewhat difficult programming question. But I think you could just assume 0 info about the draw deck and reshuffle it at the start of each simulation. You'd lose a bit, but that wouldn't be a big deal until you got to the point of the bot trying to play engines (at which point you've already done quite well as an AI programmer)
Logged
I have a blog! It's called Sorta Insightful. Check it out?

cactus

  • Apprentice
  • *****
  • Offline Offline
  • Posts: 293
  • Then: longtime lurker. Now: occasional poster.
  • Respect: +348
    • View Profile
+1

Another on line implementation? I check back into this forum first this first time in a long time and the news is yet another on line implementation?! FFS.

If the “custodians” of this fantastic game had purposely set out to sabotage it and have a cruel joke at the expense of its loyal fan base they could not have stuffed things up any worse. And it is not like there weren’t lots of people that loved the game telling them the whole time, “what you’re doing sounds like a really bad idea”.

I honestly don’t know whether to laugh or cry.

Gherald

  • Minion
  • *****
  • Offline Offline
  • Posts: 676
  • Awe: +35
  • Respect: +1396
    • View Profile
+2

The existing online implementation isn't going away, you're getting a new option. Something to choose from!

I know encountering new unfamiliar choices can be a stressful experience, but just breathe. You can get through this.
Logged
My opponent has more loot than me

dirkdebeule

  • Spy
  • ****
  • Offline Offline
  • Posts: 83
  • Why Not?
  • Respect: +50
    • View Profile
+2

Stef is currently working on a "complexity" feature for dominion.games. Since it's not done it's not finalized, but currently, you can pick a level of complexity from 1-10, and it determines the set of cards available. I picked what cards are at each level; it groups mechanics. Level 1 is just base, level 10 is everything, and in-between you have added whatever set of mechanics. So players who don't want to be swamped with new mechanics can ease into them; add 1 to complexity and a few new mechanics show up.
Logged
The Witch likes walking from her Throne Room to her Workshop in the Garden 😁

dirkdebeule

  • Spy
  • ****
  • Offline Offline
  • Posts: 83
  • Why Not?
  • Respect: +50
    • View Profile
+2

Hi Donald, hi Stef,
Just wondering about the status of the “complexity" feature for dominion.games?
It's done, but that release is waiting on the animations feature working, they're in the same "build." And that feature is waiting on random real-life factors for the person who did the work on it.
[/quot
Logged
The Witch likes walking from her Throne Room to her Workshop in the Garden 😁

Petzi

  • Herbalist
  • **
  • Offline Offline
  • Posts: 8
  • Shuffle iT Username: PetziPotato
  • Respect: +4
    • View Profile
+1

So the ShuffleIT implementation and this new one will be completely separate, right? It's kind of sad, now the playerbase will be split, along with the game history, rankings and so on. I wish dominion.games had expanded into mobile and PC, but oh well. It would be nice to have a single, official implementation. I get the feeling this means the older implementation will be extinguished in a few years :(
Logged

GendoIkari

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 9698
  • Respect: +10736
    • View Profile
+1

So the ShuffleIT implementation and this new one will be completely separate, right? It's kind of sad, now the playerbase will be split, along with the game history, rankings and so on. I wish dominion.games had expanded into mobile and PC, but oh well. It would be nice to have a single, official implementation. I get the feeling this means the older implementation will be extinguished in a few years :(

Is it known that the new thing will support multiplayer? If it's only against AI then there wouldn't be that sort of issue.
Logged
Check out my F.DS extension for Chrome! Card links; Dominion icons, and maybe more! http://forum.dominionstrategy.com/index.php?topic=13363.0

Thread for Firefox version:
http://forum.dominionstrategy.com/index.php?topic=16305.0

blueblimp

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2849
  • Respect: +1559
    • View Profile
0

It would be nice to have a single, official implementation.
While ideally there would be one perfect implementation that makes everyone happy, in practice I couldn't disagree more with this. The healthiest state of computer Dominion so far was in the pre-Goko era, when there were a variety of unofficial implementations that had different advantages for different types of players. It's just too hard to have one implementation satisfy, for example, both the people who want to play casually against AI on their phone and the people who want to play at top competitive levels on their desktop. (I'm still salty that it hasn't ever been possible to play with a deck tracker in the post-isotropic era. I understand that not everyone likes deck trackers, and if there's a variety of ways to play, those people can be happy too!)
Logged

Petzi

  • Herbalist
  • **
  • Offline Offline
  • Posts: 8
  • Shuffle iT Username: PetziPotato
  • Respect: +4
    • View Profile
0

You can sign up for the beta on the website, I was accepted within about a day. There is multiplayer, yes.

While ideally there would be one perfect implementation that makes everyone happy, in practice I couldn't disagree more with this. The healthiest state of computer Dominion so far was in the pre-Goko era, when there were a variety of unofficial implementations that had different advantages for different types of players. It's just too hard to have one implementation satisfy, for example, both the people who want to play casually against AI on their phone and the people who want to play at top competitive levels on their desktop. (I'm still salty that it hasn't ever been possible to play with a deck tracker in the post-isotropic era. I understand that not everyone likes deck trackers, and if there's a variety of ways to play, those people can be happy too!)

I don't see a reason why a unified system couldn't work on all platforms with both AI and multiplayer, plenty of games offer that nowadays. You're certainly right about the variety, but once you get into things like adding custom cards, no official version will ever beat stuff like Tabletop Simulator and Cockatrice.
Logged

Cuzz

  • Minion
  • *****
  • Offline Offline
  • Posts: 623
  • Shuffle iT Username: Cuzz
  • Respect: +1018
    • View Profile
+1

It would be nice to have a single, official implementation.
The healthiest state of computer Dominion so far was in the pre-Goko era, when there were a variety of unofficial implementations that had different advantages for different types of players.

What was there other than isotropic that was actually being used by a substantial population?
Logged

GendoIkari

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 9698
  • Respect: +10736
    • View Profile
0

It would be nice to have a single, official implementation.
The healthiest state of computer Dominion so far was in the pre-Goko era, when there were a variety of unofficial implementations that had different advantages for different types of players.

What was there other than isotropic that was actually being used by a substantial population?

Could be talking about Androminion, but I have no idea how big that actually was.
Logged
Check out my F.DS extension for Chrome! Card links; Dominion icons, and maybe more! http://forum.dominionstrategy.com/index.php?topic=13363.0

Thread for Firefox version:
http://forum.dominionstrategy.com/index.php?topic=16305.0
Pages: 1 [2]  All
 

Page created in 0.06 seconds with 20 queries.