Cuando uno aprende a programar empíricamente se da cuenta de que los temas son variados, uno inicialmente se inspira en los grandes juegos con complejas interfaces gráficas, pero cuando uno se da cuenta de la realidad, choca con que no podemos desarrollar ni el juego más básico de adivina el numero, así que mi punto no es esos grandes juegos sino ¿qué conocimientos son necesarios para desarrollar un juego como PONG o TETRIS o SNAKE ? es decir a medida que voy aprendiendo me doy cuenta que las utilidades de programar son muchas pero no se si sean aplicables a un juego básico como esos.
Al grano ¿ necesito de estructuras, punteros, arboles, pilas, POO, etc ? para desarrollar esos juegos o con una librería específica y comandos puntuales se pueden llegar a ejecutar.
Yo recomendaría utilizar SDL 2 y opengl que son multiplataformas para la parte de video, para audio quizás sea recomendable utilizar openal que también es multiplataforma...
Respecto a la interfaz podrías utilizar imgui que es relativamente facil de utilizar y tiene ejemplos de muestras con las librerías gráficas antes mencionadas:
https://github.com/ocornut/imguiB#