В должностных инструкциях я часто вижу должности, называемые «Программист геймплея». Что делают люди в этом положении?
В должностных инструкциях я часто вижу должности, называемые «Программист геймплея». Что делают люди в этом положении?
Ответы:
Когда компании говорят о найме программиста-геймплея , то речь идет о программисте, который будет отвечать за код, который напрямую влияет на игровой процесс. То есть программист будет отвечать за фактическое создание игр, а не за движок или более крупные игровые системы. Но кроме этого, вещи сильно варьируются:
Некоторые компании ожидают, что программисты геймплея будут реализовывать пользовательский интерфейс. Некоторые нет. Некоторые компании ожидают, что они реализуют код AI, а некоторые нет. Некоторые ожидают, что они реализуют аудио код, некоторые нет. Честно говоря, «геймплей» в программировании геймплея - это промышленное сокращение для «всего, что мы не наняли специалиста». Таким образом, эти программисты должны быть очень разносторонними и иметь возможность быстро осваивать новые дисциплины.
Почти пятнадцать лет я работал программистом геймплея в коммерческой индустрии в пяти разных компаниях.
Мой опыт заключался в том, что в некоторых компаниях программист геймплея считается младшим или начинающим игроком; программисты, которые работают только над отдельной игрой, в конце концов, не должны быть такими же искушенными, как те, кто работает над системами, которые должны поддерживать множество различных игр одновременно, как это нужно программистам движка. В такой компании, если программист по геймплею преуспевает, он может быть когда-нибудь повышен до команды разработчиков, если сможет доказать свою ценность. Или он может стать специалистом, если он демонстрирует склонность к определенной области.
В других компаниях геймплейный программист считается сотрудником среднего звена; программисты, работающие над отдельной игрой, должны иметь некоторый полезный опыт и быть надежными. Неопытным программистам могут быть даны нежелательные задания, которые они могут себе позволить (конвейеры данных, инструменты и т. Д.), И в конечном итоге им будет позволено перейти на работу «программиста геймплея». В такой системе программист геймплея, который продолжает делать неплохо, может перейти на руководящую должность в проекте или же в команду разработчиков.
В других компаниях геймплейный программист считается руководителем, а также половинкой дизайна; ожидается, что эти программисты будут отличными, проверенными программистами, но также будут обладать сильными чувствами и квалификацией в дизайне, поскольку они непосредственно касаются кода, который наиболее сильно влияет на опыт игрока в игре. В такой системе действительно хороший программист геймплея, вероятно, навсегда останется программистом геймплея - это считается самой ценной позицией, которую он может занять.
Как общее практическое правило, чем лучше игры компании, тем выше позиция, которую они считают программистом геймплея (и, следовательно, тем труднее будет на самом деле получить такую работу).
Я всегда нахожу это полезным для иллюстрации на примере.
Программисту геймплея будут даны задания по типу: внедрить боевую систему ближнего боя, внедрить механику регенерации здоровья или внедрить средства управления прыжком игрока.
Программист движка (который вы бы назвали кем-то, кто не был программистом по геймплею) получал задачи по принципу: отложенное освещение, система анимации или сетевой уровень.
Ключевым отличием является то, кто является «клиентом». Для программистов геймплея это команда разработчиков - их задача - воплотить дизайн в реальность. Для программистов движка это вообще другие программисты . Программисты движка создают технологии и системы, которые программисты геймплея и создатели контента могут затем использовать для реализации дизайна.
Программисты движка пишут код, который в значительной степени не зависит от игры - одна и та же технология часто может использоваться в нескольких играх. Программисты геймплея обычно пишут код, который очень специфичен для создаваемой игры. И всегда есть совпадение - иногда для реализации игрового процесса вам нужен новый код движка.
Кодирование игрового процесса не сложнее и не проще, чем кодирование движка. Это, однако, определенно немного другой набор навыков; вам часто нужно быть более креативным и уметь находить решения. Ваша цель - не создать идеальную систему многократного использования (идеал для программистов движка), а создать лучшую реализацию игры. Так что то, что может быть преимуществом в программировании движка (внимание к деталям и хорошо спроектированные структуры), может стать помехой в программировании игрового процесса (где адаптивность и время итерации более важны). Хороший программист геймплея знает, когда делать это правильно (когда дизайн надежен и код будет использоваться во многих местах), а когда делать это быстро (когда дизайн еще разрабатывается, и у вашего кода есть хорошие шансы быть сброшенным после проверки).
Прежде всего, программисты геймплея должны иметь возможность сотрудничать с командой дизайнеров на уровне, который недоступен программистам движка. Помимо очевидных коммуникативных навыков, это означает, что вы должны быть знакомы с другими игровыми проектами гораздо больше, чем программисты-двигатели, поэтому, когда дизайнер говорит «заставьте его работать как Zelda», вы понимаете, о чем они говорят.
Чтобы стать программистом движка, вы должны изучить технологию и узнать, как она работает, и, возможно, реализовать свою собственную версию; игра была бы просто ареной для демонстрации технологий.
Чтобы научиться программисту геймплея, вы должны взять чужой движок и использовать его как можно больше разных способов. Другими словами, если вы хотите стать программистом геймплея, создавайте игры, а не технологии .
Как это звучит, программист, который реализует и поддерживает игровую механику.
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer