This is more of a technical question, but what version of C++ is most used in AAA nowadays? Is it still very much C++11/14 or has it transitioned to C++17/20?

It’s a pretty broad mix. Most devs are still using C++11/14 to my knowledge, with several ongoing legacy titles continuing to use C++03 to support them.

One of the biggest pillars of development is that the ability for devs to work (stability) is paramount. If we were to make a change like an engine or software upgrade (e.g. Unreal 4 to Unreal 5), a major tool switch (e.g. Max to Blender), or a C++ version (e.g. C++11 to C++17), we will render a large number of developers temporarily unable to work. This is because most upgrades or switches no longer support the things the previous software or version supported perfectly, and those small breakages require time to identify and time to fix - during which those devs who depend on that software to work can’t.

This kind of time cost eats a portion of the budget - we won’t get extra dev time added because we’re upgrading our tools and need time to iron the resulting issues out. This is why the decision has to be made - are the benefits from making the switch worth the cost of fielding all of the issues that could be caused by it? This varies on a project-by-project basis. If the project is early in development or only has a small number of affected developers, the cost is much lower than if there are hundreds of devs affected or thousands of finished assets that could be affected.

Live games, especially old established live games, only make these kind of changes when absolutely necessary because they have tons of existing resources and assets already live and can’t sacrifice the dev time to go back and bring them all up to spec. Many well-established MMOGs are still using C++03 for this reason - they just have too much built on it and can’t afford the change. SWTOR is still using the licensed Hero engine and are still using the build from 2012.

[Join us on Discord] and/or [Support us on Patreon]

Got a burning question you want answered?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *