code is different for every game, therein lies the beauty and the beast as one. C/C++ is so flexible you could do almost anything and atleast 50 different ways, making it perfect for games. but this flexibility generates a problem, no one does it the same, every code is different and you must learn how the programmer sets it up, fortunatly the human laziness solves most of this as now one engine is developed then it is licensed and everybody uses it till a new on comes along, example: the Quake engine powered almost every fps, HL included, until the Quake 3 engine came out and now they use it, JK2, Max Payne all kinds of games too not just FPS, play Age of empires then Star Wars Battle Grounds, they are so identicle its not fun.
so yes you do have to learn every code for every game, but once you have got down the one for that engine all the others using it come quickly...