В зависимости от 'сложности' игры. Если навороченная игра - тогда C# с Unity, если простая - то python с pygame.
По поводу игры с технической точки зрения, я игру себе представляю как:
Есть движок, который имеет в себе сам игровой цикл, в котором есть основы игры, такие как передвижение, стрельба, вождение автомобиля, драки, система укрытий и т.д.
Есть скрипты, которые пишутся на C#/Python/LUA или тех же плюсах, в которых прописаны возможности, сюжет и многое другое.
Так как мне не нужна работа с графикой, больше половины работы отпадает. Мне рисовать даже ничего не нужно на экране, просто окно.
Но остаётся физика, и то не полная. Столкновение объектов и т.д.
По поводу движка, с нуля я писать точно ничего не собираюсь. Как минимум, возьму звуковой движок типа Bass, возьму какую нить математическую библиотеку.
Дело в том, что плюсы сильно сложны для меня. Там указатели и т.д. Но всё же если не обойтись, я конечно готов тупить тупить, но дотупить. Вот и надо понять, стоит ли.
Ведь в таких движках, как Rage, там ведь в основе графика и физика. Как и почти во всех движках.
Я бы не думал об этом, если бы движок звуковых игр BGT, не был написан на плюсах. Плюс движком это назвать трудно. Там используется для программирования свой язык, подобие Angel script.
Шарп меня устраивает, понятно всё, без проблем, Python к сожалению интерпретируемый, но все движки почти на плюсах. Потому я подумал, что вот напишу я что-то на шарпе, а в итоге игра будет очень ограничена в функционале и в возможностях.