I'm not yet ready to begin any coding work; I want to have a big library of encounters before I commit to any coding. I expect that I'll need to build up experience with different kinds of encounters before I start writing code.
For example, I ran into a tough problem when I wrote an encounter about how Arthur would distribute the trove of items he had obtained through trade. The problem required him to distribute N objects among M recipients. The only way to do that with the simple structure would be a series of encounters, one for each goodie, with a set of options including every possible recipient. While this is theoretically possible, it would be damned confusing to the player, who needs to adjudge the overall fairness of the distribution. What if the player forgets to award something to one of the potential recipients, inadvertently offending them? I suppose that I could write special code that would insert the current state of the handouts into the existing text, but that would be pretty clumsy.
One solution is a simple table cross-linking recipients on one axis with goodies on the other axis. This would require some hack to compress the horizontal space required by the labels on the horizontal axis. Moreover, the user interface code would certainly be a mess.
This problem extends beyond the single case I mentioned above. One of the fundamental jobs of any leader was to distribute goodies to his subordinates. This was crucial to maintaining their loyalty. Arthur will have the opportunity to distribute goodies after a victory.
I don't want to be forced to have exactly one goodie for each potential recipient; I want to put Arthur into the dilemma of having fewer goodies than recipients.