I am creating a turn based top down game and looking to make my AI a bit smarter. I have implemented A* for my game and currently if a entity is blocking the way to my player the pathfinder does not return a path since I simply don't add the node. I could just add the node so the entity will line up but I imagine this could end up in a long queue while there might be other paths available.
To tackle this I could increment the cost of the tile when this is occupied by something. Let's say I want the entity to circle around by four blocks, I could multiply the tilecost by 4. When there are two entities blocking it will look for another path 8 tiles around. Perhaps I could increment it depending on the life of the creature and average damage the player does. What are some good numbers here?
And what about calculating these "chokepoints" in advance? This would really add to the inteligence of the ai when there are multiple enemies incoming and the player decides to enter a room these enemies will anticipate a path to another door into this room. I guess this means I need another graph that has altered connection cost relative to enemy position vs player position. Is there any good read about doing this since I cannot wrap my head around how ti implement this properly.
I'm looking for any other tricks that makes pathfinding for my AI a bit smarter.