How do you get started when trying to understand the code of a 3D game engine (like id Tech 3)?
c, game-engine
Solution
Try to do the simplest 3d "Hello World" program that uses the most basic subset of the engine. That will probably teach you loads.
With big code bases it's best not to try to learn everything all at once. Just dive in with a very specific question that you need to answer to yourself (or can search for on the internet), or a very specific task that you need to accomplish. This approach gives you the purpose and motivation you need to actually do some programming. The learning will come by itself.
Problem
I'm a C# developer for the most part. Back in college I had classes on C/C++ so I "know C" and that's a good chunk of the reason I'm a C# developer. However I've never had the chance to code in C/C++ professionally and I'd like to study how a modern game engine works, along with how an industrial grade C/C++ app operates. The problem is, I have no idea where to start. As in, I downloaded the Quake 3 engine source code (which has been retronymed id Tech 3) and I'm not even sure where to start with it. How should a sheltered C#/WinForms attack a massive C codebase like id Tech 3 or some other massive AAA engine?