Можно обучиться самому - начни я C++, DIRECT3D, Ageia Technologies, создай Собственный движок и строчи на нем игры) Это очень сложно)... На чужих двигах ты не уйдешь далеко, нужен свой.
И диплом, думаю и так понятно. Желание и мозг есть.
Один ты все это не сделаешь, нужны месяцы, чтобы чего-то добиться + исправление тысячей ошибок, которые тебе будут встречаться не раз, иногда даже и пародоксальные). Если надумал делать игры, то собирай команду таких же целеустремленных, как ты!
Во многих играх часть движка пишется на ассемблере. Так что готовься.
Вот из-за таких как Вы, и возникает мнение о том, что ассемблер невероятно трудный язык. Я уверен, что большинство тех, кто говорит об этом, вообще не имеют представления о данном языке программирования.
Написание игр (ну конечно же не самых простых) требует знания не только языков программирования и всего вытекающего из них (типо всяких там алгоритмов), но и к примеру физики, теормеханики и еще мн. др (без этого свой двиг не написать). А факультетов, которые занимаются подготовкой игроделов по-моему и нет.