разработка графики в gamedev С++
Просматривал вакансии в ААА-студиях в gamedev - достаточно часто требуется программист игровой графики С++. Но опыт колоссальный нужен. Может кто обрисовать roadmap по этому направлению? Ну или хотя бы советы начинающему заниматься графикой. (какой фреймворки, библиотеки, другие языки, образование) т.к. в СНГ почти нет ААА-студий, есть альтернативы где можно начинать опыт набирать? Где еще востребована эта специальность?
Ответы (1 шт):
В СНГ всё же есть геймдев компании, может и не ААА класса, но всё же довольно неплохие, куда можно устроиться и набираться практического опыта, перенимать знания и навыки.
По скиллам дорожная карта примерно такая:
- Собственно знание C++, возможно современных стандартов, STL, возможно низкоуровневых моментов вроде ASM и библиотек для работы с различными ресурсами: Assimp, FreeImage, FreeType.
- Хорошее знание структур данных и алгоритмов. Например, см. Книги по теме Алгоритмы. Практиковаться можно на ЛитКоде и подобных сайтах.
- Хорошее знание графического конвейера, OpenGL последних стандартов, шейдеров и GLSL.
- Хорошее знание хотя бы одного игрового движка: Unity и, особенно для Плюсов, UnrealEngine, Godot. При желании можно начать и с 2D: Box2D, Cocos2D, SFML.
- Будет не лишним понимание сопряжённой геометрической математики (векторы, матрицы, однородные координаты, афинные преобразования), а также физики света и формулы, алгоритмы для её симуляции (хотя бы алгоритмы затенения Фонга, Гуро).
Можно ещё попробовать базово освоить 3Д моделирование и анимацию, чтобы лучше понимать коллег по цеху, иметь материал для практики, и разобраться с текстурами, материалами.
Для успешного построения карьеры геймдев-разработчика зарубежом скорее всего в любом случае придётся набираться основному опыту самостоятельно. Если навыков промышленной разработки пока нет, то для начала можно пойти и в классическую компанию, где развить основные навыки разработки до уровня нормального middle developer'a. Затем надо идти в геймдев индустрию; если повезёт, то можно и сразу, на джуна, но только если компания хорошая, способная научить best practices. А там, ближе к уровню senior, уже видно будет ;)