#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2007
    Posts
    14
    Rep Power
    0

    Game Development - Preferred Language?


    Hey everyone, I'm content about pursuing game development as my college major..so I just have a few questions.

    Right now I am in the web development field, and I love it. However, I would like to expand my capabilities. Which programming language would you guys recommend for game development? Is C++ the best?

    I'm going to be using 3D Studio Max and Maya for my rendering, but I would like to be able to do some of the programming as well.

    If C++ is the way to go, does this book look promising?

    http://www.chapters.indigo.ca/books/Ultimate-Game-Programming-With-DirectX-Allen-Sherrod/9781584504580-item.html?ref=Search+Books%3a+'game+programming'

    Thanks,

    jmusso
  2. #2
  3. Kage Bunshin
    Devshed Novice (500 - 999 posts)

    Join Date
    Aug 2005
    Location
    The Seven Seas Of Rhye
    Posts
    930
    Rep Power
    423
    Not knowing anything except Java, I would say c++ is where to start. It will be rather tricky as a first language though, because unlike Java, there will be nothing there to cover up your screw-ups. So much more goes into making a program work than most people realize. Also, you might try learning a scripting language, and see if you even like programming. If you do, switch over to an OOP, like c++. There are a few other languages associated with game programming, but I can't remember which they were. Hope this helps.
    "Java makes impossible things possible, but makes easy things difficult." - Somebody
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Regular (2000 - 2499 posts)

    Join Date
    Jul 2006
    Posts
    2,270
    Rep Power
    1737
    > Which programming language would you guys recommend for game development?

    Since games can be programmed in multiple languages, the actual language you choose depends on what kind of game you want to program and various other factors like any libraries you most certainly want to use (say a 3D game engine), or cross platform portability, and so on. You haven't specified what kind of games you want to make, so it's impossible for us to narrow down your choice of language.

    > Is C++ the best?

    Not necessarily. C and C++ are certainly popular because they are the two mainstream languages that allow you to get close to the hardware. That's important for performance, and modern games tend to be performance intensive.

    But depending on the performance requirements of the game, it is possible to write games in Java, C#, Python, Ruby and so on. Once again, we need to know the type of game you want to make.

    > If C++ is the way to go, does this book look promising?

    Before you can get started with writing games in C++, you have to know C++ itself. I don't recommend trying to learn C++ along with a game programming book. It won't work. Learn C++ first, then move on to game programming.

    ---

    It sounds like you want to make 3D graphics games, and are OK with Windows only games. C++ and C# are good choices. C# is a solid choice because Microsoft provides so many resources. You have XNA for making games, as well as multiple libraries ported to C#, etc..

    If you do go the C++ route, it's highly important you learn C++ solidly. Many game usable libraries are in C (so you need to know the C aspects of C++), or bring in OOP concepts heavily (like the COM part of DirectX), and so on. After which you'll pursue either DirectX or OpenGL for graphics.
    When you ask a question, be prepared to tell us: what have you tried? If you think you don't need to try anything, we will never be interested in helping you. If you agree with the link, and you refuse to answer that question, you are being a hypocrite.

    Need help with broken code? Your question should be like a good bug report: (1) It has the smallest number of steps to reproduce the problem you see (2) It tells us precisely what you expected to see and (3) It tells us what you saw and how it differed from what you expected. We need all three to help you.
    Want better answers? Tell us what you Googled for and what steps you took to answer your own question.
  6. #4
  7. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2007
    Posts
    14
    Rep Power
    0
    The types of games I would like to create are First Person Shooters, RPG (MMO Style), and Strategy.

    I would prefer to create for Windows (XP+Vista), and Mac OS X.

    Does that help narrow down my options?
  8. #5
  9. No Profile Picture
    Closet coder
    Devshed Beginner (1000 - 1499 posts)

    Join Date
    Feb 2005
    Location
    Plantation, FL <---south florida
    Posts
    1,431
    Rep Power
    153
    Originally Posted by jmusso
    The types of games I would like to create are First Person Shooters, RPG (MMO Style), and Strategy.

    I would prefer to create for Windows (XP+Vista), and Mac OS X.

    Does that help narrow down my options?
    no, but c++ can do all of those and is a good start. and most game programming positions usually require experience in c++ (and lots of math classes too). but if you want to get some stuff going right away i do suggest microsoft's XNA framework (dont in C#). its got a lot of support and tutorials and gets you some good experience with game engines in general. and while c# has definate differences to c++, it is still based off c++ and a lot of the OO theories are cross platform.
  10. #6
  11. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2004
    Posts
    30
    Rep Power
    11
    If you have any of the VALVe games that come with the SDK, open it up and start modding for them, you learn C++ along the way, your way around the source engine, and interesting programming ways. All in all its a good way to learn C++ (as I've found), because it is well and truly rewarding seeing something you've coded work well in a foundation that's been done for you :P
  12. #7
  13. Kage Bunshin
    Devshed Novice (500 - 999 posts)

    Join Date
    Aug 2005
    Location
    The Seven Seas Of Rhye
    Posts
    930
    Rep Power
    423
    That is an original way to think about it. Debugging must be a real pain though.
    "Java makes impossible things possible, but makes easy things difficult." - Somebody
  14. #8
  15. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2004
    Posts
    30
    Rep Power
    11
    Originally Posted by tagmanadvance
    That is an original way to think about it. Debugging must be a real pain though.
    Actually, debugging is really easy. If it crashes in Release/Debug build, you get an MDMP file which you can load up in VC++ / Express and it will run through until the error. Stack trace showing up, etc. And most of the time its your code erroring (Unless you see Assembly and then its either your code, or a VALVe muck up).
  16. #9
  17. Kage Bunshin
    Devshed Novice (500 - 999 posts)

    Join Date
    Aug 2005
    Location
    The Seven Seas Of Rhye
    Posts
    930
    Rep Power
    423
    Yes, I hate steam.
    "Java makes impossible things possible, but makes easy things difficult." - Somebody
  18. #10
  19. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2004
    Posts
    30
    Rep Power
    11
    Originally Posted by tagmanadvance
    Yes, I hate steam.
    I hate it too, if i have two applications open using the same GCF it locks my computer up. But the awesome power of their engine is well and truely enough to use it.

    I might not have said, but if you own HL2 you can get the code for HL2 and HL2: Deathmatch (So you dont have to code everything), and there are some wikid tutorials on the developer wiki on how to do interesting things (Like Ironsights :P)

    Take a look at some of the screenshots, i will put more up when i get chance (Im not releasing this, but i just like playing with the engine).

    http://marine.garrysmod.com/mod/

IMN logo majestic logo threadwatch logo seochat tools logo