Jump to content
  • Advertisement
Sign in to follow this  

Best 3D (Game) Programming Language

This topic is 2445 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey guys!
Ive spent a while making 2d games in java but now i think its time to move up a notch.. 3D game programming.
So i was wandering.. apart from gamemaker language What Programming Language is The "Best"(in your opinion) with the same kind of stlye syntax as Java.
If have knowledge in:
Java (extensive)
C++(beginner)
ruby(medium)
VisualBasic(Medium)

I heard some people use C++ but i also heard that a good one is C# . So, which one do you think i could use?
Thanks in advance

Share this post


Link to post
Share on other sites
Advertisement
I will not say what is the best, because I don't know that and depends on what "best" means for you.

Instead I will cite the way I learned and did not make me suffer :)
I learned Python and used the Panda3D library to implement my first 3D game. I recommend it as a great experience!

Share this post


Link to post
Share on other sites

I will not say what is the best, because I don't know that and depends on what "best" means for you.

Instead I will cite the way I learned and did not make me suffer :)
I learned Python and used the Panda3D library to implement my first 3D game. I recommend it as a great experience!


Thanks for the reply!

I would try python but the syntax puts me off :/ hate to sound sinical but i dont think ill try python.

But thanks for the Reply again! :)

Share this post


Link to post
Share on other sites
There is no "best" language -- various languages have different strengths and weaknesses, but in general they can do the same things, and you're more likely to be limited by your own capabilities than by any limitations of the language you choose.

Given you've been writing 2d games in Java and claim to have extensive knowledge of the language, is there any reason you're not using that? Java is perfectly capable of a high-quality 3d game which performs well. You could consider using jMonkeyEngine if you're going to use Java -- I'm sure there are other options, but I'm not personally aware of what they are, as I don't do much Java coding.

You could also look at C#, which should be reasonably familiar coming from a background of using Java (particularly if you also have some experience with Visual Basic). You could consider using XNA with C#, although again there are plenty of other options out there.


It's also worth considering working with Unity3d, which would save you a lot of time and work whilst allowing you to produce high-quality games in a much shorter time-frame than you'd be looking at working at a lower level. You can get started with Unity for free, and should you at some point need one of the paid licenced versions the prices are very reasonable. Unity scripting can be done with C# amongst a couple of other options. The Unreal Development Kit falls into a similar category, although may involve a slightly steeper learning curve than Unity given your current background.


Lastly, C++ is a valid choice if you want to go down that path, but personally I would recommend not doing so without a good reason. The fact that a lot of professionals use it does not mean you should too, and the reasons they choose it very likely don't apply to you. A lot of people will tell you that C++ is "faster" than other languages -- don't listen to these people -- it's very easy for a less experienced developer to write code that performs terribly in C++, and you would need a lot more experience with C++ to be able to write "fast" code than you might with some other options. You'll almost certainly have a much easier time with a language other than C++, and if at some later stage you want or need to pick it up a lot of what you've learned with other languages will transfer across and you'll find it isn't so difficult after your previous experience.



To summarise briefly: Strongly consider Java. If you don't want to use Java then C# is probably a good alternative for you. Strongly consider Unity3d. Don't use C++ unless you really really want to -- most of the people who commonly try to talk beginners into using C++ use flawed arguments.


Hope that helps! cool.gif

Share this post


Link to post
Share on other sites
I highly agree with the jason, but i'm going to say, C++ is most the most popular programming language for 3D game programming as far as i'm aware. I personally use c++ and love it, so in my own opinion, i would say use C++, there are tons of tutorials and whatever for you to get a good start on 3d programming with it.

also, If i read jason right, C++ is (or can be) faster than other languages (as its unmanaged, and a somewhat lower level language, i think), but as he it can actually be much slower for a less experienced programer, as it does take a lot more experience for efficient coding in C++ than another language like C#.

But if you just want to jump into 3d programming without learning much about the actual language, i'd go with C# (That's if you even want to move away from java, as you can make just as good of games with it) since its the most similar to java syntax wise and you already know how to use java. Whats nice about going with C# too is its syntax is almost identical to C++ so you could at any time move into C++ after using C#, with some adjustments of course, and if your just reading a section of code, you very well may not know whether your reading C++ or C#. C# is more user friendly in my opinion.

But like i said, in my opinion, i'd go for C++ (if opinion was what you were really asking for when you said "best")

I'd choose C++ if you wanted to go "down that path" like jason said. If your planning on really getting into game programming. Otherwise if it doesnt' much matter to you, go with C#, it'll be a lot nicer to you

haha, ok wow, i guess i didn't really finish reading jasons entire post. basically i see i just said what he already said.

"- most of the people who commonly try to talk beginners into using C++ use flawed arguments." --- As you can see by my argument for recommending C++ :lol:

Share this post


Link to post
Share on other sites

Hey guys!
Ive spent a while making 2d games in java but now i think its time to move up a notch.. 3D game programming.
So i was wandering.. apart from gamemaker language What Programming Language is The "Best"(in your opinion) with the same kind of stlye syntax as Java.
If have knowledge in:
Java (extensive)
C++(beginner)
ruby(medium)
VisualBasic(Medium)

I heard some people use C++ but i also heard that a good one is C# . So, which one do you think i could use?
Thanks in advance

Going by your choices I would go c++. (And I would use every game library in the book(Raknet, Bullet, Assimp, etc. Don't waste your time reinventing the wheel)

Share this post


Link to post
Share on other sites
C#

You have your managed code, garbage collection and quick development....
But if you want it you can write 'unsafe' code and use pointers and avoid the CLR completely.... Nice ! :)

So to me why bother with anything else? Java, C++ Pffff, C# has it all covered... :)


/could be wrong

:)

Share this post


Link to post
Share on other sites
This is my first heavily developed bias, but unless there is a very good requirement, like platform demands ( such as Android ), I simply can't fathom why someone would choose Java over C# for game ( or really any other ) development. Even when it comes to tying yourself to a corporate master, I would pick Microsoft over Oracle in a freaking heartbeat! This comment is of course directed at people starting it, already knowing Java is a pretty valid reason to stick with it.


C# just seems like a Superior Java™ in about every measurable metric, except perhaps consulting dollars billed.

Share this post


Link to post
Share on other sites
Since you already know Java, you should continue to use it. It's perfectly capable of 3d games and I see no valid reasons to switch to something else.

Share this post


Link to post
Share on other sites
If i were to use java i would have to use something im not familiar with (opengl for example) but ive chosen c# so i can use Direct x and its interesting for me to learn another language.
I might also try xna.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!