When I took my Java courses a year ago, I was told that Java is used mostly in the overseas gaming companies while C++ is used here in the US. What languages should I focus on learning in-depth?
|
closed as not constructive by Nicol Bolas, Jonathan Hobbs, mh01, Laurent Couvidou, Byte56 Nov 23 '12 at 20:19
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
|
Common programming languages can be broken up by "type" of game development. Large, triple-A games that are pushing the envelope when it comes to graphics typically utilized a mixture of straight C and C++ for the majority of the project. Often, a scripting language will be involved--though, this isn't necessarily true of all engines. Gameplay code is often written in a proprietary language (UnrealScript), Python, Lua (CryTek, Spark Engine), or, in some cases, C# (The Sims 2). A few game engines are starting to support JavaScript (Unity, etc.). Shader languages are also utilized, of course. In the mobile realm, iPhones are dominated by objective-C while most other cellphones utilize Java (Android, Brew-based, etc.). As for indies or small companies, they can be utilizing pretty much anything depending on their target platforms. For instance, C# is common with small time Live developers. Flash developers obviously use ActionScript. So, there you go. Hope that helps. |
|||||||||
|
|
C++ is the lingua franca of the console game industry. C# is used pretty heavily for tools and pipelines. |
|||
|
|
|
C++ is fairly prominent in the current gaming market. Thought C is still widely used. When making games, your main focus should not be language but the end product. Never start a project thinking "How can we make this in language X?" but "How can we make this in the best way possible?" |
|||||||||||
|
|
The ultimate source is the TIOBE Index. Granted it won't tell you what each language is being used for... |
|||||||||||||||
|
|
As already mentioned, C++ is essentially the language to learn; the major consoles all host a C++ development environment, for better or worse. C# is starting to take off, in XNA-powered games, but is most often also used for tools development. Lua is also one of the most commonly used scripting languages in games; it's helpful to have at least a passing familiarity with it. Often the build chain used to build the game will contain scripts written in Python or Perl; it's helpful to be familiar with those too (though it's not a requirement). |
|||
|
|
|
It is best not to learn one language, but to learn different programming concepts and how to apply them in a few different languages, frameworks and enviroments. |
|||
|
|
|
Don't forget PHP. It is very popular in MMORGP played via WWW development. In Poland f.g. there is very large number of MMORPG based on Vallheru engine, written entirely in PHP. |
|||
|
|
Maybe you shouldn't focus on learning one specific language. You should how to develop. Yesterday, i downloaded the iOS SDK and Xcode. And i took it right away and made a little tetris. I'm an as3 guy, and i haven't even bother about learning Objective-C. But i was able to make a simple game because i understand how to develop. So, my point here is that you maybe should spend more time learning new concepts, than a specific language. Or Learn X languages and port your knowledge to other languages. |
|||
|
|
|
Game development is a different ball game form application programming. In the world of games it is all about speed. When pushing the envelope with 1080p HD graphics, high sampling sound and nex gen AI every last processor cycle counts. Historically C and C++ have been the fasts but java is now comparable to c++ in terms of speed in some circumstances. C++ allows you greater control over the architectural you design on than any other language. Most senior game developer are well senior meaning they were taught the old school way as they were invented an as such are very proficient in older technologies. But the most major reason that commercial game development favours C++ is that it has been used for over 15 years in the games industry and there are literally billions of in house and public access library's for it. If you want it chances are someone has built it in c++. Having said that java is becoming more and more popular as it makes it easier to develop on the wide spread and constantly changing mobile architectural but bleeding edge games will continue to have there core written in c++ for some time to come. |
|||
|
|
|
Objective-C for iOS devices of course. https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/chapters/Languages.html And most OS X programs are coded in it as well : https://developer.apple.com/technologies/mac/cocoa.html |
|||||||||||
|
