Большинство современных ЯП ИМХО имеют достаточно низкий порог вхождения, чтобы можно было начинать изучение с них, а не браться за какие-то более легкие. В том числе C#, C++ и Java. Вы правильно рассматриваете именно их. Напишу немного подробнее о каждом:
C#: лично мне очень нравится этот язык. Перспективы хорошие, особенно учитывая то, что он транслируется в байт-код (как Java), что дает хороший потенциал для мультиплатформенности, а Microsoft потихоньку начинает развивать этот потенциал, открывая некоторые исходники. Язык относительно новый, благодаря чему обладает довольно чистым и красивым синтаксисом, и всяких костылей немного.
Инди-геймдев на C# - это Unity3D. И хоть это очень хороший движок для игр практически любого жанра, но если он загнется, то другим движкам типа WAVE/Paradox будет тяжело тягаться с таким гигантом, как UE4.
C++: практически универсальный язык. Если остановитесь на нем, то рекомендую осваивать вместе с Qt, так как получаете прекрасный кросс-платформенный фреймворк. Лично мне не нравятся плюсы за явные указатели и некоторые довольно костыльные решения, сделанные для того, чтобы сохранить обратную совместимость со старыми версиями языка.
Геймдев на плюсах - Unreal Engine 4, CryEngine 4 например. Вполне возможно скоро к ним Source 2 присоединится. Это из "больших" движков. Есть еще куча поменьше, типа Cocos2d.
Java: к сожалению, мало что о ней могу сказать, так как не особо ей интересуюсь. Из плюсов - востребованность на рынке. С Java не пропадете. Из минусов - вроде каких-либо "серьезных" игровых движков, где основной ЯП - Java нету.