This paper presents a framework for learning player embeddings in competitive games and events. Players and their win-loss relationships are modeled as a skill gap graph, which is an undirected weighted graph. The player embeddings are learned from the graph using a random walk-based graph embedding method and can reflect the relative skill levels among players. Embeddings are low-dimensional vector representations that can be conveniently applied to subsequent tasks while still preserving the topological relationships in a graph. In the latter part of this paper, Graphical Elo (GElo) is introduced as an application of player embeddings when rating player skills. GElo is an extension of the classic Elo rating system. It constructs a skill gap graph based on player match histories and learns player embeddings from it. Afterward, the rating scores that were calculated by Elo are adjusted according to player activeness and cosine similarities among player embeddings. GElo can be executed offline and in parallel, and it is non-intrusive to existing rating systems. Experiments on public datasets show that GElo makes a more reliable evaluation of player skill levels than vanilla Elo. The experimental results suggest potential applications of player embeddings in competitive games and events.