Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
I think the Blade-Chest model is exactly what you're looking for: cs.cornell.edu/people/tj/publications/chen_joachims_16a.pdf. Every player is represented using two vectors (their "blade" and "chest") representing their offensive and defensive abilities. You can fit this model to data and represent intransitivity in matchups.