Game studios choice

Started by
7 comments, last by lincsimp 20 years ago
Hi Why are most major game studios using c++, is it because it is better than c# or because they have gt the experience? Micsrosoft is saying how c# is the next big step yet they still use c++ Thanks
Advertisement
How old is C++? How old is C#? How long does it take to make an AAA title? How much experience will developers have had with C++ vs C#?

Answering these questions makes the reason for the "choice" (which didn''t exist until a relatively short while ago) obvious. Add to that the fact that Managed DirectX was only released last summer, meaning that doing DirectX work from C# prior to that required writing the engine/wrapper in C++ and using interop or writing your own managed wrapper.

Five years from now this might be an interesting question. Or not. I doubt C++ will remain the "weapon of choice" much longer, just like it displaced C and C displaced assembly before it.
Well, C++ is more standard than C#. More compilers support it, and specialise compilers for consoles only really support C/C++. Some only support C.

Also, most universities (where the talent base comes from) teach C++ and Java and don''t touch C#, probably because you can get free compilers for C/C++ and not for C#, so if they don''t want to re-teach their language of choice then they keep with ANSI C/C++.

Hope that helps ...

Dan
Just correcting this statement:

quote:
Also, most universities (where the talent base comes from) teach C++ and Java and don''t touch C#, probably because you can get free compilers for C/C++ and not for C#, so if they don''t want to re-teach their language of choice then they keep with ANSI C/C++.


There is at least one free C# compiler out there, look in google for SharpDevelop...
Aside from the fact that it''s pretty new and so there''s not many experienced C# developers in the industry yet (and any games that started around the time manged DX appeared would probably not have been finished yet) there''s two main problems. One is that games developers are generally very concerned about performance and are wary about anything that might negatively affect it (non-native code, .NET runtime overhead, garbage collection), though whether that concern is justified in this case is open to debate. The other, probably more important, is that the console market is huge and very important and C# and the .NET runtime are not available on any of the current consoles and are not likely to be available on the PS3, though they might conceivably make an appearance on the XBox 2.

Game Programming Blog: www.mattnewport.com/blog

quote:Original post by lincsimp
Why are most major game studios using c++


- Because console games are more important than PC games.
- Because C++ gives you more control over what your game does.
- Because C# is new and no commercial game has been released that "proves" that it is useful for anything other than tools development.
- Because college students that have been raised with the notion that C# and Java are divine gifts to programmers are not yet a pervasive or convincing voice in the game industry, if they are in the game industry at all.
- Because it's easier to use existing libraries and interfaces than to convert all of your code to a new language.
- Because C#'s advantages are not as applicable to game programming as they are to RAD or GUI applications.
- Because Linux servers are an important aspect of PC gaming, especially the oh-so-popular MMORPG and while Mono may exist, relying on Open Source projects to run your product is generally a bad idea.

[edited by - bobstevens on April 15, 2004 10:49:44 PM]
quote:Original post by djwarder
Well, C++ is more standard than C#.
False. C# was ratified by the ECMA and ISO; C++ is ratified by ANSI. Further, C++ became standard in 1998 (the final draft was written in 1997) but has existed since 1984; C# was not publicly available until standardized.

Number of compilers means nothing.

quote:Also, most universities (where the talent base comes from) teach C++ and Java and don''t touch C#, probably because you can get free compilers for C/C++ and not for C#, so if they don''t want to re-teach their language of choice then they keep with ANSI C/C++.
Not quite right either. C# is a new language, which means it''s going to take a while for universities themselves to acquire expertise to the point where they feel comfortable teaching it as an introductory language or using it in anything other than advanced pseudo-independent study classes.

quote:Original post by Alura
There is at least one free C# compiler out there, look in google for SharpDevelop...
SharpDevelop is an IDE, not a compiler. It can make use of the Microsoft C# Compiler, csc.exe, or Mono on Windows, or Mono or dotGNU on Linux.
Btw, the C# compiler was free last time I checked at the microsoft site.
quote:Original post by Oluseyi
C# is a new language, which means it''s going to take a while for universities themselves to acquire expertise to the point where they feel comfortable teaching it as an introductory language or using it in anything other than advanced pseudo-independent study classes.


C#''s slightly retarded cousin Java has been pushed in universities for the last... 5 or 6 years. Jumping from Java to C# is not exactly a time-space-continuum-warping experience unless you don''t know where to locate the shift key on your keyboard. It''s logical to assume that most graduates these days will be more familiar with C# than they are with C++, given the curiculum of most universities, at least in the United States.

Slightly related is this anecdote: I interviewed at a game company that is a few blocks away from a major university and I asked if they got a lot of talent out of that particular school. The answer was that the school taught Java exclusively and the company found that most of the graduates did not understand basic memory management and weren''t good hires as a result.

I''m sure you''re right in what you said above about C# catching on, but I''m going to guess that it will probably take more than 5 years, and C# will never be as popular for console work as it will be for PC.

This topic is closed to new replies.

Advertisement