Как машины становятся более мощными и более в некоторых случаях рабочая нагрузка переключается на аппаратное обеспечение (графика и даже физика), для выполнения других задач доступно больше системных ресурсов. Таким образом, несмотря на то, что C++ по-прежнему является отраслевым стандартом, оптимизация «вниз к металлу», которую он позволяет, больше не является основной причиной его использования. Основная причина, по которой он используется, заключается в том, что большинство API для разработки игр - это API C++. Вы редко хотите написать свой собственный движок, и даже если вы напишете свой собственный движок, вы, вероятно, повторно используете стандартные низкоуровневые компоненты, такие как NVidia PhysX, DirectX, OpenGL и т. Д. Некоторые из них теперь имеют интерфейсы управляемых кодов, но Ядро API для C++, так как оно так часто используется.
Следует отметить, что многие игры в настоящее время используют языки сценариев, такие как Python или Lua, для управления большей частью логики игры. Это дает разработчикам контента и моддерам гибкость для обеспечения богатого поведения без необходимости кода на C++ или сборки. Сценарий не является сверхвысокой производительностью, но он чрезвычайно удобен, и современные ПК имеют достаточную мощность для обработки сценариев.
«Всегда использовать компонент таймера» Плохая идея. Измерьте, сколько времени прошло. QueryPerformanceCounter или GetTickCount. Вы знаете, что можно сделать игру delphi, которая производит несколько сотен кадров в секунду ... – SigTerm
Методы, которые вы используете в играх, не диктуются языком.Когда вы знаете и понимаете концепцию, вы можете реализовать ее на любом языке, который вы можете эффективно использовать. –
@ kirk.burleson: «Как только вы знаете и понимаете концепцию, вы можете реализовать ее на любом языке, который вы можете эффективно использовать». Это окончательно не соответствует действительности. Когда требования к сложности, скорости и т. Д. Растут, некоторые языки заставят вас ударить стену. Если вы не попали в эту стену, ваша игра недостаточно сложна :) @ Forlan07: Не столько о методах (хотя даже C++ может медленно работать с плохим кодом). C++ переведен на C, который в конечном итоге скомпилирован в машинный код. C был разработан с нуля, чтобы быть быстрым, и десятилетия тонкой настройки сделали это еще быстрее. – luiscolorado