Programming a 2D Endless Runner in LWJGL 3 and OpenGL