tgoop.com/logofalprog/65
Last Update:
1. Азы программирования.
Для начала вам нужно знать хоть какой-то язык программирования. Какой именно неважно. Главное, чтобы были переменные, функции, массивы и базовый навык их применения. Учили в школе паскаль? Прекрасно, освежите свои знания, написав сортировку пузырьком, и можете пропускать этот пункт. Говнякали сайты на джаваскрипт? Ещё лучше! Допивайте кофе и идите следом за паскалятами.
Если же знаний нет совсем, то лучше взять сразу C#. Учить надо по книге (не по ютубу). Обычно рекомендуют Герберта Шилдта, но можно и другого автора. Главное, делать упражнения из книги и побольше экспериментировать самому, а не просто читать.
Сколько это займёт времени, сильно зависит от вашего возраста и знаний. Чем больше, тем, в принципе, лучше. Хотя бы пару недель. Лучше месяц. Для закрепления и получения быстрых дофаминов можно скачать Юнити и написать какую-нибудь змейку по туториалам (но не увлекайтесь пока надолго).
2. Кресты.
То бишь C++. Да-да, без этого никуда. Углубляться сильно не нужно, но инклуды, классы, ввод/вывод и указатели освоить нужно. А также обзорно STL и шаблоны. Также по книге. Если хорошо знаете английский, то можно Tour of C++ почитать от Бьярна Страуструпа. Если нет, то, например, того же Шилдта. Главное, чтобы книга была относительно новая. Не раньше 2012 года, поскольку вам нужен как минимум С++11 (старый с++ учить смысла нет).
Если вы уже умеете программировать, то с этим пунктом можно справиться где-то за 4 дня плотного изучения. Если возникнут трудности, то, возможно, надо сменить книгу (ну, или вы рано перепрыгнули первый пункт).
3. Графон.
Теперь вооружившись знанием си, тратим недельку-другую на основы 3D-пайплайна по урокам NeHe или подобным. Нам нужно освоить хотя бы вывод треугольников, текстурирование и рендер-в-текстуру. Надо понимать фруструм- и фейс-кулинг, мипмапинг, ранний z-pass. Стенсил буфер факультативно. Лучше учить сразу с шейдерами, то есть OpenGL 3.3+, OpenGL 2.0+ или DirectX 10-11. OpenGL, мне кажется, для тех, кто больше математик (чтобы это ни значило), а DirectX — кто больше программист. Но ни в коем случае не берите DirectX 12 или Vulkan, чтобы раньше времени не спалить себе мозг.
Если шейдеры покажутся сложноватыми, можно сперва подучить более старые версии, где был Fixed Function Pipeline, а уже потом вернуться к шейдерам.
4. Шарп.
Если в первом пункте вы учили C#, то пропускаем. Если нет, то после крестов шарпик покажется лёгкой прогулкой. Он нам нужен для…
5. Unity.
Внезапно? На самом деле движок действительно отлично подходит для старта. Первую игру проще всего сделать именно на нём, как и найти первую работу. Но теперь у вас будет прививка от первичного идиотизма. Вы будете хотя бы примерно понимать, что происходит за кадром; будете представлять, что гуглить, когда возникнут графические артефакты.
6. Линейная алгебра.
К этому моменту, вы могли глубоко не вникать в матричные преобразования, думая о них, как о волшебных чёрных ящиках; но рано или поздно разобраться в подноготной стоит. Постройте матрицу перемещения, масштабирования и поворота в 2D. Разберитесь, как работает эта магия. Если хватит сил и терпения, изучите устройство матрицы перспективной проекции. Это очень полезные знания (про обычную геометрию и тригонометрию я вообще молчу: если вы не можете определить угол по двум сторонам, то в геймдеве вам придётся тяжко).
7. ???
В этом месте, когда вы уже сделали свой первый мобильный паззл или раннер, вы должны сами уже представлять, куда двигаться дальше: где у вас пробелы в знаниях или что вам более интересно. Может быть, вы захотите вернуться в лоно С++ и нырнуть поглубже по самое движкописательство; может быть, закопаетесь в графон или, преисполнившись праведного гнева к Юнити, уйдёте в Unreal. Это, в принципе, уже не столь важно. Главное, не становиться заложником одной технологии, а иметь хотя бы общее представление о том, что происходит за её пределами, и постоянно расширять кругозор.
Ну и Profit, как говорится.
Обсудить
BY Log of Alprog
Share with your friend now:
tgoop.com/logofalprog/65