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

    Join Date
    Jun 2006
    Posts
    12
    Rep Power
    0

    Which language for game development?


    I was wondering which language I should learn to get started in game development. C++ or VB???
    THanks
  2. #2
  3. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2003
    Posts
    22
    Rep Power
    0
    Originally Posted by tapha
    I was wondering which language I should learn to get started in game development. C++ or VB???
    THanks
    C++ is the most common choice, but it's becoming increasingly more viable to write a game in a .net language, such as VB.NET. You could technically write a game in one of the older VB languages, but there aren't that many engines that support it. Also the older versions of VB are slooooow.

    If you are interested in writng game in VB or VB.NET then Truevision is probably the best option. There are tons of examples in many languages, but especially in VB, and the engine itself is lightening fast:

    www.truevision3d.com

    But in general C++ is the language of choice. There are tons of C++ based game engines, and I'd venture to say that the vast majoirty of commercial games are created with C++ or with an engine that was created in C++.

    Also see this thread for more info. You'll find some examples of game engines that use a VB style language:

    <url>http://forums.devshed.com/game-development-141/game-creation-357518.html</url>
  4. #3
  5. No Profile Picture
    what do I know about diamonds?
    Devshed Novice (500 - 999 posts)

    Join Date
    Jul 2003
    Location
    ON, Canada
    Posts
    950
    Rep Power
    174
    i would say c++ with openGL but thats only b/c thats what i learned it. i would stay away from .net simply b/c then u are depending on the end user have the .net framework. c++ is generally cross platform compatable and openGl is open source so what more can u ask for?

  6. #4
  7. Psycho Canadian
    Devshed Demi-God (4500 - 4999 posts)

    Join Date
    Jan 2001
    Location
    Canada
    Posts
    4,846
    Rep Power
    635
    Yes but from a development view point something in .NET would be a ton easier for someone just starting out, for a seasoned c++ then ya use that. Otherwise just for learning at least, or for your first game, a .NET program isn't so bad.
  8. #5
  9. No Profile Picture
    what do I know about diamonds?
    Devshed Novice (500 - 999 posts)

    Join Date
    Jul 2003
    Location
    ON, Canada
    Posts
    950
    Rep Power
    174
    Originally Posted by Viper_SB
    Yes but from a development view point something in .NET would be a ton easier for someone just starting out, for a seasoned c++ then ya use that. Otherwise just for learning at least, or for your first game, a .NET program isn't so bad.
    if you know .net or have a visual basic background i would agree. but i learned c type languages first and found .net awkward and annoying.

    i would say the bottom line is what do you have experience in? if you've got a pile of .net behind ya. go for .net if you've got a pile of c++ go c++

  10. #6
  11. Psycho Canadian
    Devshed Demi-God (4500 - 4999 posts)

    Join Date
    Jan 2001
    Location
    Canada
    Posts
    4,846
    Rep Power
    635
    Originally Posted by pumpkin head
    if you know .net or have a visual basic background i would agree. but i learned c type languages first and found .net awkward and annoying.

    i would say the bottom line is what do you have experience in? if you've got a pile of .net behind ya. go for .net if you've got a pile of c++ go c++
    Ya that's true, btw C# is pretty much another C type language, not exactly the same, but quite similar.
  12. #7
  13. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2005
    Posts
    75
    Rep Power
    10
    C# is a refinement of C/C++/VB/JAVA and all other MS version of all programming language all bundled up into one ""better"" language supporting .net

    Generally speaking .net although having new optimized libraries is not recommended because you have a 21 to 33% code overhead slowing down your game. Further more, it has been proven that for bigger project, object oriented is slightly slower in processing power than the good old C/C++ pointer, struct and chain structures...

    Therefore, it all depends on what type of game you are doing... Big and commercial with lots of special effects, or just a first game trying to grasp the basics?

    Basics? Go Flash or .NET, don't bother with engines as you need to understand the basics of tiles, vectors, 3d and 2d graphics, viewports, data structuring and such...

    Complex game, you have background in game programming, then go more into the hardcore proven and effectively fast languages like C/C++...

    Comments on this post

    • brett777 agrees : sensible advice
  14. #8
  15. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2003
    Posts
    22
    Rep Power
    0
    Originally Posted by crazyone
    C# is a refinement of C/C++/VB/JAVA and all other MS version of all programming language all bundled up into one ""better"" language supporting .net

    Generally speaking .net although having new optimized libraries is not recommended because you have a 21 to 33% code overhead slowing down your game. Further more, it has been proven that for bigger project, object oriented is slightly slower in processing power than the good old C/C++ pointer, struct and chain structures...

    Therefore, it all depends on what type of game you are doing... Big and commercial with lots of special effects, or just a first game trying to grasp the basics?

    Basics? Go Flash or .NET, don't bother with engines as you need to understand the basics of tiles, vectors, 3d and 2d graphics, viewports, data structuring and such...

    Complex game, you have background in game programming, then go more into the hardcore proven and effectively fast languages like C/C++...
    So are you suggesting it could be better to write a game in a non-object oriented fashion? Maybe a small, uncomplicated game, but it seems almost a little ridiculous to write a major game without object oriented programming. Do people actually do that? Sounds like a nightmare.

    Also we have to keep in mind that while C++ is certainly faster than .NET could ever hope to be, I think it's still very viable to write a game in C#, provided the basic rendering engine is written in C++. But I agree -- it depends on the game. I think anyone serious about making a high quality, AAA game these days probably wants to go C++.
  16. #9
  17. Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2006
    Posts
    264
    Rep Power
    124
    Originally Posted by MenDAKE
    So are you suggesting it could be better to write a game in a non-object oriented fashion? Maybe a small, uncomplicated game, but it seems almost a little ridiculous to write a major game without object oriented programming. Do people actually do that? Sounds like a nightmare.
    Quake III was written in C.

    Originally Posted by crazyone
    Further more, it has been proven that for bigger project, object oriented is slightly slower in processing power than the good old C/C++ pointer, struct and chain structures...
    What is this proof you speak of? I'd like to see it. Any overhead involved with C++ OOP is so small it's hardly worth mentioning. The only major downside I can think of with such a design is if you have a large chain of inheriated classes that all use constructors, in which case you may be calling several functions to initialize an object.
  18. #10
  19. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2005
    Posts
    75
    Rep Power
    10
    Bah proof... it's somewhere in my college notes, a teacher said that. I guess it isn't really solid proof since i can't prove it...

    Althought i'd have something to say to that, if you use a language like .NET which sports fancy garbage collector, tons of interfaces, classes all interlinked, there is bound to be an overhead that is not necessary unless you are one of those new developpers that were taught that pointers is something of the past and memory allocation is not a problem since we have gigs of em and garbage collectors... I don't agree to this method of teaching, every programmer should take great care at the amount of memory he uses, the way he codes and how he manages it's resources...

    Dont' take me wrong, i love APIs, Drivers and stuff that makes the hardware management easier, but i doubt memory managers, garbage collectors, exception handlers, scripts debuggers and all the new features they keep packing in our languages is for the better. The more they put in a language the more they will put overhead in it and thus slowing it...
  20. #11
  21. Person everyone wants to hate.
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2006
    Posts
    211
    Rep Power
    27
    Im going for a Game design degree at school, they are using Visual Studio 2005.

    Ive tryed to learn both C++ and C++.net. Its hard for me to understand the locgic behind some of the code after being use to basic coding :\ Its also been sevral years. blah.

    Anyway its good to see input

    Also. is there any way of getting around having the .net framework? Why can it not be included with the install of the program if needed? (like direct x)
  22. #12
  23. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2006
    Location
    Finland
    Posts
    260
    Rep Power
    20
    If you've never done any programming language, C++ may not be the best choice, I would recommend Python, as it's easy and fast to write (and learn though the syntax might look a bit weird for first-time programmer if you've done stuff like PHP)..

    This game, http://eve-online.com/ was written in Python.. (Example that shows that HQ 3d games are possible to write in Python)

    http://pygame.org/ Is the engine (or library(?)) everyone likes to use with Python for game writing..

    C++ is used alot in games that's true (most used probably) and that will be my future language for writing games..
  24. #13
  25. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2006
    Location
    Aalten, Netherlands
    Posts
    15
    Rep Power
    0
    For the 3d quality of a game doesn't really matter in which programming language you write it, because the textures you use need to be of good quality in order to make a high quality game. Only the speed and special effects like light and bump-mapping has a lot to do with te programming language and the engine.
  26. #14
  27. "That Guy"
    Devshed Novice (500 - 999 posts)

    Join Date
    Apr 2005
    Location
    Wouldn't you like to know? (To come beat me up maybee)
    Posts
    677
    Rep Power
    367
    Well its pretty obvious, if you want a 3d game or just a standard computer game, use a language that compiles to get a executeable, then narrow it down, hows your experience with programming in the past? If youve programmed before in languages like PHP, or CGI, or even some form of C is even better, then programming your game in a form of C would be logical, and the overall best, but would be a great challenge, and would require a lot of learning. If your good at some form of C, then use it. If youve never programmed before, a VB .NET would be the best choice, but would be pretty tough for someone whose never programmed before.

    NOTE: By "some form of C", im infering C, C#, or C++ (just so you don't think im a retard or something).

IMN logo majestic logo threadwatch logo seochat tools logo