По большому счёту разработчик игр — это тот же программист. Только обычный программист оперирует понятиями из реального мира, такими как «пользователи», «закупки», «счета» и т.д., а разработчик игр использует понятия игровые: «персонаж», «игрок», «здоровье», «инвентарь». Это с самого начала многих привлекает.
Современные игры — это очень масштабные и сложные проекты, в которых разработчики могут иметь разные специализации в зависимости от типа и сложности игры. Например, в одной команде могут работать специалисты по игровой механике, 3D-программисты, разработчики AI, специалисты по UI, программисты различных игровых утилит, сетевого взаимодействия и т.д.
При этом в команде разработчиков всегда есть главный (или ведущий) разработчик, который видит картину целиком и сводит все части воедино. Это самый опытный программист в команде.
Разработка игр неотделима от любви к ним. То есть, чтобы пойти в эту профессию, нужно увлекаться играми так же, как и программированием. Игровая индустрия сейчас на подъёме, разработчики игр требуются везде, и хорошего специалиста со страстью к играм оторвут с руками.
Главный драйв в профессии разработчика игр в том, что можно увидеть результаты своей работы. Не просто увидеть, а погрузиться в игровой мир, который ты создал своими руками. Разработчики Mail.Ru Group в обеденный перерыв не только обедают, но и играют. А еще играют по вечерам и иногда по выходным.
В первую очередь, разработчик игр по определению должен быть хорошим программистом, знать все теоретические аспекты, которые будут нужны для разработки сложных алгоритмов, моделей и структур данных.
В играх всегда очень много математики. Игровая механика, искусственный интеллект и отображение окружающего мира — всё это основано на математических алгоритмах и физических моделях. Например, расчет того, как свет в игре должен отражаться от разных поверхностей. Поэтому математические дисциплины нужно знать на пять с плюсом. При этом нужно быть очень изобретательным, поскольку при разработке игр возникает много нестандартных задач, которые до тебя ещё никто не решал.
Процесс разработки игры всегда очень динамичный. В игру часто вносят изменения и исправления даже после её выхода, а гейм-дизайнеры могут уже вскоре после старта игры изменить первоначальную концепцию, из-за чего придется переписать почти весь код. Нужно просто делать всё для того, чтобы конечный продукт был хорошим. Тут разработчику нужно будет терпение и желание сделать хорошую игру не смотря ни на что.
Разработчику игр важно уметь взаимодействовать с коллегами и работать в команде. Ну и, конечно, без любви к играм по-настоящему хорошим разработчиком стать будет сложно.