Unless you're specifically trying to learn a language, I would begin with something like Unity3D. No, I'm not a unity fanatic, but it will cut your development time a great deal, they have some decent documentation, and some complete game examples. Also, you can script in JavaScript and C#. There's really no such thing as a "Best" language; every language has its own idiosychrocies. Generally, what you do in one language, you can do in another. C++, C#, and java are object oriented languages: meaning, they give you the ability to create "objects" as opposed to functional programming. Say you develop with C#. That means you have to use the .NET platform, and you're developing mainly for windows. Then you still have to consider asset creation. JavaScript is a pain in the butt sometimes, because you have to run the code in a web browser, sometimes without any visual feedback.There is more to creating a game than simply writing code.You need to get programming practices down pat.
I Want Game Programming
Personally, before I started doing any programming in a game environment I learned how to code. I started with C++, the university I go to started us with C++. After becoming fairly comfortable with the language I got interested in learning a few others. I looked into Java and then C#. I decided a few months ago to try out Unity. It has been fun playing around with it. I suggest learning to code, in any language, that has a lot of online support. Then jumped into a simple engine, like unity, and play around. Make things, break things, test, fail, and sometimes succeed. If you are motivated you will eventually get some great results!
Unless you're specifically trying to learn a language, I would begin with something like Unity3D. No, I'm not a unity fanatic, but it will cut your development time a great deal, they have some decent documentation, and some complete game examples. Also, you can script in JavaScript and C#. There's really no such thing as a "Best" language; every language has its own idiosychrocies. Generally, what you do in one language, you can do in another. C++, C#, and java are object oriented languages: meaning, they give you the ability to create "objects" as opposed to functional programming. Say you develop with C#. That means you have to use the .NET platform, and you're developing mainly for windows. Then you still have to consider asset creation. JavaScript is a pain in the butt sometimes, because you have to run the code in a web browser, sometimes without any visual feedback.There is more to creating a game than simply writing code.You need to get programming practices down pat.
Ok thanks, But do I need any prior knowledge or experience to learn Unity3d?