What programming language is best for games?

Started by
40 comments, last by Antheus 18 years ago
Hello everybody... I am looking to program 3D games; however, I am still deciding which programming language is best for this. I am thinking C# at this time, but I thought maybe I should get the opinions of a few other people first. All of the questions I have are listed below... 1. Can the C# programming language basically do everything that the Visual Basic, Java, J#, C, C++, and managed C++ programming languages can do? -As I have no background in any other programming language except HTML, PHP, XML, CSS, ect... (plus basic C#) 2. Is there a "better" programming language than C#? 3. Is C# good for games? 4. Can C# be used to develope good (big) graphical 3D professional games? For example: C&C Red Alert 2 - http://www.westwood.com C&C Generals - http://www.westwood.com C&C Renegade - http://www.westwood.com The Sims 1&2 - http://www.thesims.com Star Wars Battlefront 1&2 - http://www.lucasarts.com Battlefield 1942 - 2 - http://www.ea.com Joint Operations - http://www.novaworld.com Splinter Cell - http://www.splintercell.us.ubi.com Ghost Recon 1&2 - http://www.ghostrecon.com/us Halo 1&2 - http://www.xbox.com/en-US/games/h/halo/ ect... 5. What other operating systems is C# capable of running on besides Windows? Or is it possible to make games for gamming consoles with C#? For example: Xbox, Nintendo, Playstation, ect... 6. Can C# use other resources for its graphics besides DirectX? 7. Which do you think is best, DirectX or OpenGL? Or is there another? Thanks to anybody for any help!
Advertisement
Most video games made for xbox, ps2, PC, and gamecube are made in C++. Thats most, not all.
Mitchen Games
Sigh, why does this keep coming up? Whether one thing is better than another is either an opinion, dependent on the specific task, or both.

But, I can answer questions 1 and 4:
1. Well, it can preform all of the same computations. All of the languages you've listed (except the markup languages and CSS) are Turing-equivalent. Basically, that means the can preform all computations which are decidable across Turing machines (Turing machines are computers, basically).

4. Yes, it can, like almost every other fairly well-used language.
Quote:Original post by bballmitch
Most video games made for xbox, ps2, PC, and gamecube are made in C++. Thats most, not all.


So C# CAN be used to develope games for gamming consoles?
Sounding a little ambitious ehh..

Considering that you are a new member and are asking on which programming language is suitable for 3D development, I would reccomend you take a look at this.

Besides that, C# is an exellent beggining language to start with (I myself use it). And concerning DirectX, yes you can get it to work with C#.

Programs made from C# are able to practically run on any OS that has the .NET framework installed. Unfortunatly, the .NET framework is only compatible with certain OS's; therefore limiting you somewhat.

And when it comes to any type of language or API, there is not exactly a 'better one'. They all have their strengths and weaknesses.
Quote:Original post by Davatech
Quote:Original post by bballmitch
Most video games made for xbox, ps2, PC, and gamecube are made in C++. Thats most, not all.


So C# CAN be used to develope games for gamming consoles?


He said C++, not C#.
Quote:Original post by Roboguy
Quote:Original post by Davatech
Quote:Original post by bballmitch
Most video games made for xbox, ps2, PC, and gamecube are made in C++. Thats most, not all.


So C# CAN be used to develope games for gamming consoles?


He said C++, not C#.


I was looking at "thats most, not all" when I posted that...
Quote:Original post by Davatech
Quote:Original post by Roboguy
Quote:Original post by Davatech
Quote:Original post by bballmitch
Most video games made for xbox, ps2, PC, and gamecube are made in C++. Thats most, not all.


So C# CAN be used to develope games for gamming consoles?


He said C++, not C#.


I was looking at "thats most, not all" when I posted that...


C++ and C# are not the only languages...
100% C# with DirectX is likely the best way to start to learn 3D game programming. Once you have the concepts for game development down, you can move on to the more complex/difficult-to-use (but faster, currently more portable) C++.

As a beginner, don't worry about making a large, commercial sized game. Start making small, simple games in C#, then gradually make larger games (the difficultly in writing larger software projects is exponential; twice the code size = ~4x the time+complexity to develop and maintain).

I've been writing code in C++ since the language was created (you used a C++ translator to pass to the C compiler: straight C++ compilers did not exist). I recently used C# + WinForms for a project, and wholeheartedly recommend using C# for everything except ultra-time-critical code (C# is becoming more portable, but is not as portable as portably-written C++ (ifdefs, etc., must be used to make C++ portable between various compilers/environments)). Once C# support packages (such as WinForms) are fully ported, C# will be quite portable (without the need for ifdefs, etc., much in the same way Java was promised to be 'write once, run anywhere').

My current game uses OpenGL; a future revision will move to DirectX, as it appears that using DX9+ will allow higher performance, and is now just about as easy to use as OpenGL. Once you understand the concepts, switching between OpenGL and DirectX is straightforward (does not really matter which one you use; though it appears DX has been better optimized in recent years for game applications (even 3DSMax appears to run faster with DX).

In summary, once you learn the concepts of game development and graphics programming, you can switch between languages and API's without too much trouble.
Roboguy, you have lost me...

This topic is closed to new replies.

Advertisement