0ad is an amazing game and it has become my current favorite RTS game, but one thing I still don't enjoy is capturing. There is something that feels wrong to me with the current system, it is way too confusing, it's also annoying for units to try to capture a building automatically. The animation (which I get is a placeholder) feels out of place and ruins the immersion. I know that it doesn't make sense for infantry to attack stone buildings with swords, but maybe some animation of the troops using makeshift rams with logs or blunt weaponry could make it more realistic.
Changes to mechanics
By default, buildings are not able to be captured. Unless they have certain % of HP diminished. IF that is the case, units can be ordered to capture the building by garrisoning. This could simulate the idea that maybe the walls and doors were damaged allowing invaders to enter through the breaches.
Buildings could have a number of slots for capturing enemies, that is, for example a building can garrison 20 people, then 30 enemies could enter a building to capture it, turning the odds in favour of the invader (which already commited some troops and siege to breach the building)
If there are no people garrisoned the building is captured immediately.
If only women are garrisoned, the building is also captured immediately, the units inside would be kicked out.
If there are people garrisoned, depending on how much each side has in the building either the attacking or defending army would start losing men. This could be a tricky thing since I don't know how damage to each side would be calculated, initially I thought the bigger numbers should win, but some people maybe wouldn't like elite soldiers to die to skirmishers for example.
Some buildings such as houses and warehouses should be easily breachable.
This could be an interesting change, because it would make capturing a more deliberate choice, with the attacker and defender choosing to put more troops in a building if it's important.
This probably is a lot of work and maybe it has a lot of issues that I haven't thought about, but let me know what you guys think. or if it's even doable in the engine, or maybe it's just a stupid idea because of balance and all that. Or maybe it can be improved... you tell me haha.