Как правило, профессиональные игры в основном разрабатываются на C ++. Однако, если вы не опытный разработчик C ++, я бы рекомендовал выбирать язык, с которым вы более знакомы, изучая нюансы разработки игр, иначе вы можете столкнуться с синтаксисом и общим характером C ++ больше, чем с концептуальными особенностями, связанными с игрой. программирование. C # и XNA, или даже ныне несуществующий Managed Direct X, - отличный способ начать, как уже упоминали некоторые. Обширная информация, касающаяся разработки игр на C #, легко доступна в Интернете и в печати, и существует большое количество сообществ, которые могут оказать вам поддержку во время обучения, поэтому воспользуйтесь ими.
Также обратите внимание, что, хотя XNA является более полной средой разработки игр, есть много других доступных библиотек, таких как Ogre, OpenGL и Irrlicht, которые охватывают все от аудио до физики.
Постарайтесь получить представление об основах игры и развить свой опыт с помощью постоянно усложняющихся проектов. Это не значит, что невозможно взять большой проект первым, но, по моему опыту, небольшие проекты обычно выполняются с большей регулярностью. Каждая игра, которую вы закончите, обеспечит вам уверенность, опыт и навыки.
Я бы рекомендовал проверить http://www.GameDev.net, ресурсы там бесценны. Riemers.net также содержит несколько великолепных руководств по XNA и Direct X.
Наконец, постарайтесь не разочароваться в огромном понимании требований к разработке игр. Когда вы начинаете работать в этой области, все может показаться ошеломляющим, но имейте в виду, что даже гуру отрасли начинали без знаний в какой-то момент. С упорством, страстью и терпением вы овладеете необходимыми навыками для создания действительно приятных игр.
Удачи.