Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Possible Duplicate:
Why is C++ used for game engines? How about its future in game engines?

C++ will remain the AAA video game industry standard, especially indispensible in video game engines till forseable future.

What does this statement mean? Is it correct?

share|improve this question
add comment

marked as duplicate by Sean Middleditch, bummzack, Byte56, Kylotan, Jari Komppa Dec 28 '12 at 10:25

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1 Answer

The truth is, most game developers do not make their own engines, or at least are not in charge of making their own engines. Often, a big developer will use the same engine for several studios. Examples of these are Bethesda, Blizzard, and Valve. They have used variations of the same engines for several games now. What really changes from game to game is usually more along the lines of art, mechanics, and story.

The game engines are really the core of any video game, though. And this is where the coding really begins. If you've ever even opened up any of Bethesda's construction sets, you might realize that their entire game was probably produced using a similar piece of software designed for their engine. But this is already building on a completed engine.

C++ is used for its versatility while remaining efficient, really. I know of very few programs I've written that couldn't have been in some way ported to C++. But at the same time it's old enough to retain the speed of being only two steps above Assembler (C being in the middle). It also retains portability that way. Windows, Mac, and Linux all easily support it. So this is why it is used in game engines.

But I also disagree with the statement you bring up with regards to game development as a whole. You do not need to know C++ to be able to work in video game development. What you do need to know is some form of coding (and C++ is a good one to know for a background). But if you are working on creating a new game engine, I'd agree that it is indispensable.

share|improve this answer
"But at the same time it's old enough to retain the speed of being only two steps above Assembler (C being in the middle)" - Not entirely sure what you meant by that, are you implying C is faster than C++? –  miguel.martin Dec 28 '12 at 8:49
This answer also seems to imply that Assembler code is faster than C/C++. –  bummzack Dec 28 '12 at 9:19
Well, they are. In practice, EVERY piece of code comes down to Assembler/machine code. Languages exist only to make it easier. Each time you add new features, they have to be able to somehow be turned in Assembler (even if they go through a lower language like C or C++). But C++ is C with added features. You could use it without those features, and that would be around as efficient as C, but object-oriented programming is by definition slower/more memory using than C. Hope that clarifies it. –  Garan Dec 28 '12 at 17:19
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.