Leonin писал(а):Впервые с программированием я встретился лет в 16 где-то (сейчас 21), хотел свою игру запилить, зеленый еще был. Смотрю на тот код и плакать хочу
Причем первым языком изучал с++.
Если вы не особо знакомы с c#, то рекомендую основные методы и принципы изучить: что такое object, его методы, ссылочные типы, значимые типы, свойства, структуры и классы. Если уже знаете все это, и синтаксические конструкции (if-else, switch, for, foreach, while, try-catch-finally) то уже хорошо. Практически с этими знаниями уже можно что угодно построить
Другое дело построить так, чтобы с каждым новым кирпичиком все не сломалось. Далее я вникал в делегаты и события, должен признать для меня они были довольно трудными. Потом идут высокоуровневые вещи, типо ООП, всякие принципы, вроде kiss, yagni, паттерны и прочие вещи, чтобы постройка удалась) И если честно для меня эти принципы и вещи до сих пор остаются не до конца понятыми. В конце концов, я понял, что не нужно пытаться писать ИДЕАЛЬНЫЙ код, продумывая все про все наперед. Главное поддерживать его ровно до такого рабочего состояния, чтобы в нем можно было разобраться и он работал стабильно. Все это, конечно, сугубо личное дело
Что касается самого Unity, то изучал я его в основном на практике. Делаю игру и одновременно учусь. Да, это чревато частым переписыванием кода, но, по-моему, без этого новенькому никуда. Очень часто геометрия нужна и ее понимание: вектора, кватернионы, структуры rect и bounds. И что стало отчасти неприятным для меня -- это надобность связываться с шейдерами, по-крайней мере в моем случае. Нет, простую игру, конечно, можно сделать со стандартным шейдерами, особенно учитывая postProcess и imageEffect от тех же юнитеков. Но для красивой картинки иногда не хватает. К примеру, анимированная эмиссия) Редко бывает нужда по разнообразным алгоритмам: поиск пути, упаковка и т.д.
Что-то в другую степь меня повело. В заключение просто скажу, что несмотря на все сложности, делать игры, и не просто игры, а интересные игры, более чем реально. Была бы желание и упорство.