In this recipe, we will model how we usually brainstorm and make decisions in an organized manner. First of all, this is called a blackboard architecture, or a blackboard system, based on the metaphor of a group of experts gathering in a room with a big blackboard. They're presented with a problem (facts, unknowns, and so on), and each is able to add/remove stuff from the board and give their opinion to solve the problem. The main issue is how to decide who takes the lead.
Let's say we have an RTS game to build a city, protect it, and conquer territories. For such a big task, it would be easier if we could implement modules for different problems as mentioned before: build and sustain, protect, and attack. In that regard, we need submodules (experts) that allow us to compartmentalize knowledge and decisions. Depending on the current...