preceptor1919 said:
I just want to know what are the possible courses that one should take to have a background that you need to be able to work in the gaming industry?
Strictly speaking you don't need any courses. And a lot of academic course in comp sci teach you algorithms well, which is important, but the nitty gritty optimization for game programming and all the deep understanding of C and C++ and the underbelly and all they don't touch at all for the most part, and, in fact, most academic programmers get too caught up with levels upon level of OOP and other horribly slow, at the micro level, practices and it's been that way since the beginning. Although they often use pretty solid algorithms so much that is coded these days is a fat, piggish mess from hell and for all the talk about the magic of high level and auto memory managment and so on it seems like people produce even more and worse bugs than ever before when they knew more about and dealt with the depths more. Heck in the late 80s and 90s, for a while, almost all arcade type games and demos for home computers were coded by European hackers who learned stuff on their own (heck eventually the demos even became known as "eurodemos"). Most of the academic programmers from the U.S. didn't have much skills for hitting the metal or writing crazy tight code it seemed. And then you had some of the Japanese programmers doing a lot of console coding for Japanese consoles. Of course things have changed since then and much of modern gaming is too complex for a single person to handle and you don't tend to use assembler or hit the metal much anymore. However, it still pays to known how to not let the parts of OOP that bog things down occur and so on and so forth.
Anyway some good stuff to know: everything about basic data structures and algorithms, the basic math and methods behind 3D graphics and rendering, basic linear algebra, quaternions, should have a truly deep knowledge of C and C++, where you really known what is going on at a deep level and what is slow and what is not and how memory management and so on and so forth work what the compiler might do in certain cases and so on an so forth (certain adventure type games sometimes use scripting type languages for certain things down in addition), these days it's also good to know extreme parallel GPU computing methods too, DirectX/OpenGL and such, all sort of tricks to help speed up this or that type rendering effect, how to do various types of animation and interpolation both through CPU or with GPU/HW assist, doesn't hurt at all to know the basics of mechanics in physics.
Be prepared to be worked like a slave though if it's a big house team. In recent times I hear some reports that they tend expect lots of 7 days weeks, working during holidays, sleeping on the couch, etc. they like young people who will work like slaves like mad and then when they burn out they replace them.
Tablet type games are the sort that a single programmer working for themselves can still write games all on their own though in a good number of cases (for Android it sadly means Java, yuck. For Apple it's better, not C/C++ sadly, but the custom Apple version of C++ is at least close enough and nicer to deal with and a bit more efficient than Java. For Windows tablets it's easy since it's just C/C++ I believe?). Things like Call of Duty are just so gigantic that it would takes insanely long for one person to do the coding alone and then you still need all the 3D models and graphics and sounds and animations and... it's just mostly beyond a single person these days for that sort of stuff. Although it's not impossible to make PC type games all on your own even still.
You can take course for the basics of C/C++/data structures+algorithms/linear algebra/3D graphics or learn some of most of that on your own.