So I'm doing an extra qualification at college, which consists of a 5000 word essay about a subject of your choosing, the point of which to show Universities/Employers that you can do independant research/evaluation.
My intial idea is:
"What mainstream computer programming languages are used in the video game industry today, and what reasons do companies have for using the language they use?"
My project would consist of a short background on the different mainstream computing languages used currently in the computing industry. It would then evaluate then, with respect to what the companies who use them produce, including my own interpetations on the reasons each language is used in each way. It may also include statements from programmers in the industry today, from large companies to small groups, provided I manage to get any.
I honestly have no idea what companies/indie groups use, which is the point. What I want to know is if there is enough meat here to be worth doing a 5000 word essay on this. I really don't want to be halfway into my research and find out that every game company just use the same language or something. I might do something on XBL programing or something.
Also, I've never actually done an essay this long before. Any general pointers?
Thanks for your time.
Posts
I know 5,000 words sound a lot when you've never done an essay that long, but it's really not. It is really quite tiny. You're going to need to spend:
at least 1,000 on your background/literature review,
at least another 1,000 on your methodology and research methods,
at least 2,000 on the actual data and results,
and that only leaves 1,000 for your analysis and conclusions.
You need to think carefully about what it is that you wish to "discover" through your research; the first thing to do is just to read like crazy to see what work has been done in this area and what conclusions have already be drawn. You then want to think about what your position is within work already done, what you can add to the area through your research, what things you think your research will show.
I'm not an expert in the area, so I can't give subject-specific advice, but I do a lot of essay and thesis planning sessions for undergrads at my Uni so I can help with the general concerns.
It's very common to be overambitious with papers like that - which isn't a bad thing, of course. The opposite would be more problematic. You'll just need to be fairly tough when trimming the fat so you don't end up with a paper that contains a bit of everything.
In total, at Volition, we use C, C++, C#, various flavors of assembly (fairly rare), perl, PHP, ColdFusion (not sure if we use this anymore), erlang, python, lua, flash, and excel macros (:-D). There could be more, but that's what I know of and can remember.
A lot of the early arcade games, as well as early console games (Atari, NEW, etc) were just written in assembler. When I worked on games (a few years ago now), the game itself was primarily written in C++. We'd also embed a Lua interpreter into the game so that designers could tweak things with Lua scripts. Some teams use Flash for creating front ends. Assembly language might be used for optimization (say tweaking a particular algorithm so as to avoid cache misses on a particular platform), and each processor has its own (PowerPC/Cell is different from Intel, for instance). When it comes to tools, there were a lot more programming languages used: C# (used for builds and testing when I worked at EA), python (used for builds at Radical/Activision), MEL (Maya Embedded Language) scripting used to write tools for artists. You might also have a web site that displayed information on memory metrics or build status or something that was written in PHP or Ruby.
Those are just examples from commercial, console games. One you get into iPhone games you can add Objective-C. Android games would be in Java. Facebook games can call Facebook's API from various languages, though I believe most use PHP or Ruby (not really my area of expertise).
Also on Steam and PSN: twobadcats
And you may have difficulty finding out what languages companies use.
I know I'm not authorized to talk on my company's behalf, so I can't go into any detail about what we do or don't use. You can always try emailing HR about it and explaining it's for a research project.
The gamasutra programming section would probably be helpful for this as well.
Also on Steam and PSN: twobadcats
C'mon. As if what languages you use is proprietary information.
I'd love to see a recruiting advertisement if it is:
Seriously though, some places are stricter than others. Without knowing the specific policies, can't really fault anyone for playing it safe.
Also on Steam and PSN: twobadcats