complex player on player collision/animation

Just a noob question as I was playing Madden football the other day:

I was wondering if I could get a general idea of how to do something like this. I understand you motion capture short, repeatable animation cycles. But what about animations for complex player-vs-player interactions? For example, in Madden, you have a lot of players running into each other, pushing each other, tackling and so forth. But each player tackles and pushes and collides in different ways, depending on the angles of collision.

If I wanted to create something similar in UE4, would I basically have to create animation cycles for hundreds, maybe thousands of different ways people can collide/block each other, and then upon collision, examine state (such as some sort of velocity vector, etc) to trigger the correct type of animation? What about physics? Upon collision, they may stalemate or one might get pushed backwards, or get knocked over completely. How would I leverage the existing physics engine or would I have to create my own?