177 Open Daily games
0 Open Realtime games
    Pages:   12   (2 in total)
  1. #1 / 29
    Brigadier General M57 M57 is offline now
    Standard Member M57
    Rank
    Brigadier General
    Rank Posn
    #73
    Join Date
    Apr 10
    Location
    Posts
    5082

    Obviously, creating a good AI player would be a huge undertaking, and I can see it happening eventually, but it's definitely a ways off and for this reason is probably not something we'll be seeing here for a while. So that's not really the intentional point of this thread, though folks could take it there if it seems appropriate.

    On a different thread I made a suggestion that WG could have an AI player specifically designed to play only for booted players, and so in an effort not to hijack that sub-discussion, I thought I'd move the idea here.

    My idea is not to create a "smart" player, but rather one that equitably addresses the problem of the holdings of a booted player.  My proposed bot doesn't play strategically or to win, but I have a sneaking suspicion that using nothing but these very simple rules, a bot wouldn't make a complete fool of itself. 

    1. Its one goal is to take a single territory on any given turn. It simply looks for the highest attacking to defending army ratio.
    2. It will not attack if the ratio is less than .8 (or some other reasonable number).
    3. It rolls "smart" dice (only 3 v any, 2 v 1,  or 1 v 1 dice). 
    4. It always cashes cards if possible and spread bonus armies around evenly. 
    5. Acquisition of continental bonuses is ignored.

    Here's a controversial twist.   All playing stats apply.  It's unlikely, but if for whatever reason, the AI wins, the originating player gets the win!

    With the exception of the considerations of rule #5, this bot doesn't play much differently than most players do on the first 2 or 3 moves on the standard Risk board. Obviously, gaining and protecting continental bonuses will be one of the more complicated parts of making a "smart" bot, and it is completely ignored in my proposed bot, but I'll bet this dumb one would be a major improvement over the alternative where it comes to dealing with a booted player's holdings.

     

    BAO alternative:
    https://sites.google.com/site/m57sengine/home
    Edited Fri 25th Mar 15:26 [history]

  2. #2 / 29
    Standard Member Viper
    Rank
    Major General
    Rank Posn
    #32
    Join Date
    Jan 10
    Location
    Posts
    260

    Actually sir I made the suggestion in relation to AI players that thread but it's been mentioned several times before I believe.

    I agree with your rules and considerations though, except for the cashing the cards, I would have it cash cards only when it maxed them.  We need something that will take a basic turn and take over for a player if they get booted, surrender/quit, whatever, so as not to completely disrupt the game for everyone else.  Something that is also completely optional when you start/create a game.


  3. #3 / 29
    Brigadier General M57 M57 is offline now
    Standard Member M57
    Rank
    Brigadier General
    Rank Posn
    #73
    Join Date
    Apr 10
    Location
    Posts
    5082

    I was thinking that the bot should cash early as a defensive maneuver meant to prevent it from becoming too much of a target.

    Edit: Just re-read the thread ..and yes, V, you did mention it first in that thread.  Hmm.. I knew I got the brilliant idea from somewhere. {#emotions_dlg.blush}

    BAO alternative:
    https://sites.google.com/site/m57sengine/home
    Edited Fri 25th Mar 16:28 [history]

  4. #4 / 29
    They see me rollin' IRoll11s
    Rank
    Private
    Rank Posn
    #1532
    Join Date
    Nov 09
    Location
    Posts
    632

    Cashing early and late are both valid strategies, so whether to cash or not would be a nice option for randomness.  Or a simple calculation (I have less than X armies, I should cash early) would be appropriate.

    Wow, WarGear gets more better every day!

  5. #5 / 29
    Brigadier General M57 M57 is offline now
    Standard Member M57
    Rank
    Brigadier General
    Rank Posn
    #73
    Join Date
    Apr 10
    Location
    Posts
    5082

    IRoll11s wrote:

    Or a simple calculation (I have less than X armies, I should cash early) would be appropriate.

    While I agree with your point about early and late cashing in general, late cashing can be the more dangerous strategy and I would suggest that the bot plays on the conservative side. Also,  there are certain boards where a cashing threshold should necessarily be lower than it should be for others.  Setting this number could be a designer option, but designer options are numerous enough as it is.

    If a mix is the popular choice, I like random.  All in all, this aspect of the bot's play is not that critical for the purpose of playing a game out for a booted player.

    Regarding Rule #1: Additional algorithms for dealing with multiple "optimal" targets might need to be worked out (like prefer the one that will secure a bonus), but even here, 'random' may do the trick just fine.  At this point, there's no need to go nuts with this. I think just getting a down and dirty "boot bot" up and running would be cool.

    BAO alternative:
    https://sites.google.com/site/m57sengine/home
    Edited Fri 25th Mar 17:06 [history]

  6. #6 / 29
    Brigadier General M57 M57 is offline now
    Standard Member M57
    Rank
    Brigadier General
    Rank Posn
    #73
    Join Date
    Apr 10
    Location
    Posts
    5082

    If a down-and-dirty Boot-Bot could be created, there are features that it could have that would make useful for a a number of things.  A number of these take advantage of the fact that bots play FAST.  Some of them are obvious. I'm just starting a list of the possibilities.

    1. Of course, default is the bot kicks in when the time limit is reached and continues to play the game, but if a player wants to return, they can turn the bot off.  If this is possible, then there's no reason players couldn't turn their bot back ON.  I know it sounds silly, but let's say you're in a game on a 2-day turn timer and you're going away for the weekend, AND you don't want to slow down the game.  The civil thing to do would be to turn the B-Bot on.  There could be a setting that limits the bot to one or two moves before reverting control back to the player (just in case everyone starts to move too quickly).
    2. Using the functionality described above, something like a 3 minute game-timer might work.
    3. Designers and/or players could specify that "Neutral" is a B-Bot (private games only - see below)
    4. Any number of B-Bots could be allowed in any Private games (this is essentially the mechanism that designers would use to test their boards).

    Once in place, the quality of play of B-Bots will be improved over time.  Theres no doubt that at some point BBs will play smarter than a good many players (Heck, I wonder that the one as proposed wouldn't play better than some players) We may actually have to make it such that in public games BBs only play at a certain level of expertise (for instance, we might not want them to play much better than the proposed stock model with its 4 or 5 simple rules.  As for #3 above, if Neutral started to win games, stats would go hay-wire.

    I'm wondering.  Where does this idea sit on people's "Importance Meter"?  Is it viable? Is it worth Tom's time?

    BAO alternative:
    https://sites.google.com/site/m57sengine/home

  7. #7 / 29
    Where's the armor? Mongrel
    Rank
    Brigadier General
    Rank Posn
    #53
    Join Date
    Nov 09
    Location
    Posts
    522

    IRoll11s wrote:

    Cashing early and late are both valid strategies, so whether to cash or not would be a nice option for randomness.  Or a simple calculation (I have less than X armies, I should cash early) would be appropriate.

    Some simple decisions could be: I'm in risk of being eliminated (cash now). I can eliminate a player without the extra armies, and I can double cash after elimination (cash later). I want to guarantee I eliminate this player (cash now). I have 3 cards, one of which is a wild (cash later).

    Where's the ammo?

  8. #8 / 29
    Brigadier General M57 M57 is offline now
    Standard Member M57
    Rank
    Brigadier General
    Rank Posn
    #73
    Join Date
    Apr 10
    Location
    Posts
    5082

    Mongrel wrote:

    Some simple decisions could be:

     ..I can eliminate a player without the extra armies, and I can double cash after elimination (cash later). I want to guarantee I eliminate this player (cash now)...

    Rule #1.  Take one and only one territory.

    So unless an opponent is down to one territory, the above rules will rarely be invoked.  Now if you are suggesting that rule #1 should be trumped if any of the above conditions exist, then I would argue that these are are not "simple" decisions (or at least I don't think they are).  All of them require development of a sophisticated and subjective set of rules to determine their eligibility, not to mention that if even if their algorithms could be easily developed, additional algorithms would need to be developed to give the bot a plan of attack (assuming multiple attacks are required), which would then necessitate contingency plans in the event of failure .

    I think the criteria for the BBs design should not be to get it to win.  I think that initially, the level of BB play should be viewed as a consequence for not taking one's turn on time.  A short list of "rules" that anyone can understand (so there can be no complaining about BB play) might be preferable to a long complicated list, not to mention that it would make Tom's job much easier.

    I have 3 cards, one of which is a wild (cash later).

    This one's fine.  It's simple to determine.

    I'm in risk of being eliminated (cash now).

    In my mind, this one sits on the fence of the simplicity rule.  What constitutes being at risk?  I suppose being down to one territory would qualify, but other than that situation, things get complicated.   For instance, what if the bot is down to two territories that are not adjacent to the same opponents?  It might not be necessary (or even wise) to cash.

    I suppose we could pile on a bunch of simple rules, but I'm thinking that when it comes to developing a smart bot with an aggressive style of play down the road, it won't be in the form of a hodgepodge of rules, and we'd have to start from scratch anyways.

    BAO alternative:
    https://sites.google.com/site/m57sengine/home
    Edited Sat 26th Mar 07:04 [history]

  9. #9 / 29
    Where's the armor? Mongrel
    Rank
    Brigadier General
    Rank Posn
    #53
    Join Date
    Nov 09
    Location
    Posts
    522

    Dice odds -> elimination odds -> incentive for elimination (ease of elimination, cards, elim bonus, plus the constant of having an opponent removed, all of which will be hedged against the strength of other players).

    Though I'll agree developing an AI will be tough- mainly, because typical greedy algorithms won't be the best (What's good for me this turn might not be the best long-turn decision ).

    A good place to start would be running some statistical analysis, to quantify a winning player's intuition (who's feuding, who's allied, my strength vs others, elimination incentive, luck of winner, luck of winner on the winning turn, aggression, response from a big attack, etc.).

    Could be fun.

    Where's the ammo?

  10. #10 / 29
    Shelley, not Moore Ozyman
    Rank
    Brigadier General
    Rank Posn
    #40
    Join Date
    Nov 09
    Location
    Posts
    3448

    I like the idea of having a dead simple bot that takes over when players get booted.   That would definitely be more fair for the remaining players.  All the other stuff is great as it gets more advanced, but I think that can happen gradually and better to shoot for a simple goal and then evolve.

    M57 wrote:I'm in risk of being eliminated (cash now).

    In my mind, this one sits on the fence of the simplicity rule.  What constitutes being at risk?  I suppose being down to one territory would qualify, but other than that situation, things get complicated.   For instance, what if the bot is down to two territories that are not adjacent to the same opponents?  It might not be necessary (or even wise) to cash.

    In terms of keeping it simple & conservative and stupid, I suggest the usual behavior is to cash as soon as you have a set  and that we have a pretty simple heuristics that makes decisions conservatively.  Something like:

    if (# of territories on board + my units > unit count of strongest opponent + their bonus + value of a set of cards)

    Then you are safe and can wait to turn in cards, otherwise cash as soon as possible.

     


  11. #11 / 29
    Brigadier General M57 M57 is offline now
    Standard Member M57
    Rank
    Brigadier General
    Rank Posn
    #73
    Join Date
    Apr 10
    Location
    Posts
    5082

    O, not bad ..but worthless in fogged games.  My vote(s) in order of preference:

    Cash Early
    Cash Randomly

    Dead simple bots prefer two word commands.

    BAO alternative:
    https://sites.google.com/site/m57sengine/home

  12. #12 / 29
    Shelley, not Moore Ozyman
    Rank
    Brigadier General
    Rank Posn
    #40
    Join Date
    Nov 09
    Location
    Posts
    3448

    Yeah, I didn't think about fogged games, and those are a lot trickier.   You could still have some simple rule for unfogged games, and then just always/random cash on fogged, but it doesn't make much difference to me. 

    Re: always vs. random - In terms of a stronger bot, I think having some randomness to it is better, because being easy to predict makes for a weaker opponent.  Even something like if you have cards cash 80% of the time, and wait 20% of the time.

     


  13. #13 / 29
    Brigadier General M57 M57 is offline now
    Standard Member M57
    Rank
    Brigadier General
    Rank Posn
    #73
    Join Date
    Apr 10
    Location
    Posts
    5082

    I've added some mods to the rules below.

    1. The Bot's one goal is to take a single territory on any given turn. It simply looks for the highest attacking to defending army ratio.
    2. It will not attack if the ratio is less than .8 (or some other reasonable number). Each dice mod of 1 changes this number by 0.2.  Example: If attacker is rolling 5D v 6D, the ratio of attacking armies to defending armies becomes 0.8 + 0.2 = 1.0
    3. It rolls "smart" dice (only 3 v any, 2 v 1,  or 1 v 1 dice).  Attacker advances all armies leaving 3 in the originating territory if possible.
    4. It always cashes cards if possible and spread bonus armies around evenly. 
    5. Acquisition of continental bonuses is ignored.
    6. Cards are cashed immediately.

    BAO alternative:
    https://sites.google.com/site/m57sengine/home

  14. #14 / 29
    Premium Member Yertle
    Rank
    Major General
    Rank Posn
    #21
    Join Date
    Nov 09
    Location
    Posts
    3997

    I'm against an AI winning for a player.

    I'm not against an AI winning (and getting the stats possibly).

    Cumberdale Classics Coming Soon!

    Check out WarGear Gear at the WarGear Zazzle Store!

    "But many who are first will be last, and many who are last will be first." Matthew 19:30 - Good strategy for life and WarGear!


  15. #15 / 29
    Shelley, not Moore Ozyman
    Rank
    Brigadier General
    Rank Posn
    #40
    Join Date
    Nov 09
    Location
    Posts
    3448

    I agree with Yertle, the AI shouldn't be able to secure a win for the player it took over for.

     

    M57 - Isn't rule #6, redundant (see #4).  And for #4, I think spreading the armies evenly would make it harder to continue getting cards.   Some simple alternatives:

    Spread evenly between territories that border an enemy.

    Spread 50% evenly between all territories, put other 50% on a random border territory.

     

     

     

     


  16. #16 / 29
    Standard Member BlackDog
    Rank
    Lieutenant General
    Rank Posn
    #5
    Join Date
    Apr 10
    Location
    Posts
    359

    The thing that instantly crossed my mind is that if we create a bot that follows simple playing rules, then once I figure out those rules I can manipulate the bot to take the actions I want it to take.  Also, the bit about a player being able to return and kick the bot off is a very bad idea if you think it the whole way through.


  17. #17 / 29
    Shelley, not Moore Ozyman
    Rank
    Brigadier General
    Rank Posn
    #40
    Join Date
    Nov 09
    Location
    Posts
    3448

    BlackDog wrote:

    The thing that instantly crossed my mind is that if we create a bot that follows simple playing rules, then once I figure out those rules I can manipulate the bot to take the actions I want it to take.

    Good point.  Two perspectives on that:

    #1 - Manipulating the simple-bot is part of the game now. 

    #2 - Make simple-bot non-deterministic.  Every decision is a probability & is then decided randomly.

    For example, for rule #1, instead of:

    The Bot's one goal is to take a single territory on any given turn. It simply looks for the highest attacking to defending army ratio.

    use:

    Calculate attack/defense ratio for each border.  Total all ratios over the threshold (call this TR).  Pick a random real number between 0 & TR, and use that to pick which border to attack.  Borders with best ratio will get attacked most often, but not all the time.

    This definitely is getting into the more complicated realm, but basically fuzzy instead of binary logic and is not really that much more complicated.

     


  18. #18 / 29
    Brigadier General M57 M57 is offline now
    Standard Member M57
    Rank
    Brigadier General
    Rank Posn
    #73
    Join Date
    Apr 10
    Location
    Posts
    5082

    Ozyman wrote:

    I agree with Yertle, the AI shouldn't be able to secure a win for the player it took over for.

     

    M57 - Isn't rule #6, redundant (see #4).  And for #4, I think spreading the armies evenly would make it harder to continue getting cards.   Some simple alternatives:

    Spread evenly between territories that border an enemy.

    Spread 50% evenly between all territories, put other 50% on a random border territory.

    Yes,  Rule 6 is not necessary.  I forgot that it's already covered in rule 4.

    As for spreading armies evenly, my original intent was to make the bot play poorly enough that it loses and to have the demise of the booted/surrendering player not create an inequitable situation for the other players. E.g.  I didn't want the bot to win as a disincentive to the booted/surrendering player, but how it allocated its armies can be whatever we want I suppose.  The question we should always be asking is "will this be fair to all players"?

    The problem with giving the win to the bot is -- what does the losing player get?  A loss?  How can the stats possibly manage this?  I suppose you could give the win to the bot and score the entire game as if the bot played it - in which case the player gets off the hook for being booted.  Actually, the more I think about it, the more I like this solution.  In the event that the bot wins, the player gets nothing for whatever efforts they put into the game.

    Just to be clear.  Imagine you're playing lights out in a great game and you're about to win but you get booted by the clock.  The bot kicks in and finishes off the job.  Bot gets credit for everything.  You get nada for all your brilliant work. Works for me.

    As for being able to manipulate your position knowing how the bot plays, I see no problem with that.  
    Everyone else has the same information and will be doing the same thing.  This is another reason that the rules for bot play should be uncomplicated and easy to understand.  It's also an argument for completely random army placement (it makes it harder to forecast what the bot will do.  On the other hand, I like Ozy's 50-50 rule.

    BAO alternative:
    https://sites.google.com/site/m57sengine/home
    Edited Mon 28th Mar 17:29 [history]

  19. #19 / 29
    Premium Member Yertle
    Rank
    Major General
    Rank Posn
    #21
    Join Date
    Nov 09
    Location
    Posts
    3997

    M57 wrote:

    I suppose you could give the win to the bot and score the entire game as if the bot played it - in which case the player gets off the hook for being booted.  Actually, the more I think about it, the more I like this solution.  In the event that the bot wins, the player gets nothing for whatever efforts they put into the game.

     

    That just promotes getting out a loss even more!  I know I'm going to lose so let the bot take over rather than lose my points.  Not good at all.  The player has to lose points.

     

    M57 wrote:

    Everyone else has the same information and will be doing the same thing. 

    That's probably not good enough reason.  I would say the majority of people wouldn't know the bot information.

    Cumberdale Classics Coming Soon!

    Check out WarGear Gear at the WarGear Zazzle Store!

    "But many who are first will be last, and many who are last will be first." Matthew 19:30 - Good strategy for life and WarGear!


  20. #20 / 29
    Brigadier General M57 M57 is offline now
    Standard Member M57
    Rank
    Brigadier General
    Rank Posn
    #73
    Join Date
    Apr 10
    Location
    Posts
    5082

    Yertle wrote:
    M57 wrote:

    I suppose you could give the win to the bot and score the entire game as if the bot played it - in which case the player gets off the hook for being booted.  Actually, the more I think about it, the more I like this solution.  In the event that the bot wins, the player gets nothing for whatever efforts they put into the game.

    That just promotes getting out a loss even more!  I know I'm going to lose so let the bot take over rather than lose my points.  Not good at all.  The player has to lose points.

    No.  If the bot loses, the player takes the loss!  Only if the bot wins does the player get away with not taking a loss.  This is why the bot shouldn't be a strong player.  The insult to injury is that the dumb bot gets the win.  

    BAO alternative:
    https://sites.google.com/site/m57sengine/home
    Edited Mon 28th Mar 17:41 [history]

You need to log in to reply to this thread   Login | Join
 
Pages:   12   (2 in total)