On Thu, 24 Jul 2008 12:23:51 -0700, Benjamin Vigneaux <be**@mi.clwrote:
Well, I'm very interested in game development, I'm just starting out
though, browsing here and there for tutorials, references, etc.. and
learning about the game development industry...
What i've realized is that, apparently, most of the games out there are
likely to be coded in C++, is this because the language offers features
which are better suited for game development? or just because it has
been out in market for a longer period of time than C# (for example)?
Latest games like Gears of War (for example), are coded in C#? is this
an appropiate language for game programming?
You've asked a very complicated question. I'm not going to offer a very
complicated answer. :)
That said, there's nothing fundamental about C# that would preclude coding
a 3D shooter (for example) in that language. I think the biggest issue
would be the non-deterministic memory management, which could lead to
frame rate stuttering. But I think that there are techniques one could
use to minimize the issue, if not eliminate it altogether.
The other question is whether you can get at DirectX via C#. The short
answer is that you can. For example, XNA provides this if I recall
correctly. Last I heard, you needed to use an Express version of Visual
Studio to use XNA, and that could be a bit of a barrier. But for all I
know, that's no longer true, and in any case I think that's more of an
arbitrary limitation Microsoft imposted than something fundamental about
the language.
I think that the biggest reasons games are mostly coded in C/C++ is just
inertia and support. That's how those kinds of games have been written
for a long time and so people are used to doing it that way. Not only
does it make sense to stick with the code base you've already got just
from a practical point of view (why rewrite something that already
works?), it's probably easier to get experienced help and pre-packaged
libraries to help with game development if you do that.
I'd say that if you're interested in both C# and game development, you
should definitely check out XNA. If there's a reasonable way to write
games in C#, I'd guess that's the most likely candidate at the moment. :)
Pete