I am new to programming and I don't know the differences between the major languages. I desperately want to get into the gaming industry because I have so many stories I want to tell and so many experiences I want to create. I currently do 3D modeling/animation, so any similarities would be helpful.

What steps should I take to investigate an industry (gaming) and the companies within that industry? How do I identify what programming languages they use, so I can study them?

4 Answers
4

The first step I would recommend is to build a list of companies you are interested in working for.

From there, take a look at the job postings they have had. Scour the major job sites to go through the archives as well. With that information, you can build up a list of technologies and languages that your target companies are using.

Most companies don't change their programming language on a frequent basis. Looking at current and historical job requisitions will give you an idea of where they have been and where they are evolving towards.

Look up the leaders of your target companies. Find every article and news briefing you can where they describe the products and games they make. Even non-technical articles can shed some insight on the programming challenges they are facing and what technologies they used to address them.

If you're looking into the console market, take a look at the SDKs for the consoles you are interested in. The SDKs will tell you what language you need to know in order to work on that console. C / C++ is pretty common at this level.

If you're looking into the mobile market (android and iOS) then Java and Objective-C are really the only two ways to go.

There are other languages used, in different niches of the industry, eg, online web games are generally coded in Flash, a lot of C++ engined games have their levels and gameworlds described using lua or javascript. I'm sure there is a game somewhere that's coded in just about any language, but if you want the greatest exposure... C++ is it.

Anyway, there is a Game Development stackexchange site that might be a better place to look to see if others have already asked the same question (I guess they have), but maybe you should ask about being a game designer, or ask about junior entry levels to the industry.

First of all is good to know that the gaming industry is not only made of programmers. There are other roles that are equally important. So if you only want to go into the gaming industry and you are already a 3D modeler you can follow this path and get in the industry.

If your objective is more specific, if you want to be a programmer in the game industry I can recommend you some things I think you can take advantage of the 3D modeling background. Today's industry has some good options of development kits where you have something else than just the code.

These two are frameworks and not a languages, it may be easier to you to use your background than just start programming any language directly. They enable you to work with 3D models and code easier than just a pure language. Also this both have good documentation and tutorials where you can learn the basics. Also this two frameworks are used for top games. With both of them you can code once and deploy your project for different platforms. You don't need, for example, to code one version for Android and one version for iOS, you can just deploy you project for both platforms.

Starting in programming with one of this frameworks may not be the best way to learn. I believe that learning the basics of programming are the best way. For this I would suggest C++ since it's widely used in game industry, there is a lot of material in the web and it is a good language to learn the basics. But if you want to use your 3D skills from the beginning Unity and UDK are are nice choices.

It depends on whether you're planning to work all by yourself, in a small team, in a large team or even in a big comapny (like EA).

If you're planning to do everything by yourself you'll have to learn everything: persistence (databases, xml files, binary files, text files), visual side of the game (flash, open gl, direct 3d, or even something else), writing logic of the game (any programming language will do) and stitching everything together (build systems, shipping, copyrights).

If you're planning to work in a bigger team your set of responsibilities will shrink. For example you'll be responsible for creating models, or physics, or game logic, or game scenario.

If you're really good at designing games (what the game is about, its scenario, goals and playability) maybe you'll find a position where you only write scenarios, draw models (on paper) and explain the ideas to developers.

Long story short: many people involved in gamedev are not developers/testers/graphics designers, so you still can do what you feel you're good at (designing games) without programming skills (developing games).