Уважаемый dmp. Судя по Вашим постам - вы человек хорошо разбирающийся в различных языках и в программировании в целом. Но иногда Ваши изречения заставляют задуматься...
Неужели Вы перед началом разработки проекта не разбиваете его на подзадачи, объекты, взаимодействия? Неужели, прописывая AI для какого-нибудь персонажа, не расписываете схемы его поведения? Да даже банальное поведение интерфейса в той же читалке нужно хотя бы описать псевдокодом.
Да будь ты трижды мастером в 10 фреймворках, невозможно написать хороший код без базового проектирования системы. Хороших fps в игре можно достичь только строя правильные алгоритмы управления объектами. Да взять ту же Юнити. Набросать сцену в ней - проще простого. Поставил перса от 1-го лица - и бегай за час изучения продукта. Только для того чтобы продукт был стоящий - придется ещё очень много кода написать на C#. И без знаний алгоритмов, математики и физики (не на уровне ВУЗа, конечно) тут никак... Да, блин, простейшую сортировку нужно уметь делать, чтобы шмот в таверне по страницам раскидать.
Вчера вот игрался в одну гонку, тоже видать от любителя фреймворков. Тачка красивая, ездит быстро. Да только через столбы проезжает, поворачивает максимум на 10 градусов и попутную машину может закинуть в небо.
Специалист должен знать основы. Это золотое правило профессионала.