CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 4 of 4
  1. #1
    Join Date
    Apr 2006
    Posts
    3

    Question What programming language is best for games?

    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!

  2. #2
    Join Date
    Nov 2005
    Posts
    63

    Re: What programming language is best for games?

    Games programming is not easy. Most major games are done in C/C++, as they allow for direct memory management. However, if you have no experience (or even little to moderate experience) with a language like C++, the best way to learn is NOT by trying to program 3d games. There are lots of books on how to program 3d games, but the are meant for intermediate to advanced programmers.

    Here's a quick checklist for telling if you're ready to learn 3D game programming, I'll go from easiest to hardest (imo):

    - Do you know what encapsulation, polymorphism, and inheritence are?
    - Do you know what object-oriented design is?
    - Do you know what a pointer is and how memory is managed in a Von-Nuemann (spelling) architecture?
    - Do you know what hash functions and binary trees are?
    - Do you feel comfortable with math, especially physics, calculus and matrix manipulation?
    - Do you know the difference between a perspective projection and a parallel projection?
    - If you answered "no" to most of the above, do you have 3-4 years of your life to spend learning these concepts?

    If you say no the last question, then stop dreaming. I'm not trying to discourage you--quite the contrary. I'm trying to prepare you for the challenges of 3d game programming. 3D Games are to computer science like swimming is to exercise: it exercises almost every aspect of the body for programmers, from computer graphics to artificial intelligence to systems programming for efficiency to distributed computing for internet games, and everything inbetween.

    If you don't take the time to step back and think objectively about how much must go into these games for them to take years for an entire team of expert developers, you'll just end up maybe buying a book or reading some online tutorials that sail over your head and getting frustrated. Don't do that. Take your time, if you're really serious about getting into games development, go to a good university and get a CS degree--but remember, lots of work, lots of math, and then MAYBE you'll be able to get into the field.

    That said, C# can do most of the things you listed, though maybe not as well as C++ if you're a good enough programmer.

  3. #3
    Join Date
    Jan 2002
    Location
    Scaro, UK
    Posts
    5,940

    Re: What programming language is best for games?

    Bear in mind if you intend to make programming a career (and let's face it with the number of hours you'll have to put in to get anywhere at all) games programming isn't the field where the most jobs lie. Most jobs lie with database programming. Yes it's pretty benign but a firm foundation in databasing will stand you in good stead.

    Competition for games programmers positions is very fierce, and in addition it's a very stressful environment to work in with tight deadlines and lots and lots of long hours without any overtime.

    Most enthusiasts who come to programming start off wanting to write games, myself included. I don't want to write games any more having done my stint in the 3D field and have still been employed in what are considered by most as well paid jobs for my age all my life.

    Getting a CS degree from a good university is essential though. Without that, you won't even get an interview.

    Darwen.
    www.pinvoker.com - PInvoker - the .NET PInvoke Interface Exporter for C++ Dlls.

  4. #4
    Join Date
    Dec 2005
    Posts
    13

    Re: What programming language is best for games?

    Depends what are you after for. As mentioned most commercial game engines use C/C++.
    The main reason for this is:
    - A well-build C++ game will be a bit faster ( approximately + 5% ) then a C# counterpart.
    - Most gamedev's companies have huge C++ code libraries. Swithing to C# isn't cost efficient at the moment.

    C++ has some drawbacks though:
    - it's a fairly complex language with lot's a gottcha's.
    - Making a commercial 3D game with C++ takes a lot of time and effort.

    Personally I recommend using C#.
    - Being a beginner you won't be able to build a 100% efficient engine anyway.
    - With C# you'll see the results of your work faster.

    Here's a interesting thread for you:
    http://www.gamedev.net/community/for...25&WhichPage=1
    Check out what 'Saruman' has to say.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured