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.

C++, as I have seen, is being heavily used in 3d video game engines.... Is it because of the performance issues, legecy code or libraries such as DriverX?

If performance, libraries and code infrastructure are the reasons, dosen't that make C++ indispensible, at least for game engines? (ie, we have no other option even in the very distant future).

I asked this because, I have the right to know the upcomming future trends in game engines.

share|improve this question

closed as not constructive by bummzack, Laurent Couvidou, Trevor Powell, Ricket Oct 1 '12 at 13:23

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 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, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
What is the problem you are facing? According to the faq you should ask questions based on actual problems that you face. –  Zehelvion Oct 1 '12 at 7:44
    
C++ is fast, but C++ can't be used in every environment. You can use C++ in Flash (Alchemy) theoretically, but it's converted and loses some of it's performance. That makes c++ a poor choice for a browser game, if You don't want to lose users who can't install a browser plugin (like in Quake Online). –  Markus von Broady Oct 1 '12 at 7:56
1  
More to the point, whatever you learn with c++ will be applicable to whatever comes next. –  Jari Komppa Oct 1 '12 at 8:09
1  
@MarkusvonBroady that probably won't change the way linear algebra works, to throw a random example. –  Jari Komppa Oct 1 '12 at 8:18
2  
Seriously? The future of C++ in game engines, again? Same answer, nobody knows: gamedev.stackexchange.com/a/37385/14808. –  Laurent Couvidou Oct 1 '12 at 8:39

1 Answer 1

up vote 3 down vote accepted

Some reasons off the top of my head because there are no, IMHO, technical no goers to have say a C# engine:

  • It has been like that for long time (so Nintendo won't send you a python engine because your team programs in python)

  • C++ is Fast (which is good not only for physics engines but also for scene node traversal, occlusion queries, ...)

  • I'm not sure about this but maybe (personal opinion here!) : You hire a C++ programmer because if you can program in C++ you are at least at a minimum level and can easily learn other languages / techniques. Maybe I'm just believing that there is some sort of C++ Lisp-like genius myth though.

  • C++ can be very efficient when it comes to memory usage. A low overhead of your triangle class is important when you want to load up 12 million triangles in your octree.

  • There are a lot of libraries compilers and tools, well tested, out there for C++.

But I guess it's most historical reasons.

Don't forget that many engines comes with bindings to other languages. They are coded in one (say C/C++) but can be used by another (say java).

share|improve this answer
    
By the reasons you gave, I have concluded that C++ will be here to stay for game engines till there is some 'heavy' radical change in hardware design, ie very very long future ahead. –  kasperov Oct 1 '12 at 8:55
    
Those changes might already be here! Like languages for shader programming and other parallel processors. They do bind nicely with C/C++ though :-) –  Valmond Oct 1 '12 at 9:45
    
so, are you saying that C++ is going down, especially in its niche of game engines? Whats replacing it? –  kasperov Oct 1 '12 at 11:01
    
Folks, please move this discussion to our chat. –  Ricket Oct 1 '12 at 13:27

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