Here's a quote from another thread:
I originally planned to respond to it in that thread, but I soon realized that it is such a huge topic that it warrants its own discussion thread.
Diplomacy is one area that has been severely neglected in all of gaming. The only game I've ever played that had good diplomacy was an MMO called Shadowbane (and the diplomacy occurred between real players and involved the real consequence of losing your city).
Metrics are totally the wrong way of doing diplomacy. You can't quantify a real person's opinions or a culture's customs with some silly numbers. You can't quantify hidden agendas or secret agreements.
A few key rules should be followed when designing the diplomacy system of a game. The AI-controlled players should:
All of these rules have been broken by games in the past, to their detriment.
Obviously, the design of a diplomacy system is much more complicated than following a few rules. There must also be a strong strategic foundation for the AI which allows it to formulate realistic goals and take the necessary steps to achieve them. AIs should be able to "see through" a player's gestures towards them and find weaknesses to exploit.
If a player is weaker militarily than the AI but stronger economically, it should not allow the player to bribe it into abandoning its plans for invasion. Rather, it should attempt to suck as much gold, mana, spells and other bribes out of the player that it can to further bolster its position.
This type of system is very hard to design, I admit, but I believe it is worth trying. I hope that the scripts and routines used for the AI are open to the modding community so that modders can fix any glaring mistakes or loopholes in the diplomatic AI.
What are your suggestions to improve the diplomacy of this game and elevate it over the mistakes of the past?
Actually I was also thinking more like Civ4 with pre-programmed spell/unit combos and a removal of the silly +5 friendly/-1 cautious and other "We have enough on our hands right now" giveaway nonsense.
No, it should not lock up the city the way it does in Civ4 when you park archers on a hill near its town. The AI should attempt diversionary attacks and other things, perhaps sending you diplomatic threats and so on.
Yeah, but most of those 1000 courses of action can be pared down. For example, it doesn't need to consider all of the empty spaces on the map, only the ones with interesting things like caves, dungeons, nodes or neutral towns to attack.
Another reason I mentioned Warcraft 3 is because the AI is very good at sending out its heroes to level up and gain loot etc. The AI in MoM never sent its heroes into caves at all. I frequently encountered caves near the enemy's fortress city that were unexplored and had great stuff in them.
Combat is only max 9v9 units, so it is easy to simulate. It won't be anywhere near as huge and complex as a TW game. It also doesn't need to be 1000 times, it can be a smaller number. Testing will reveal a good sample size and margin of error.
The simulation is more of a rough estimate to avoid throwing away its units against an army it has no chance of beating. The AI should really only attack when it knows that its units have an almost guaranteed win (greater than 75% chance of winning).
Again, many times in MoM the enemy would attack my flying unit with a bunch of ground melee units, giving it exactly 0% chance of winning.
I love how Eurisko supposedly came up with some sort of groundbreaking strategy in that situation. I guess the "real" competitors forgot the first thing about the contest: that is was indeed a contest and not some sort of reality simulation. Any fool should have checked the extreme ends of the force mix; both the swarm and the floating-ball-of-steel single ship solution. God knows I have in plenty of situations. Maybe the program did a better job of it, but almost certainly there was other entries of the same type.
Eurisko's solution is *exactly* the best solution for beating the Dread Lords in pre-expansion GalCiv II. For that matter, it's the solution hive insects adopted and it works great for them. When was the last time you poked your finger in a fire ant nest, despite the fact that you can kill a single ant easily?
The AI should also recognize that there are situations where kamikaze attacks to force attrition on a superior enemy is sometimes necessary (but it needs to evaluate when attrition is worthwhile or not). Losing one battle is often necessary to set up conditions to win a bigger battle.
One possible scenario: a quick calvary raid could wipe out a good number of archers in an invading army. Even though you lost most of the calvary doing it, it provides the margin of victory for when your main army attacks.
You forgot the major 'those forces are there to hide them from the guy I'm really launching them against' I've run into in GalCiv2 a few times... Or, also from GalCiv2, is the AI's occasional reading of my nodal defensive fleets (I was experimenting with an idea I read in a book, where I keep my fleets in 'nodal' positions and move them to cover as needed) as an offensive buildup.
So, more fundamental problem, how do you recognize such a buildup?
Actually, yes it does. THink about it, is a tile being empty really synonomous with it being irrelevant? You have choke points, you have potentially important 'city building' locations, etc etc. And unless you consider every tile there's no way to differentiate between those and 'really' empty tiles.
Finding ideal city spots is pretty easy for the AI to do because it only has to do it once for each city-radius sized area of map. It does not need to do this continuously throughout the game, only for new land areas as they are explored. And the comment was about 1000 courses of action, so I think it's fair to say that it can be easily pared down with an algorithm that finds all the good city spots. Civ4 had this done perfectly and it even used it in your favour with the auto-help city spot suggestion thing.
All in all, I am really optimistic about what can be done with the AI. Imagine a sorcery wizard who pretends to be your ally all game, and then secretly bombards your enchanted fortress with 9 flying invisible warships. Crazy stuff like that is possible, the AI just needs to be given a playbook for how to do it.
One thing that might be mentioned is that for an TBS, a min-max like algorithm seems like a natural paring, but for a game as complex as this one is that the min-max has to be abstracted somewhat from the base game.
It would be interesting, in my opinion, for some of the scripts to control this abstraction a bit. For instance, having the AI node where clusters (and the script could change how a cluster is recognized somewhat) of enemy units are vs the AI's own units, then have a min-max face off to determine the best way to attack them. However, the min-maxes goals could also be adjusted in the script, such that maybe maximizing land not owned by the enemy, or the maximizing the AI's resources.
This type of approach would take care of the many 'impossible' techniques that would otherwise be computationally out of the bounds for this problem. However, the techinicallity of scripting languages would make them not as fun to play around with as one that let me give the AI personality.
The AI in systems like chess or go have typically been a min-max algorithm tied with a neural network. I think it would be interesting for this games AI to have a similar system, but with a few changes. I would like a method for users to define some of the abstractions that the min-max algorithms take into account and also being able to write a script that the neural network takes into account to give the AI personality. The developers could then just get a really cool neural network going, and maybe have a wicked AI. Maybe they could classify the neural networks into different personallities and those could also get swapped around in scripts.
Of course, I don't know much about writing gaming AI, so maybe this is all crap. But, I think that having this behind an interface that conformed to ChongLi's original post ideas would certainly be an interesting one. It really bothers me when AI gets a drastically different interface to the game engine than that of the player (such as options the player doesn't get, or certain kinds of additional information, like resource locations).
I think it's funny that the organizers wanted to cancel the competition.
Also, thank you for reading and responding to my post. Getting the last post on the page and thusly being ignored when I have an interesting point is sometimes tiring.
To a certain degree, this is a necessary problem for a friendly UI. The player wants to make a trade with the AI. If the player can't see what the AI has for trade, the player gets to play a guessing game of trying to figure out what the AI has, and what among that the AI is willing to trade.
While that might make the AI better at keeping its tech secret, it's a terrible UI and will drive players up the wall very quickly.
I think it's far more important to nail down all of the give-aways to make the game as hard as possible before having the AI resort to cheating. This is one such easy fix. The UI can be designed to work around it anyway, with an offer-counter-offer negotiation/barter mechanic.
You make an offer of a spell you have, the AI can choose to turn you down or offer one of its own spells in exchange. Perhaps you suspect the AI might have a spell that you want? You can suggest that it name a price for that spell and then you have the option of matching or making a counter-offer. If the AI does not want to trade that spell to you, it may refuse or even deny that it has the spell altogether. Similarly, if the AI does not have the spell it can pretend it does have the spell and refuse to trade it.
If diplomacy gets included, it must NOT be abuseable! That is the primary objective for me. Age of Wonders A.I f.e could be fooled like a 4-year old (Hey A.I! Wanna buy these watchtowers I just stole from you only to have me steal them all again the next turn and sell them to you again?)
Trading AT ALL in these games should just be disabled. It's too open to abuse.
But if trading is in then...
Techtrading should be disabled and you should not be able to see what he got. And you should sure as hell NOT be able to micromanage the trade until the text turns green! You should just send a proposal and then the A.I either accepts, denies or gives a counterproposal (100 gold more and it's settled or "can't have that city what about this little farm over there instead..?")
You should go back and read the rest of the thread, we solved all of this already.
I read the 1st page. And it's unreasonable to ask people to read entire threads since we're talking about the OP. Just giving my input.
Not really. There is not fundamental difference between several rounds of offers and counter offers and simply adjusting for the green text except for click overhead and extra dialogue to read.
"I'll pay 200 gold for your longbow tech"
"No, I want 350"
"250?"
"No, 300."
"275... no, frack this. I'll just pay the damn 300."
As opposed to asking for longbow tech and having the text turn green at 278? No thanks, I'll take green text any time. Frustration should never be the determining factor for diplomacy, or any other part of the game. Now, the AI offering reasonable alternatives would be an improvement.
"I'll pay 200 for your longbow tech."
"No, but if you offer your irrigation tech we can haggle from there."
That's a huge difference.
As for diplomacy leaking information, you have a point - but information leaks both ways. They learn just as much about you as you do about them. If there was a convenient in-game way of keeping track of information you had uncovered these leaks would not be that big a deal, but again the frustration issue pops up. I'm not going to bother keeping a notepad to write down which factions I've traded which techs to, and which techs I got (or was offered) in return as a means of tracking exactly how much I know about each opponent. If you're going to conceal critical information, there damn well be a system in place to allow the player to automatically track what information they DO have about each civ.
No, because offer-counter-offer doesn't always have to narrow down to a price in the middle. The AI could instead decide to raise its price if you show a lot of interest in it. It could also lie and promise things it doesn't have in order to trick/cheat you. It could even turn around and deal it to somebody else at a price you're unwilling to pay.
I was thinking the same myself. The idea I could best come up with is a system which logs relevant information (such as races, units in use, resources controlled, spells owned) for you automatically and stores it in a dossier attached to each of your rivals. Such a system could even log information such as spells the enemy casts or materials/units used in battle.
Only if the player has the same options.
The GalCiv system already has that option. If I don't have the 2000 bc they want I'm not getting it, but someone who does can get it. The AI just isn't as aggressive about trading as humans are. In fact, in earlier versions you HAD to trade techs to everyone in one turn, because the AI was so aggressive at tech trading the tech game was essentially flat. What one AI had they all had within a few turns.
Oh god, visions of horrible tie ins with whatever cluster fuck espionage system eventually gets adopted just flashed though my head and made me want to hang myself.
No it really can't promise things it doesn't have, because if you accept the offer its going to then cancel the trade due to not actually having what it offered in the first place, and the players time just got wasted. Same thing with offer-counter offer. It gets you the same basic result with a lot more annoyance in the middle. Players simply won't tolerate it.
Well, all I hope for is that the AI in EWM won't be as cheap as in many other games(cheating, ganging' up on the human player like death-row prisoners on a 10-year old girl etc. etc.) If it's at least will be able to use diplomacy to a certain degree and hold it's own in a war(read: not buying hordes of cheap cannon-fodder and rush them out onto the battlefield) and using magic properly... then I'm satisfyed. But if it holds the same standard as say... Dominions 3, then the game is a big NO-NO for me.
And the devs mentioned SOMEWHERE that they were going to focus on a awesome SP experience. I guess a decent AI is part of an awesome SP experience.
Why can't the AI close the trade and rip you off? Sure, it may warrant a declaration of war on your part, but perhaps you are not in a good position to do that? If the AI is able to extort bribes out of you, why can't it also scam you out of deals as well?
All of you complaining about AI abuse would have some ground if this was a multiplayer game, but I think most people who play complex TBS games are mature enough to role-play properly to get the experience they want. If the AI can be abused in some obscure yet unfair way... DON'T ABUSE IT THEN. If the AI is flawed in a typical transaction then there's a problem, but repeatedly selling back easily recaptured cities for gold is just unsportsmanlike on the player's part. If you want to pimp out your metaverse score or something then I'll shut up but I think most people just want a fun AI that makes you feel like you're really managing a fantasy kingdom, not one that make you feel like you're trying to beat it at a mere game.
As i said earlier, only if the player has the same ability to abuse the AI in the same manner.
Uhh, multiplayer has been part of the plan from day 1. They have reason to be concerned.
I guess I never mentioned in my initial post, but another rule should be:
The AI should not be capable of anything that the player cannot do.
This will not fly. I also post a bunch on the Bethesda forums and tons of people bring this up in regards to fast travel. People say "Just because fast travel is in the game, doesn't mean you have to use it. Just don't use it".
If a bad feature is incorporated into the game design, it poisons it. Far better to get the design right, especially if you know about the issue ahead of time.
Because players won't tolerate it. As soon as release comes out, by day 3 there will be a 500 post thread in here full of people screaming about how the AI is either bugged or cheating and that they're permanently disabling all tech trading until its fixed.
The most basic assumption about trading in games is that once you push the "agree to this trade" button, the trade you agreed to actually happens. Taking that away for trades that may or may not actually happen as promised will piss players off in single player, and ensure that no trades happen outside of friends playing with each other in multiplayer.
Straight up, it's a bad idea for a video game.
This.
The issue with a clever AI, as I have stated elsewhere, is the human player will rarely see it as "clever". What would you think if the AI allied with you, then 2 turns later stabbed you in the back and took a town or two from you. Youd get pissed and assume the AI is broke "why attack me, im stronger than it!" when in reality that exactly why the AI did attack you.
The problem with alot of the ideas in this thread is they assume everyone want to play a game of cloak and dagger shadow diplomacy. Im sorry, but I think I speak for several people when I say "dear god no"
This has been a very nice and very long debate. I don't have experience in designing AI, so I hope to be able to say my couple of measly points without total blamage....
While I agree that an AI should not give away information gratis, and I agree that that part of this information also includes its own plans and evaluations of its opponents' situations (it's "feelings" towards others), I believe it might do more harm than hurt to obfuscate too much -- also considering the fact that communication will involve information, and it will be up to the player to interpret that information (correcty or incorrectly). After all, this is an AI, and hence it needs a quantifiable number in order to evaluate a situation.
In other words, the AI should be able to communicate short-term, immediate (or, if you prefer: "tactical") goals without giving away strategic information. Otherwise, I think trading and diplomacy might be too difficult. I can imagine that the AI lists a number of "things" or "events" which it indicates it is interested in (for whatever reason), and somehow quantifies that -- e.g. three green smiley faces for an iron ore means that's fairly high on its list, while one yellow smiley face for a quick peek into your city X is not high on its list. This would not preclude the AI from "lying", e.g. it might appear to want that iron ore because it doesnt have any or enough, but it might be doing that as a feint.
Some AIs (but not all) should be just as willing to have you go to war with neighbor Y as they are with you going to war with neighbor Z, no matter what their "friendliness" level towards either and towards you -- unless that AI is attempting to win by a tricky victory condition and your going to war with one or the other plays a role in that regard.
On another point, making "friends" or "allies" and signing non-aggression pacts should be very hard to attain, and these should always -- like any deal -- be able to be changed or broken when the AI deems the penalty for doing so "worth it". The AI should not be forced to be "locked in" to a deal for life. Most NAPs or alliances involving NAPs should be kept as short as possible, so as to keep the AI's dynamic choices more open.
The AI should be able to interpret information it has about you and formulate concrete suggestions based on this. For example, "We know what you are up to" is not enough -- the AI should be able to formulate something like this as a demand:
- "Remove 60% of your troops from provinces X, Y and Z by turn T2", whereby the number 60% should represent some quantifiable measure of strength. This might be worth quite a bit, let's call it N.
- "Remove 60% of your troops from provinces X, Y and Z by turn T2, and do not put any more in for another 10 turns" could be worth N+10. 70% of troops could be worth N+12. Provinces X and Y alone would be N again.
If you do not fulfill the bargain between turn T2 and T12, the AI should receive a bonus, say something worth N+114. This would make closing deals involving events in the near future possible.
Also, this should reflect the AI making reasonable demands and assessments. If provinces X, Y and Z are all near your border to him, then this could reflect his fear of your invasion -- or his desire to get your troops out so HE can invade. His choice of provinces (and yours as well in reversed circumstances) need to have a quantifiable value.
Well I hoped some of that was useful... thank you for listening.
It sounds like some people here want a straightforward, smooth and predictable game where the player wins every time. Perhaps this should be the point in the discussion where we bring up the difficulty slider.
Most of the ideas I've given can easily be incorporated into the difficulty setting of the game. Personally, I want to play the hardest game possible without having the AI outright given freebies, knowledge and capabilities the player does not have.
Many of the rules people want the AI to follow (such as being a good neighbour and not stabbing the player in the back) are rules players are often guilty of breaking. I don't think that's fair. The AI should not be crippled, it should be able to do anything the player can do, even if that is not convenient for the player.
If you really don't want it, turn the difficulty level down to easy.
There are many great features available to you once you register, including:
Sign in or Create Account