(Feb 18, 2014 10:26 AM)Tafelpoot Wrote: Start learning english already, XNA is good for you so you will build you skill from the ground up because the engine is already provided in unity.
Also XNA is not dead it's widely used and even IF-engine is made with it.
XNA has indeed become obsolete, and no Unity doesn't use XNA. This is why you don't need the XNA framework to play Unity games...
Depending on how you get into game programming, you'll need a good amount of knowledge of general physics. If you delve deep into your own methods of rendering things, you'll need to know about matrices and linear algebra... If you use something like Unity, then you'll just have to get familiarized with how Unity works and how things tie together, along with how events are tied to objects and such. OpenGL and DirectX are a whole different ballgame, and you'll learn about ray tracers among other things. To do that though, you'll need to know about polymorphism and how inheritance works to develop anything worthwhile. OOP is very useful for game programming. Typically DirectX is junk for C# though, XNA was a wrapper for DirectX, and there are other managed alternatives like SharpDX, but I'd rather just use 'regular' DirectX in C++.
You need to understand what your true goals are before you start asking questions like this...