having a wide variety of things to be said that relate to the situation at hand is something I really enjoy. Both as a player and somebody who wants to create such text (this is all going to be in python right?)
I am glad you have it set out here. I might want to throw in a tid-bit. Here you have "military might" being compared, but might you also want magical might compared? Or possibly relating to the strategy choosen by the AI? (Focusing on heroes vs. focusing on armies vs. focusing on super-channeler)
I can imagine a leader saying something like "I grow tired of the tension at our boarders. Prepare to taste the cold steel of my army" but that would not make much sense if they were 'going-gandalf' and were basically charging in with just their channeler and a few heroes or a dragon. The dragon might make the military might higher than an army would, but certainly there is no cold steel here. I would not expect you to have specific dialog refering to rare fantastic creatures, but the AI player was specifically building his economy (or at least essence distribution) based around "powerful channeler + heroes" mentality. So it would be more fitting to say something like "I have grown tired of the tension at our boarders. You will soon fall before my <insert most offensive powerful>"
(of course one could have better dialogue than what is above, but its just examples)
I assume this engine can evolve easily to 2 way conversation. However, IF it can be easily evolve into scripted actions, it will be even better. In diplomacy, one can only have a limited number of ways to answer the 'flavored text', i.e. declare war or not. But on other conversations, the engine will need to have a way to either link to AI or many more scripted actions.
you know what assuming does... But a 2 way conversation is a bunch of 1 way messages. Just because the code is setup as "faction sending message" and "faction(s) hearing message" doesn't mean the listening faction(s) can't respond. Instant messaging is setup very similarly to what is above, but people hold conversations through the "1 person sends, other person receives" format. I guess you could say "If both parties are talking at the same time, nobody would be listened"
I put "(s)" on the end of faction just because I would like to have 'wizard council' type diplomacy able to occur. In Civ4, there was the UN. And GalCiv2 had the things you had to vote on from time to time. But it wouldn't fire up a real discussion about it.
In theory there should be something similar to a 'group chat' where the factions put in a message or request that is sent to several people at once, and they can respond to anything put there. So if there is agreed that a wizard council should be formed to dictate the rules of Elemental, and all war declarations then must be done through the magical equivelant to the United Nations, then the responces to such actions should be put straight into the council room, rather than told to you later in a barrage of "you declare war on my friend, me smash you" messages.
Also then as a group, factions could decide how things result. So lets say faction A declares war on faction B... Factions C would start a council with factions D, and E saying "I am going to join A, but only if you both agree to join faction A's side as well. Then faction D could respond "I will if I get money" and faction E could agree with C and decide to pay D's request so they are all on the side with A against B.
I guess then you wouldn't just have
you might also need something like <TargetFaction> to specify to which faction the statement is referring, while still allowing for the "listening factions" to hear the conversation.
(perhaps this would be better for an "idea" thread, but it seemed related to the topic enough for me, AND came up in discussion)