For the economy, try making some "want values", for instance: Want for a barrack equals to amount_of_resources_being_collected_per_round * some_factor + resources_in_stock * some_factor - number_of_barracks * some_factor. Then do the most wanted stuff first.