Подавляющее большинство игр пишутся в игровых движках - это специальные "фреймворки" (библиотеки, навязывающие архитектуру) в которых разработка игр более удобна.
На PC (personal computer) самые известные движки - это Unity (язык C#) и Unreal Engine (язык C++).
Про движки на мобильные пратформы - я увы не в курсе.
Современные 3D-игры разрабатываются на языке, с помощью которого, можно управлять памятью без "непредвиденных ситуаций". Хорошо для этого подойдет C/C++.
Статичная память, обязательный параметр в огромных проектах. Вы всегда должны контролировать расход ресурсов Вашей машины и ресурсами машин Ваших клиентов.
Unity написан на C#, там нельзя управлять памятью вручную