With the big games, usually they use an engine which is basically a framework that provides all the main functionality like the model loading, rendering and stuff. Then for things like AI, scripting languages are used, a lot of the time, the interpreter for that language is built into the engine, scripting language is used for AI et al because AI is something that may need a lot of modification, you can't afford to make one small change then rebuild the entire game and test, so instead they use interpreted scripts. This doesn't mean you can't code a game in Lua or you can't code AI in C#/C++, it all depends on your preferences/requirements and your project size, I wouldn't mind having the AI in C# if it were a small project.
In the end it always boils down to what you know, what you want to know and are you motivated to pursue your goal.
Advertising