What should we do with the AI diplomacy messages?

Which solution would you prefer?

  • Do a full scale queue

    Votes: 15 100.0%
  • Enable answers regardless of amount of gold

    Votes: 0 0.0%
  • No change. Focus on something else

    Votes: 0 0.0%

  • Total voters
    15

Nightinggale

Deity
Joined
Feb 2, 2009
Messages
5,280
There is a problem with diplomatic requests from the AI. What happens is:

  1. King offers a unit for a certain amount of gold
  2. Human player's turn start with a ship in Europe, which is unloaded (gold increases)
  3. King's message shows up and the player has to reject
The issue is that the answers are generated during step 1 and then the player risks having to answer not enough gold during step 3 even though the player at that time has enough gold.

no gold.jpg
(screenshot from Jazzer32's bug report)

Earlier today I proposed the solution to assume the player always has enough gold during step 1 and then ignore answers, which have to be rejected due to lack of gold.

However thinking about it for a moment, I realized I would have to spend a while going through the generation of all diplomatic actions requested from the AI. If I have to do that, then why not go all the way and get it done once and for all?

Diplomatic queue
I once coded a queue in Medieval Conquest where the AI would place their diplo events (step 1). If the queue isn't empty, the player will have a button to request the top one. A new answer would be "let me think about it" and the very same diplo event would be placed at the bottom of the queue.

One useful case for this would be the king requesting war against somebody. The player will "think about it", look at power, checking out location of colonies etc before opening the same diplo event again and giving the answer.

If the answers are coded when the diplo event is taken off the queue, the "not having enough gold" response will fit the time. The player can then again "think about it", sell something (or diplomacy with other players to get gold) and open again to get the option to pay.


Yes it's more effort than just allowing all answers and just copying from Medieval Conquest won't do because we would like a version, which doesn't cause OOS. However it is very much doable and has been tested already as a concept.

Now the big question is: should we aim at adding a queue like this? Any comments?
 
@Nightinggale

The "Full scale queue" sounds best - but it sounds damn complicated and thus like a lot of effort.
The "Enable answers regardless of amount" is the easiest possible solution to the small annoyance of "pre-calculated DLL-Diplo-Events" in my eyes.
The "No change" is fine to me as well, because I am still happy with my old DLL-Diplo-Events even though they may be "pre-calculated" and thus sometimes not perfect.

Summary:

My personal motivation to work on this is basically 0 - because there are uncounted things I will want to work on first.
I can live with all 3 alternatives. I can not really tell you which alternative you should do, because it simply depends on your motivation.

I am fine with every decision you make on this. :thumbsup:
(I still voted for "full scale queue" because it sounds like the best concept for future new DLL-Diplo-Quests being added.)
 
My personal motivation to work on this is basically 0
That's fine with me. Since a not insignificant amount of the work will be related to savegames and network traffic, I would say I would be the one to code this anyway. I would likely need somebody else to make button art for it eventually, but that's about it.

I can not really tell you which alternative you should do, because it simply depends on your motivation.
My motivation is mainly towards the queue, but the time requirement makes me wonder when/if it's a reasonable idea to start compared to what I can do on other tasks.
 
Does a "full scale queue" mean that a player could be stuck with the king´s request, e.g. "go to war against England" and never get´s any other request again, because that will always return to the top of the queue if the player "thinks about it" without ever receiving a final - e.g. "you have let the King wait too long" - same negative consequences as if the player had said no fromt the start?
 
Does a "full scale queue" mean that a player could be stuck with the king´s request, e.g. "go to war against England" and never get´s any other request again, because that will always return to the top of the queue if the player "thinks about it" without ever receiving a final - e.g. "you have let the King wait too long" - same negative consequences as if the player had said no fromt the start?
No, the idea is that end turn is disabled until the queue is empty. A player can't avoid answering the same turn.

As for "never get another request", when the player thinks about a diplo event it will be put at the bottom. When the player requests one, it will be the top one. This way a player will cycle through the queue rather than getting stuck with the same and not be able to access the rest of the queue before it's answered.

TODO: figure out what to do with multiplayer timer. What will happen if a player runs out of time before answering?
 
  • Like
Reactions: nci
No, the idea is that end turn is disabled until the queue is empty. A player can't avoid answering the same turn.
Sounds great. :)

TODO: figure out what to do with multiplayer timer.
Simply have all "DLL Diplo Events" automatically be answered with as "rejected" when timer runs out. :dunno:
 
Simply have all "DLL Diplo Events" automatically be answered with as "rejected" when timer runs out. :dunno:
That gave me an idea. Adding a default answer, which is what is answered if times runs out. Well maybe that was sort of your idea, but I take it further. If no default answer is set, then bypass the queue and it will act like it does right now. This way diplo events with only one answer will pop up right away, which would be useful for say AI declaring war.
 
The player will "think about it", look at power, checking out location of colonies etc before opening the same diplo event again and giving the answer.

Sounds wonderful.

Also can solve other diplomatic actions (beyond not enough gold), like:
- Natives offer to abadon village (because cultural borders)
Right now player stuck in diplomatic screen - and maybe have no clue WHERE is that village. Or is it useful for trade or not, etc... -> with this can check before answers that solved also
(If I understand well.)
- Other colonial power offers a map -> with this can check: where is their (assumed) exploration area/ do it worth it or not
etc...
 
Last edited:
Top Bottom