Изучение c# путем создания игр, стоит ли идти по такому пути и какие есть варианты?
Программирование происходит в голове. Компьютер всего лишь средство выражения, так же как и windows forms. Приучите себя писать не только код, но и документацию. В общем программирование игр на игру совсем не похоже и обрастает кучей допработ, которые делать не всегда хочется, потому что а) я это миллион раз видел у других и б) я думал это должно работать само, а оно во как вышло, что мне нужно сделать то, что пользователи будут стремиться "пропустить" как назойливое препятствие на пути к экшену.
Из маленьких наблюдений за профессией - просто делайте по одному два открытия/инсайта для себя, но каждый день. Сохраняйте темп, продолжайте бежать. :)
Все нижесказанное имеет отношение только с разработке нормальных игр и серьезному программированию, а не к поделкам на коленке, приносящим нулевую прибыль.
1) В Unity3d программировать НАДО. Перетаскиванием готовых элементов вы не отделаетесь. Те, кто утверждает обратное - нагло врут.
2) Творческого с точки зрения интересных историй и тому подобного не программерского для программистов в играх - мало. Творчеством там в первую очередь геймдизайнеры занимаются. И вы успеете их возненваидеть, по три раза переписывая какой нибудь ни разу не творческий модуль.
3) Научится хорошо программировать можно ТОЛЬКО в команде.
4) Обычно на чем написано приложение - не имеет особого значения. Важны подходы, паттерны, алгоритмы, и прочие умные слова. 
Какой я бы вывод сделал - продолжайте пока что работать где работайте. Если проект там большой - наберетесь опыта, а он всегда нужен. Если очень зудит делать игры - присоединитесь к какой то АДЕКВАТНОЙ команде. Их можно попробовать поискать на gamedev.ru, хотя там с адекватностью бывает крайне печально.