FFH2 has a lot of buildings that enable units to be built. It seems to be a pattern that more advanced buildings allow the creation of better units. The idea makes sense but I've found I encounter 4 difficulties with the current approach:
1) Related buildings don't supersede each other. In a large empire, this makes it difficult to intuitively work out what buildings a city has. This is especially important if a civ has a special building. Example #1: if a city has a bowyer, it doesn't mean it also has an archery range. Example #2: if a Hippus city has a hippodrome, it doesn't necessarily have a Hippus stable.
2) The many buildings create a lot of clutter in the city screens. Example: a city specialising in mounted units could have stables + siege workshop + hippodrome + large animal stables.
3) There is a "grudge factor" involved in building unit-enabling buildings. The best unit depends entirely on the situation, so flexibility is desirable. That means having as many units enabled as possible. Example: a city can build knights but the player just wants a cheap, quickly built horseman to patrol a border; to do this they'd need to build "yet another" unit-enabling building.
4) Where there are no building pre-requisites, I can create nonsense cities. Example #1: With a hippodrome, knights can be trained - even without a stables to raise their horses. Example #2: With a bowyer, marksmen can be trained - even without an archery range to practice on.
I think all 4 aspects could be improved with the following ideas
A) Make all related unit-enabling buildings require the previous building in their chain. Reduce building costs as necessary. Example: hippodrome requires stable/Hippus stable; cost reduced to 200 from 300 (because stable costs 100).
B) Make all related unit-enabling buildings enable the units the previous buildings did. Example: archery range enables archers and longbowmen; bowyer enables archers, longbowmen and marksmen.
1) Related buildings don't supersede each other. In a large empire, this makes it difficult to intuitively work out what buildings a city has. This is especially important if a civ has a special building. Example #1: if a city has a bowyer, it doesn't mean it also has an archery range. Example #2: if a Hippus city has a hippodrome, it doesn't necessarily have a Hippus stable.
2) The many buildings create a lot of clutter in the city screens. Example: a city specialising in mounted units could have stables + siege workshop + hippodrome + large animal stables.
3) There is a "grudge factor" involved in building unit-enabling buildings. The best unit depends entirely on the situation, so flexibility is desirable. That means having as many units enabled as possible. Example: a city can build knights but the player just wants a cheap, quickly built horseman to patrol a border; to do this they'd need to build "yet another" unit-enabling building.
4) Where there are no building pre-requisites, I can create nonsense cities. Example #1: With a hippodrome, knights can be trained - even without a stables to raise their horses. Example #2: With a bowyer, marksmen can be trained - even without an archery range to practice on.
I think all 4 aspects could be improved with the following ideas

A) Make all related unit-enabling buildings require the previous building in their chain. Reduce building costs as necessary. Example: hippodrome requires stable/Hippus stable; cost reduced to 200 from 300 (because stable costs 100).
B) Make all related unit-enabling buildings enable the units the previous buildings did. Example: archery range enables archers and longbowmen; bowyer enables archers, longbowmen and marksmen.