The only times a wall becomes a challenge against an AI is when you are limitied in how many units you can get to attack the city per turn. If you only have three-four tiles you can place attacking units on, and the enemy has proper ranged units placed in/around the city it does indeed become hard, and sometimes impossible to take the city. And that is how it should be. Sometimes you actually need better tech to be able to take a city on difficult locations. A city wall on open landscape almost does nothing for a defense in my experience. Most of the times you just need to focus on the enemy's ranged units (and or mounted units) and kill them before you focus on bringing down the wall. I've noticed the AI seem to has become a bit better in placing encampments in places that makes strategically good sense but in many cases they fail to place a ranged unit in it, when being attacked, which is a shame. I do like encampments for the sake of giving the AI a better chance of defense. I defenitely don't find walls OP, when it comes to the AI. It's more the other way around, where the player becomes OP ones he gets wall. The extra ranged shot against a dumb AI is often turned into a pure meat grinder, where you can hold of a huge army with a single ranged unit and a wall.