Optimistic Gradient Descent Ascent (OGDA) algorithm for saddle-point optimization has received growing attention due to its favorable last-iterate convergence. However, its behavior for simple two-player matrix games is still not fully understood -- previous analysis lacks explicit convergence rates, only applies to exponentially small learning rate, or requires additional conditions such as uniqueness of the optimal solution. In this work, we significantly expand the understanding of OGDA, introducing a set of sufficient conditions under which OGDA exhibits concrete last-iterate convergence rates with a constant learning rate. Specifically, we show that matrix games satisfy these conditions and OGDA converges exponentially fast without any additional assumptions. More generally, our conditions hold for smooth bilinear functions and strongly-convex-strongly-concave functions over a constrained set. We provide experimental results to further support our theory. To further demonstrate the significance of our results for matrix games, we greatly generalize the ideas to finite-horizon stochastic/Markov games and provide the first algorithm that simultaneously ensures 1) linear last-iterate convergence when playing against itself and 2) low regret when playing against an arbitrary slowly-changing opponent.