Well I'm not discouraging you, But One learns how to write games by writing games , I mean code and learn, code and learn and learning by doing it yourself is the best way. Before Getting into games I would suggest you to have a Good Study on computer graphics, mathematics related to graphics, Data structures and Algorithms. Start with a programming language that is easy to use (easy to use for you most importantly and some times it is need to be chose as per target platform) I'll suggest start learning Unity 3d Game Engine for fast prototyping games. Get a beginners book for that programming language Decide on some API or environment that provides what's needed for writing games. I started out by doing snake, space invaders etc in the console, but any 2D-environment will do (stay way from 3D for as long as you can; there are much more important things to learn first). SDL / GLUT for OpenGL has bindings in almost any language....