Primero deberías coger unos pequeños conceptos de programación.
Si quieres algo rápido, lo tuyo es python+pygame, aunque a mí sdl no me gusta mucho. Lua es un gran lenguaje para juegos, a mí me gusta mucho. El problema de la elección es que hay docenas de lenguajes, librerías y motores.
Un juego de la serpiente lo puedes hacer en 20min, si sabes programar un poco es muy sencillo.
De manera autodidacta se puede (yo estoy en ello en ratos libres

). Un novato puede lograr cosas majicas, pero hay que meterle mucho tiempo. Yo estoy aprendiendo por lo que suelo meter para los personajes círculos de colores hechos en 10seg, si quieres que quede la cosa maja necesitas usar buenos gráficos. Repito que lo que hay es que meterle mucho tiempo e ir poco a poco, te lo dice un experto en dejar juegos a medias.
Las matemáticas, pues depende del juego. Si vas a hacerlo todo tú y te vas a poner a calcular rutas, direcciones, vectores y de todo, pues algo de trigonometría y de algoritmos te hará falta. Afortunadamente para muchas cosas hay guías y librerías.
Opengl a pelo es tedioso. Tienes por ahí el opengl red book (
http://www.glprogramming.com/red/ ) que es la biblia de opengl, pero para ello necesitas saber C. Si le metes algo de tiempo, lograrás rotar un cubo

En resumen, lo mejor es aprender algo a programar. Aprende algo de C, que es un lenguaje básico. Si ves que odias C, prueba python o lua. Una vez cojas unos conceptos, tendrás que elegir una librería. Aparte de opengl y sdl hay muchas más... Para python tienes pygame, pyopengl, rabbyt (ésta me gusta, 2D basado en opengl)... Hay muchos lenguajes que tienen bindings para muchas librerías. En fin, que es un jodido lío.
Yo he probado C+SDL, python+SDL, python+pygame, python+pyopengl, python+rabbyt, C+opengl, C++ + allegro, y algunos más...
La más sencilla y que mejores resultados gráficos en 2D da, para mí, de las que he probado es rabbyt. Usa opengl por lo que queda todo bastante fino. Creo que no es muy conocido.
http://matthewmarshall.org/projects/rabbyt/Si quieres usar opengl y no complicarte en exceso, ya que python es un lenguaje más sencillo que C, puedes probar python+pyopengl.
También hay motores gráficos, que te dan la mayor parte del trabajo hecho y tú sólo tienes que "hacer el juego". No he probado ninguno.
En fin, espero no haberte liado mucho.