By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Machine code is still used since it makes game code stable. (A good analogy is a foundation the deeper you make it (within reason) the more stable the building is.) You can program completly using a C language/DirectX and it will preform rather decently in small games. But the more complex the program (especially high end games) you want to have machine code. Especially in the area of memory management. As you stated DirectX is a generalized code so it handles everything in a generic homogenous way, which isn't always the best way to do things. Hence all high end engines (Unreal, Crytech's engine, etc) use machine code in this way.