Direct Answers For A Beginer

Dear,

I Am A Beginer In Game Development, But Professional In C# And C++.Net 2005.

I Want To Start Learning 3D Game Development Where I Have 2 Main Questions:

1- C++, C++.Net 2005, Or C# Is The Fastest And The Powerfull Language For Creating 3D Application?

2- What Is The Graphic Library I Have To Learn And What Are The Difference Between XNA, DirectX, And XNA Game Studio?

I Hope To Help Me In My 1st Steps.

Thx Alot

[462 byte] By [HassanAyoub] at [2007-12-25]
# 1

1. C++ will be the fastest, if you become an expert in getting every last processor cycle. c# is easier to program but does not give quite as much fine control.

2. DirectX is the underlying graphic API to talk to modern graphics cards - use C++ to code DirectX. XNA Framework is a managed layer over the top that replaces Managed DirectX. XNA Game studio is a version of c# express that uses XNA Framework and some additional tools and content to give you a better game development experience. XNA itself is the overriding name of the technology in all these things - its not a product in itself.

The choice really is up to you - XNA Framework and GSE is an easy entry level but all professional games are currently written in C++ with native DirectX. So it depends on what you want to do.

TheZMan at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 2

The ZMan wrote:
...but all professional games are currently written in C++ with native DirectX.

What's the definition of "professional"? Does Arena Wars count? What about these guys?

JimPerry at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 3
The ZMan wrote:

The choice really is up to you - XNA Framework and GSE is an easy entry level but all professional games are currently written in C++ with native DirectX.

What about Neverwinter Nights 2? hmm?

JasonD_dot_NET at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 4

Thx Guys For Your Answers, But Plz, I Want A Direct Replies.

1- Can We Say That XNA Is The Latest Graphics API After Managed DirectX And DirectX?
2- Like We Know, The Powerfull Off All .net Languages (C++ and C#) Is The Same, Does You Mean That The Native C++ Is The Fastest? If Yes, Took A Look To The CryEngine Which Is The Best 1, And It Uses .net Technology!?

3- I Am A Beginer, I Want To Be Professional In 3D Game Development Without Loosing Time, Plz Tell Me Where I Start: Do I Learn XNA, Managed DirectX Or DirectX? Which Versions?

4- Which Language Do I Use: Native C++, C++.net, Or C#? Cause I Dont Want To Start With A Language And Leave It. (Don't Forget That Micrfosoft Want (Like I Hear) To Let C# The Only Supported Language in .net, and leave c++, and c++.net.

HassanAyoub at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 5
Do remeber if you want to run your games on Xbox360 XNA is the only way to go at the moment. Even when the XNA c++ version will come it will still need to run inside the managed environment so it will not be that huge difference in performance between C++ and C# ( if any).
exal at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 6

Plz, I Want A Direct Replies.

1- Can We Say That XNA Is The Latest Graphics API After Managed DirectX And DirectX?
2- Like We Know, The Powerfull Off All .net Languages (C++ and C#) Is The Same, Does You Mean That The Native C++ Is The Fastest? If Yes, Took A Look To The CryEngine Which Is The Best 1, And It Uses .net Technology!?

3- I Am A Beginer, I Want To Be Professional In 3D Game Development Without Loosing Time, Plz Tell Me Where I Start: Do I Learn XNA, Managed DirectX Or DirectX? Which Versions?

4- Which Language Do I Use: Native C++, C++.net, Or C#? Cause I Dont Want To Start With A Language And Leave It. (Don't Forget That Micrfosoft Want (Like I Hear) To Let C# The Only Supported Language in .net, and leave c++, and c++.net.

HassanAyoub at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 7
Hassan Ayoub wrote:

Thx Guys For Your Answers, But Plz, I Want A Direct Replies.

1- Can We Say That XNA Is The Latest Graphics API After Managed DirectX And DirectX?

Not really. XNA actually sits on top of managed directx and is actually a wrapper for it. The key thing about XNA was to provide a unified cross platform API so that you can write a program once and run it against XBox360, Windows XP and Vista.

Hassan Ayoub wrote:

2- Like We Know, The Powerfull Off All .net Languages (C++ and C#) Is The Same, Does You Mean That The Native C++ Is The Fastest? If Yes, Took A Look To The CryEngine Which Is The Best 1, And It Uses .net Technology!?

If you are using .net, then you are using a managed language so there is no real difference between managed C++ and well written C#.

Hassan Ayoub wrote:

3- I Am A Beginer, I Want To Be Professional In 3D Game Development Without Loosing Time, Plz Tell Me Where I Start: Do I Learn XNA, Managed DirectX Or DirectX? Which Versions?

You need to start by reading some books on 3D. Without the fundamental knowledge of what a Matrix is, vectors, vertex points etc. etc you will end up simply copying tutorials without ever understanding how they work. This will lead to frustration, when you try to implement your own ideas.

Hassan Ayoub wrote:

4- Which Language Do I Use: Native C++, C++.net, Or C#? Cause I Dont Want To Start With A Language And Leave It. (Don't Forget That Micrfosoft Want (Like I Hear) To Let C# The Only Supported Language in .net, and leave c++, and c++.net.

Start with C# as this is a much simpler language to use than C++ and you will make good progress at a much faster pace than C++. Due to processor advances and GPUs taking a lot of the work from the computers CPU, speed is far less of an issue than it was say 5 years ago. We no longer need to resort to assembly language to get a good graphical effect working at a reasonable framerate.

PeterD. at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 8

Dear,

I Am Professional In C# And C++ As Languages. And I Know The Difference Betwen Them.

My Question Is Only In 3D Domain, Which Is A New Domain For Me.

For This I Am A Little Confused.

Thx

HassanAyoub at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 9
Hassan Ayoub wrote:

1- Can We Say That XNA Is The Latest Graphics API After Managed DirectX And DirectX?

The XNA Framework replaces the Managed DirectX API. The native DirectX APIs will continue to exist.

Hassan Ayoub wrote:

2- Like We Know, The Powerfull Off All .net Languages (C++ and C#) Is The Same, Does You Mean That The Native C++ Is The Fastest? If Yes, Took A Look To The CryEngine Which Is The Best 1, And It Uses .net Technology!?

Your english is a little confusing, but the important thing to remember is that we support both native and managed approaches. Crytek does not use managed code in their engine.

Hassan Ayoub wrote:

3- I Am A Beginer, I Want To Be Professional In 3D Game Development Without Loosing Time, Plz Tell Me Where I Start: Do I Learn XNA, Managed DirectX Or DirectX? Which Versions?

Start with what you are comfortable with. If you know C++, continue developing in C++. If you want to develop using C#, we recommend using the XNA Framework.

Hassan Ayoub wrote:

4- Don't Forget That Micrfosoft Want (Like I Hear) To Let C# The Only Supported Language in .net, and leave c++, and c++.net.

That is completely false.

DavidWeller-MSFT at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 10

Thx Alot,

However I Want To Ask You As An Expert:

1- Which Do You Prefer, Managed Or Unmanaged Code?(Note That I Want To Build Very Good 3D Applications).

2- If Managed Code, Do You Prefer To Start Using XNA Or Managed SDK?

3- Does Their Be DirectX 10 Or The DirectX10 Is The XNA?

4- I Am Professional In Native C++, C++ .net and C#. What Do You Prefer For 3D Game Development?

HassanAyoub at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 11
Jim Perry wrote:

The ZMan wrote:

...but all professional games are currently written in C++ with native DirectX.

What's the definition of "professional"? Does Arena Wars count? What about these guys?

Oh give me a break :-) of course I know of *all* the games in managed DirectX... I keep the list... Maybe I was wrong to say *ALL* but the bottom line is that there are almost no jobs out there being a game developer unless you are an absolutely solid C++ developer. I know - I tried. So Professional means... being paid for it.

Jason D_dot_NET wrote:

What about Neverwinter Nights 2? hmm?

What about it?

Peter D. wrote:

Not really. XNA actually sits on top of managed directx and is actually a wrapper for it.

No, XNA Framework replaces Managed DirectX and, as I explained in my original reply, is a managed wrapper around native DirectX.

Back to the original question. Since you know C# and C++ the choice is yours. If you want to use XNA GSE today then you only have once choice C#. Microsoft are interested in, but have not announced any plans for VB or C++/CLR. If you choose C++ then you either go with native DirectX or Managed DirectX 1.1 which is old, won't be improved but will be supported for a while yet.

To learn the 3d stuff you need to get some books - my favourite right now is Frank D Lunas new shader book - its all C++ which should be fine for you but it has a full grounding of the theory and the math you will need. The alternative is to search for and work through online tutorials - some are good some are bad.

TheZMan at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 12

Hassan - please do not post the same or similar questions in multiple forums. I have merged the 2 threads since there were replies but it gets confusing.

1. It doesn't matter what people prefer. Each person is different - you can build very good 3d applications in either managed or unmanaged. There are managed DirectX developers who can to great things and C++ developers who do bad things and vice versa. In general though you will get better perf and control in C++ and better productivity in c#.

2. Again up to you. XNA framework is not released yet and is a new product with some flaws and missing some features that Managed DirectX has. Managed DirectX is stable but will not be improved upon. So if we know more details about what we can do we can answer in terms of that - otherwise its your choice.

3. No DirectX10 is a vista only upgrade to DirectX. As of now there is no announced managed API for it - though I would be very surprised not to see one eventually.

4. see 1. Given that you are good at all of them it is your choice unless you give us more details.

TheZMan at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 13

The ZMan wrote:
Oh give me a break :-) of course I know of *all* the games in managed DirectX... I keep the list... Maybe I was wrong to say *ALL* but the bottom line is that there are almost no jobs out there being a game developer unless you are an absolutely solid C++ developer. I know - I tried. So Professional means... being paid for it.

OK, so now it's "almost". Just so we're clear.

Yes, I'm just yanking your chain. I couldn't resist.

JimPerry at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 14

Dear,

What I Want First Is To Be 1 Of The Professional 3D Game Developers.

Second, I Want To Build My Own Virtual Reality System Which Represent Me And My Friends And Allow Us To Play Together Like "The Sims" Game, But Over A Network.

HassanAyoub at 2007-9-3 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...