Поможете составить план обучения с нуля до Game Developer С++?
Обучение не совсем с нуля, я понимаю примерную структуру программы(за счет опыта в веб-разработке). Еще работал некоторое время с базовым моделированием в 3д(блендер), ну и художественный опыт. Слабо разбираюсь в компилировании в техническом плане(команды, программы), самое страшное не знаю как это называется(Visual Studio ноутбук не тянет)
Ну и осваиваю синтаксис, хотя меня коробит от фрагментирования семантики в контексте одного языка, но ООП понял довольно легко.
Что нужно для плана - из точки А в которой я сейчас нахожусь, не сильно тупой, но все же ноль в программировании(через cmd пока не смог запустить helloworld.cpp), мне нужно правильно выстроить маршрут(хорошо бы не NavMesh) и попасть в точку Б.
В точке Б мне нужно понимать на полусреднем уровне(могу сделать чтобы работало, но только простое) и свободно углубляться при необходимости в тему:
Gameplay Developers - самостоятельно могу написать и протестировать, а также оптимизировать среднеамбициозную механику под проект в Unreal Engine, без визуальной неоптимизированной содомии в блюпринтс. Ну и освоение навыков для создания хотя бы простенького ИИ.
Engine Developers - понимать устройство движка, работу его модулей, иметь навыки для разработки простеньких утилит и понимать SDK-интеграцию.
Animation Developers - иметь навыки для написания например системы среднеамбициозной симуляции одежды, которую смогу адаптировать под проект.
UI Developers - самостоятельно написать среднеамбициозный интерфейс под проект.
Graphics Programmers - понимать как работать с низкополигональными слоями и уметь работать с ними, иметь навыки для создания шейдеров и оптимизации графики.
Client Developers - понимать процесс обработки событий и работый с верхними интерфейсами. В случае необходимости уметь разрабатывать в контектсте данной специальности.
Back-end Developers - иметь навыки работы с сервером, парсерами, получением данных и уметь писать стабильный неткод для игр, хотя бы простенький.(Возможно для этого потребуется осваивать дополнительный язык, я только за, потому как специфика проектов с которыми предстоит работать в основном расчитана на массовые многопользовательские онлайн игры.)
Все это просто обязано сопровождаться обучением чистыму коду(частично могу подсмотреть у Майков).Необходимость чистого и понятного кода хорошо усвоил, когда изучил БЭМ.
Я бы сравнил это с Full-stack разработчиком геймдевского разлива. Мне нужно иметь понимание вопроса, без глубокого погружения в суб-детали, которое всегда можно совершить если углубиться в рамках одной специфики. Также желательно, чтобы это все я обучился реализовывать вручную чуть ли не из блокнота. От написания исходого кода до скомпилированной программы.
Нужны рекомендации, мб ссылки и свежая литература(не 5-10 летней давности, с тех пор даже синтаксис изменился в базовых вещах), не от инфоцыган с проповедями о том что у них не гавнокод, а код для новичков в котором черт ногу сломит, а вторую вывихнет.
Я конечно понимаю, что каллиграфия у каждого своя - но для меня в первую очередь важна понятность почерка, а эффектную витую сюрреалистичную абстракцию, которую понять может только автор, сделать любой в состоянии.
Будет идеально если у кого то уже есть опыт данной прогресси изучения С++ вне контекста Unreal Engine, который он может разделить по пунктам и окрыто предоставить. Насчет скорости освоения, могу свободно посвящать обучению 10 часов в день, предпочитаю осознанную практику перебиранию талмудов.
Изучать все буду сам на бесплатной основе, денег нет(навернулось железо для работы с 3д) и взять негде.
А почему C++? Если взять Unity 3D, то для неё подходит C#.
Если же действительно интересен C++, то достаточно одной книги Франк Луна "DirectX 12" (это было с десяток лет назад, но что-то новостей нет). Там ещё язык шейдеров.
Предварительно можно почитать что-то вроде C++ за 21 день.
Специфика проектов с которыми я намерен работать более всего распространена на технологиях под Unreal, но в большинстве своем все равно под каждый серьезный проект стараются писать свой движок.
Хочешь 2д метроидванию или пиксельную изометрическую бродилку - выбираешь Unity, там есть для этого уже готовая база решений, масса ассетов и разработка значительно проще за счет этого.
Хочешь ммо экшн от 3 лица - выбираешь unreal или пишешь свой движок. Зачастую на плюсах.
Так как функционал движка рассчитан под мощные и прожорливые проекты, отдельно хочу отметить технологии оптимизации, которые предоставляют епики.
Хочу отметить возможности для создания утилит процедурной генерации, в этом плане хоть для Unity и есть уже множество вариантов, но работают они эффективнее после портирования в среду Unreal.
Отдельным особняком выставлю конечную специфику проектов на которых я намерен специализироваться, это 4д пространства. В Unity опять же хоть и есть готовые решения для этой ниши, но их оптимизация это отдельный повод для слез. В такой ситуации использовать максимально быстрый код просто жизненно необходимо, если намерен создавать проекты сложнее чем падающие кубики или одноуровневые простенькие головоломки. И все это как раз дает C++ и Unreal Engine 5.