Nightinggale
Deity
- Joined
- Feb 2, 2009
- Messages
- 5,280
There is a problem with diplomatic requests from the AI. What happens is:
(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?
- King offers a unit for a certain amount of gold
- Human player's turn start with a ship in Europe, which is unloaded (gold increases)
- King's message shows up and the player has to reject
(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?