PDA

View Full Version : Diplomacy bugs & quirks & adaptations


Dominick
Jan 15th 2009, 11:37 AM
Units shouldn't all be the same colour
Rules summary in a convenient -optional- location at the unit placement phase
Four player alternative
Three player alternative
Two player alternative
AI for computer players (w/o diplomacy duh)


Just a list in no particular order of what I may or may not change/add to the game. Depends on hard it is (= how lazy I am).
Feel free to add any.

dilettante
Jan 15th 2009, 11:42 AM
Units shouldn't all be the same colour
Rules summary in a convenient -optional- location at the unit placement phase
Four player alternative
Three player alternative
Two player alternative
AI for computer players (w/o diplomacy duh)


Just a list in no particular order of what I may or may not change/add to the game. Depends on hard it is (= how lazy I am).
Feel free to add any.

I think the 2 and 4 player games would be good. I'm not sure about 3 players though; if you were the one left out of the alliance it would make for a frustrating game right from the start.

An AI would be really cool, but, man, I'd hate to be the one tasked with crafting and implementing that decision tree...

Dominick
Jan 15th 2009, 12:05 PM
I think the 2 and 4 player games would be good. I'm not sure about 3 players though; if you were the one left out of the alliance it would make for a frustrating game right from the start.
Isn't that the case for any setup with more than two players ? Anyway, I don't think it'll be much extra work -if any- to implemement '3' when I'd have '2' and '4' already.


An AI would be really cool, but, man, I'd hate to be the one tasked with crafting and implementing that decision tree...
It's not so difficult as it may seem. Things like that don't work like "If I'm in Wales with a fleet that supports a unit in London, and the opponent has a fleet in the Irish sea and one in the English channel, and etc. etc.", but in a heuristic fashion, i.e. basically trial and error.
First you make sure only legal moves can be made. That's just a translation of the rule book. Then you make sure the bot (= AI) considers ALL possible moves. Then you find an algorithm to evaluate the outcome of all these possible moves. That's the tricky part. The quality of this evaluation is what makes the AI stupid or brilliant.
It also involves the depth that the bot will consider; viz. evaluating the field after only one move, then evaluating with all the possible countermoves by all opponents; then evaluating with all the possible moves after the countermoves and so on. It's basically just calculating. Most chess engines work like that too.

Come to think of it, you know the game well : Wouldn't it be against the nature of the game to have the AI's go on conquering other territories because they would obviously not be involved in any diplomacy* ? I think it would be better if I could just have them defend their home region in a sensible way. What do you think ?

* Now that would be a real challenge :)

Michael
Jan 15th 2009, 12:14 PM
Isn't that the case for any setup with more than two players ? Anyway, I don't think it'll be much extra work -if any- to implemement '3' when I'd have '2' and '4' already.
Three just seems like an 'odd' number for the game.

Three player RISK sucks real bad.

Come to think of it, you know the game well : Wouldn't it be against the nature of the game to have the AI's go on conquering other territories because they would obviously not be involved in any diplomacy* ? I think it would be better if I could just have them defend their home region in a sensible way. What do you think ?

* Now that would be a real challenge :)
Just having the neutral empires 'support-hold' their territories would be an improvement over just default 'hold' commands.

drgoodtrips
Jan 15th 2009, 12:25 PM
Isn't that the case for any setup with more than two players ? Anyway, I don't think it'll be much extra work -if any- to implemement '3' when I'd have '2' and '4' already.


It's not so difficult as it may seem. Things like that don't work like "If I'm in Wales with a fleet that supports a unit in London, and the opponent has a fleet in the Irish sea and one in the English channel, and etc. etc.", but in a heuristic fashion, i.e. basically trial and error.
First you make sure only legal moves can be made. That's just a translation of the rule book. Then you make sure the bot (= AI) considers ALL possible moves. Then you find an algorithm to evaluate the outcome of all these possible moves. That's the tricky part. The quality of this evaluation is what makes the AI stupid or brilliant.
It also involves the depth that the bot will consider; viz. evaluating the field after only one move, then evaluating with all the possible countermoves by all opponents; then evaluating with all the possible moves after the countermoves and so on. It's basically just calculating. Most chess engines work like that too.

Come to think of it, you know the game well : Wouldn't it be against the nature of the game to have the AI's go on conquering other territories because they would obviously not be involved in any diplomacy* ? I think it would be better if I could just have them defend their home region in a sensible way. What do you think ?

* Now that would be a real challenge :)

Chess engines use alpha-beta pruning and other heuristic choice elimination algorithms so that you aren't waiting on the AI all day :D You also have to come up with a qualitative numerical evaluation of the board at any given point, for comparison sake. That isn't terribly hard, but one that isn't well conceptualized leads to a really dumb AI. As an undergrad, I wrote AI's for playing Scrabble and Mancala. Conceptually it isn't difficult, but the coding effort creeps up on you. Of course, this was almost 10 years ago, so maybe the coding effort crept up on my more as a novice... :o

dilettante
Jan 15th 2009, 01:49 PM
It's not so difficult as it may seem. Things like that don't work like "If I'm in Wales with a fleet that supports a unit in London, and the opponent has a fleet in the Irish sea and one in the English channel, and etc. etc.", but in a heuristic fashion, i.e. basically trial and error.
First you make sure only legal moves can be made. That's just a translation of the rule book. Then you make sure the bot (= AI) considers ALL possible moves. Then you find an algorithm to evaluate the outcome of all these possible moves. That's the tricky part. The quality of this evaluation is what makes the AI stupid or brilliant.
It also involves the depth that the bot will consider; viz. evaluating the field after only one move, then evaluating with all the possible countermoves by all opponents; then evaluating with all the possible moves after the countermoves and so on. It's basically just calculating. Most chess engines work like that too.

Come to think of it, you know the game well : Wouldn't it be against the nature of the game to have the AI's go on conquering other territories because they would obviously not be involved in any diplomacy* ? I think it would be better if I could just have them defend their home region in a sensible way. What do you think ?

* Now that would be a real challenge :)

Ah, defensive bots sounds more practical, especially since they'd really only have to be concerned with the area immediately around their territories and would never have more than 3 units to worry about.
Still, it's potentially a lot of number crunching, depending on how far ahead it has to think. I read somewhere that Austria alone has 200+ potential first moves, taking all permutations into consideration.

Dominick
Jan 29th 2009, 09:59 PM
I think it would be a good idea if I checked asap whether it's not possible to simply delete games.