News: 11 March 2016 - Forum Rules

Author Topic: Professional game company programming language?  (Read 4983 times)

InfamousKnight

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
Professional game company programming language?
« on: August 27, 2012, 07:31:26 pm »
I'm just curious about what language these professional game companies use nowadays. Is it C/C++? If it is, then I'm in the right place.

henke37

  • Hero Member
  • *****
  • Posts: 643
    • View Profile
Re: Professional game company programming language?
« Reply #1 on: August 27, 2012, 08:11:05 pm »
C and C++ remains favorites due to them having just the right feature set for actual programming.

But scripting languages are becoming more popular. The reasons vary, but include things like letting incompetent fools thing they can program, factoring out boring stuff and not having the level editor require a compiler.

FAST6191

  • Hero Member
  • *****
  • Posts: 3357
    • View Profile
Re: Professional game company programming language?
« Reply #2 on: August 28, 2012, 04:08:33 am »
The portability and potential speed of C and C++ (and if you are working on Microsoft platforms then maybe C# as well- see XNA) are hard to ignore. +1 to scripting and by virtue of serious abilities to interface with (and kick up the slow routines to) the C family Python seems to be a choice language for many platforms although I have also fished out Java and Lua for several years now (I have even seen lua in commercial DS games)*. As henke37 said levels use scripting, often custom, so a bit of language design in general would not go amiss although I usually find good C/C++ programmers do not have a hard time making that jump as C kind of demands you do this for anything beyond a non trivial program.

*I would not be surprised to see something in the way of perl, lisp or scheme but I have not seen enough evidence to call it. Database design with SQLlite and nosql for client side stuff are common enough and if you are doing games with an online component then a full fat SQL of some form will probably be there (definitely if you end up doing "social games") but that is heading off topic rapidly.

What I mainly came here to say is revision/source/version control has taken off in a big way these last few years both in coding and assets so if you want CV/resume padding then being able to say you know Perforce (a piece of paid software and not cheap but it worked where SVN/CVS did not do so well for game development, I am not sure what goes now git is the method of choice for many but you do have legacy stuff to consider there) is good. Likewise shaders are a programming language unto themselves these days (and they are now incorporating physics modelling too) but that probably still falls under knowing technologies rather than knowing a programming language.

The only thing I am not sure about is whether I suggest you learn assembly with a view to doing inline assembly in preference to say spending more time on openGL or something in directX or even something more esoteric like aspects of psychology or game theory. Ten years ago absolutely head down the inline assembly path but MS seems to be heading away from it (if it is there in their compilers at all any more it is usually sidelined hard) and with multiple system development being the norm you do not want to be rewriting a bunch of ASM to say nothing of security measures making it harder to gain much from ASM.

Geiger

  • Jr. Member
  • **
  • Posts: 39
    • View Profile
    • Geiger's Crypt
Re: Professional game company programming language?
« Reply #3 on: August 28, 2012, 03:14:59 pm »
I only have anecdotal evidence, but the C family seems to be the most popular.  Coding to the metal (ASM) is nearly unheard of these days (one of the reasons emulators for more recent systems actually work better than for older systems).  A lot of work is now done through scripting, tools, and middleware (and apparently is shifting ever more in this direction).

But then, there are the odd ones here and there.
This is the patent age of new inventions -/- For killing bodies, and for saving souls, -/- All propagated with the best intentions. --Lord Byron

syntax error

  • Full Member
  • ***
  • Posts: 227
    • View Profile
Re: Professional game company programming language?
« Reply #4 on: August 31, 2012, 05:39:28 am »
In history some games (the Gold Box series and more) were written in Turbo Pascal.A few old Point and click adventures (SCUMM and a some others) used their own languages.Zork was written in assembler.

Karatorian

  • Sr. Member
  • ****
  • Posts: 381
  • "Gotta get get ... 6502"
    • View Profile
    • Studio Karatorian
Re: Professional game company programming language?
« Reply #5 on: October 19, 2012, 10:16:46 am »
The C family (usually C++) is the most common for core engine development now-a-days. (Except on Android, where Java is the platform default. Objective C is de rigeur on iOS.) Scripting languages, whether custom (like QuakeC or UnrealScript) or generic (like Lua or Python), are often used for event scripting and other high level functions. Knowing shader programing languages (such as GLSL) could also be useful. (But might be more of a technical artist sort of thing...) SQL is probably useful if you want to interface off-the-shelf databases, whether offline or online. If you intend to develop web games, JavaScript for HTML5 or (nearly identical) ActionScript for Flash are a must. Believe it or not ASM still can be of some use (on smaller consoles), but is not a priority anymore.

Generally, knowing how to program is more important than any specific language. Once you get the hang of it, one can learn (the core of) a new language is a week or two. Sure, learning the core libraries and other APIs takes longer, but unless you know exactly the engine and middleware your potential employers are currently using, you'll have to pick all that stuff up on the job anyway. That said, C++ and DirectX might be a good start if you're interested in Win32 PC games (which I'm not). Consoles are more varied, but the Unreal Engine is popular, widely portable, and there's some sort of student version available.

Most game development today isn't focused on core engine development. Middleware is increasingly used and scripting and data driven approaches are becoming the norm. In many games, there's significantly more non-programming labor than programming. (Which didn't used to be the case.)
Current ProjectsFinal Fantasy EngineSMB Special for NESStudio Karatorian
@loop: lda (src),y — sta (dst),y — iny — bne @loop — inc src+1 — inc dst+1 — dex — bne @loop

Jorpho

  • Hero Member
  • *****
  • Posts: 5060
  • The cat screams with the voice of a man.
    • View Profile
Re: Professional game company programming language?
« Reply #6 on: October 21, 2012, 09:03:50 pm »
A few old Point and click adventures (SCUMM and a some others) used their own languages.Zork was written in assembler.
Zork was no more written in Assembler than the LucasArts SCUMM games.  Infocom used the "Z machine".
http://en.wikipedia.org/wiki/Z-machine

All of Popcap's games use the same application framework (known as "SexyApp" at one point, I think), as you might imagine.  The same goes with Telltale.

The original version of Myst famously used Hypercard.

RollerCoaster Tycoon came to mind as something that might use something unusual, but it turns out it was mostly written in Assembler directly (which is indeed pretty unusual).
http://en.wikipedia.org/wiki/RollerCoaster_Tycoon

The GrimE engine used by Grim Fandango and Escape from Monkey Island used LUA for scripting to at least some extent.

Apparently The Temple of Elemental Evil and Vampire: The Masquerade: Bloodlines both heavily use Python.  A quick search brings up http://wiki.python.org/moin/OrganizationsUsingPython , which suggests numerous others.
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

BRPXQZME

  • Hero Member
  • *****
  • Posts: 4572
  • じー
    • View Profile
    • The BRPXQZME Network
Re: Professional game company programming language?
« Reply #7 on: October 21, 2012, 09:43:39 pm »
Zork was ported across a number of programming languages, but assembler wasn’t really ever one of them.

Z-machine interpreters, well, that’s a different story....
we are in a horrible and deadly danger

henke37

  • Hero Member
  • *****
  • Posts: 643
    • View Profile
Re: Professional game company programming language?
« Reply #8 on: October 22, 2012, 07:37:40 am »
I was under the impression that RCT was just optimized in some placed with assembly, not written entirely in it.