Thread: Game Programming Language

  1. #1
    Registered User
    Join Date
    Dec 2003
    Posts
    14

    Game Programming Language

    I don't want to start a flame war or anything but this question as really been bugging me. And yes I did to research and I do have experience in programming. It's about Java, C++, and C#.

    Based on what your expereince, somebody elses or commmong knowledge or whatever which one is best for something along the lines of a Mario Clone or R-Type clone that runs smoothly. I've tried a bit of each, about a year of C++. I prefer the syntax of C# but .net is needed if I plan to distribute it and I don't have VS. net 2002(does that make C# less useful), but I like that Java has an API like Java 2D but I heard it's slow for those type of games, and with C++ it's fast and lets me do a lot but I spend most of my time of memery related things(any good library for this problem? Is boost good?) and less time on the acutaly game.

    As any one tried at least 2 of these, which one is best for a platformer side scroller that's not simple.

    This question as really been bugging me, and I know I should just pick one or just pikc the one I like but I did that before with C and then I had to learn C++ since I dind't know much about C++ before hand. Sure it was good in the long run I guess but still. And there's the deal with what's required in the game industry as much as I would like to work in the industry I won't graduate from HS till 3 years and by the time I'm out of college, from what I heard it will be impossible to find a job if there is any left in the US at the rate things are going.

  2. #2
    C++ Developer XSquared's Avatar
    Join Date
    Jun 2002
    Location
    Ontario, Canada
    Posts
    2,718
    I've got experience in Java and C/C++, and I'd definitely choose C/C++ for the game. The game will run much more smoothly, and also, you won't spend all that much time on memory related stuff as you might think. For the graphics aspect, you might want to look at Allegro or SDL (I use Allegro). Java is good for quick multi-platform GUIs, but not for graphics-intense gaming.
    Naturally I didn't feel inspired enough to read all the links for you, since I already slaved away for long hours under a blistering sun pressing the search button after typing four whole words! - Quzah

    You. Fetch me my copy of the Wall Street Journal. You two, fight to the death - Stewie

  3. #3
    l'Anziano DavidP's Avatar
    Join Date
    Aug 2001
    Location
    Plano, Texas, United States
    Posts
    2,743
    echo XSquare.

    Also: you said you were thinking about a Mario-like clone. Keep in mind Mario was created in C. Most games out there are in C or C++ (actually most are a mix of both).

    Memory-related stuff can be nuisance at times, but most memory related stuff in any game is usually taken care of at the beginning of development, and as you develop the game you use abstraction to make things simpler to code, and worry less about the memory and more about the game. I also suggest SDL, it is an excellent API.

    I am also proficient in Java, and I am currently learning C#. Like XSquared said, Java is more suited for multi-platform GUI programs, not for games.

    I have yet to test C#'s graphics capabilities, but I am anticipating doing so sometime soon. I like C# and want to see what it is like coding graphics in it.

    However, for the time, stick with C/C++.
    My Website

    "Circular logic is good because it is."

  4. #4
    Registered User
    Join Date
    Dec 2003
    Posts
    14
    I did some C++ tutorials just get the feel of it again but didn't really need that, I guess somewhere along the line I started thinking C++ isn't the right choice for me while I stopped for a little while. But either way. I also did some on C#. I definitely prefer C# to C++ the only downside for me is the distribution(which I won't be doing for a while ayways) and the user having to download .net for little programs. And I guess having to use DirectDraw for 2D graphics, the ONLY alternative to GDI+ that I found that can work without VS.net 2002 since I'm using borland C# Builder.

    Thanks for the replies, cleared up some things. I'm going to use C# for now. Though any help with game programming tutorials would be a great. Couldn't find much on game programming in the C# sections, well couldn't find anything. But might have not looked hard enough, or is it really suited for it?

  5. #5
    ---
    Join Date
    May 2004
    Posts
    1,379
    [QUOTE=DavidP]echo XSquare.

    Also: you said you were thinking about a Mario-like clone. Keep in mind Mario was created in C. Most games out there are in C or C++ (actually most are a mix of both).
    [QUOTE]

    I had the impression that NES/SNES games were programmed in Assembler

  6. #6
    vae victus! skorman00's Avatar
    Join Date
    Nov 2003
    Posts
    594
    The language will have a slight impact on the graphics quailty/speed, but it's more based on the API you use. Using the Java graphics libraries is no different than using windows GDI.

    Why is this bad you ask? Because GDI (and I'm sure the java libraries do the same) don't use any real acceleration a graphics card supplies. That may not be important for a game like you propose, but they also limit you on resources. So you'll load up all these images, and GDI will punish you buy slowing down to a crawl.

  7. #7
    Registered User
    Join Date
    Mar 2004
    Posts
    220
    Personally I would suggest C/C++ for graphics intense operations. Why? Maybe because I detest Java.......but no seriously, I don't do much with Java, but I have to suggest DirectX if your going to do games with C/C++ as your end result. DirectX is like heaven for game programmers
    OS: Windows XP Pro CE
    IDE: VS .NET 2002
    Preferred Language: C++.

  8. #8
    C++ Developer XSquared's Avatar
    Join Date
    Jun 2002
    Location
    Ontario, Canada
    Posts
    2,718
    OpenGL>DirectX
    Naturally I didn't feel inspired enough to read all the links for you, since I already slaved away for long hours under a blistering sun pressing the search button after typing four whole words! - Quzah

    You. Fetch me my copy of the Wall Street Journal. You two, fight to the death - Stewie

  9. #9
    Registered User
    Join Date
    Mar 2004
    Posts
    220
    Meh, as long as were in THAT debate :P

    Code:
    DirectX = Sound + Graphics + Input + Network_Capabilities;
    OpenGL = Graphics;
    bool l337 = (DirectX > OpenGL);
    if (l337 = TRUE)
    {
      cout << "Nuf Said";
    }
    else
    {
      cout << "This doesn't exist btw...";
    }
    :P But no seriously OpenGL just scares me
    OS: Windows XP Pro CE
    IDE: VS .NET 2002
    Preferred Language: C++.

  10. #10
    C++ Developer XSquared's Avatar
    Join Date
    Jun 2002
    Location
    Ontario, Canada
    Posts
    2,718
    DirectX = "Only works on Windows";
    OpenGL( SDL + GLUT + socket.h ) = "multiplatform"
    Naturally I didn't feel inspired enough to read all the links for you, since I already slaved away for long hours under a blistering sun pressing the search button after typing four whole words! - Quzah

    You. Fetch me my copy of the Wall Street Journal. You two, fight to the death - Stewie

  11. #11
    Registered User
    Join Date
    Mar 2004
    Posts
    220
    Why they make emus

    OpenGL requires more for other things besides graphics as well..hence DirectX is more of a "solution in one".
    OS: Windows XP Pro CE
    IDE: VS .NET 2002
    Preferred Language: C++.

  12. #12
    ---
    Join Date
    May 2004
    Posts
    1,379
    SDL can use directx as well as opengl

  13. #13
    The Defective GRAPE Lurker's Avatar
    Join Date
    Feb 2003
    Posts
    949
    Quote Originally Posted by skorman00
    The language will have a slight impact on the graphics quailty/speed, but it's more based on the API you use. Using the Java graphics libraries is no different than using windows GDI.
    The LANGUAGE will have no impact. The language simply defines how a program should work. The way its compiled will have a pretty big impact. Java bytecode is much slower than an executable created in C in most cases, but a simple game, even like a mario clone, wouldn't take up so much power that it really matters.


    As for the OGL VS DX OMGOMGOMGOMG WHICH IS BETTER!11?11111?11?!?! debate, NEITHER IS BETTER! THE END!
    Do not make direct eye contact with me.

  14. #14
    Registered User
    Join Date
    Mar 2004
    Posts
    220
    The LANGUAGE will have no impact. The language simply defines how a program should work. The way its compiled will have a pretty big impact. Java bytecode is much slower than an executable created in C in most cases, but a simple game, even like a mario clone, wouldn't take up so much power that it really matters.
    >How can you paint a blue circle if you only know how to paint a red circle?

    As for the OGL VS DX OMGOMGOMGOMG WHICH IS BETTER!11?11111?11?!?! debate, NEITHER IS BETTER! THE END!
    >If there wasn't an end, which would you choose? :P
    OS: Windows XP Pro CE
    IDE: VS .NET 2002
    Preferred Language: C++.

  15. #15
    Registered /usr
    Join Date
    Aug 2001
    Location
    Newport, South Wales, UK
    Posts
    1,273
    Also, one thing to bear in mind for games is timing, which is seriously funked-up in Java. You can't use the equivalent of Win32 C/C++'s GetTickCount(), System.currentTimeMillis() because Java VMs on Win9x platforms are fudged in that respect, giving an accuracy of about 50 milliseconds(!).

    The best solution in timing for Java is apparently a seperate thread, which takes a bit more thought.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. what language should i use to
    By roobert in forum Game Programming
    Replies: 34
    Last Post: 09-11-2007, 10:54 PM
  2. Try my game
    By LuckY in forum A Brief History of Cprogramming.com
    Replies: 14
    Last Post: 09-15-2004, 11:58 AM
  3. HELP!wanting to make full screen game windowed
    By rented in forum Game Programming
    Replies: 3
    Last Post: 06-11-2004, 04:19 AM
  4. Game Programmer's AIM Circle: Join Today
    By KingZoolerius66 in forum A Brief History of Cprogramming.com
    Replies: 28
    Last Post: 12-20-2003, 12:12 PM
  5. My Maze Game --- A Few Questions
    By TechWins in forum Game Programming
    Replies: 18
    Last Post: 04-24-2002, 11:00 PM