Если вы хотите стать программистом игр, это отличное место для начала! Узнайте о роли и обязанностях программиста, ожидаемой зарплате и советах, как стать программистом в играх.
Вы получите информацию из первых рук от нашего наставника курса программирования игр Фираса Хосна, программиста искусственного интеллекта, который работал в Ubisoft над несколькими крупными франшизами, включая Assassin’s Creed, Watch Dogs и Far Cry. Фирас также помогал в разработке диплома по программированию игр в CG Spectrum, академическом партнере Unreal.
Что такое игровое программирование?
Игровое программирование — это код, который оживляет видео- или компьютерную игру.
По мере развития технологий развивалось и программирование. В начале истории видеоигр программисты часто отвечали за большинство аспектов разработки, включая дизайн. Но по мере совершенствования аппаратного и программного обеспечения и усложнения игр команды разработчиков значительно увеличивались.
Spacewar! 1962, первая широко распространенная видеоигра, фото Joi Ito1962: Spacewar! была первой широко распространенной игрой, работавшей на PDP-1 в Музее компьютерной истории. (Фотография предоставлена Джои Ито)
Ожидания игроков также выросли, и теперь больше времени тратится на такие вещи, как высококлассная графика и искусственный интеллект для улучшения пользовательского опыта.
Были созданы новые рабочие места, которые зачастую являются более специализированными, особенно в крупных игровых студиях, таких как Ubisoft, Blizzard Entertainment и Electronic Arts.
Чем занимается игровой программист?
По сути, игровой программист пишет код, который оживляет видеоигру. Они работают в тесном сотрудничестве с продюсерами и другими отделами (например, игрового дизайна, искусства и анимации, звука и т.д.), чтобы воплотить видение проекта в полностью функционирующую, играбельную игру.
Они могут отвечать за все: от диктовки скорости бега персонажа и высоты его прыжка до того, сколько врагов появляется и когда, и как они реагируют при нападении.
Firas-Mentor-Blog-Assassins-Creed-500×340Во время работы в Ubisoft наставник Фирас Хосн внедрял искусственный интеллект для AAA-видеоигр, таких как Assassin’s Creed.
Фирас, который работает в индустрии уже десять лет, говорит:
Большое заблуждение относительно программистов игр заключается в том, что они не имеют большого влияния на дизайн или направление игры. Но это не так.
«Будучи тем, кто реализует основные функции, вы знаете пределы используемого движка и технологий, и вам нужно уметь общаться и сотрудничать с другими дисциплинами. Вы не находитесь в своем собственном мире, просто программируя по 8 часов в день».
Важно отметить, что существует множество различных типов программистов (о которых мы расскажем далее), поэтому в зависимости от размера студии и сложности проекта программист может быть узкоспециализированным в одной области (например, аудиопрограммист, который фокусируется на связи определенных звуков с действиями или событиями, или программист ИИ, который диктует, как неигровой персонаж будет реагировать на ваше следующее действие).В небольшой студии эта роль может потребовать от человека делать все понемногу.
Помимо сильных математических и компьютерных навыков, Фирас говорит:
Навыки решения проблем — обязательное условие! Коммуникативные навыки также очень важны, поскольку необходимо сотрудничать с дизайнерами и художниками, чтобы получить максимальную отдачу от технологий и внедрить решения, отвечающие будущим потребностям игры.
Типичные должностные обязанности могут включать:
- Перевод видения проекта в код для создания играбельной игры
- Создание специализированного базового движка для игры
- Создание сценариев функций, событий, взаимодействий
- Создание физики (например, гравитационных различий в игре, действие которой происходит в космосе)
- Разработка и модификация графических 3D-рендеров
- Моделирование искусственного интеллекта в противниках
- Добавление звуковых эффектов, музыки и закадрового голоса
- Реализация игровой логики и механики
- Создание пользовательского интерфейса
- Написание кода для клавиатуры, мыши или джойстика
- Создание возможности для игроков соревноваться или сотрудничать через локальную сеть или Интернет
- Разработка пользовательских инструментов
- Перенос кода с одной платформы на другую
- Реализация алгоритмов, решение вопросов, связанных с требованиями к памяти и кэшированием.
- выявление и исправление ошибок
Требования к работе могут варьироваться, но на базовом уровне могут включать в себя:
- Уверенное знание языка/языков программирования (C++, Java и т.д.)
- Опыт работы с движками (Unreal Engine, Unity и т.д.)
- Отличные коммуникативные навыки
- Сильные математические навыки, навыки решения проблем и аналитические навыки
Программисты помогают создать бесшовный пользовательский опыт, отображая важную информацию на экране в нужном месте и в нужное время.
Изображение: Battlefield V. Кредит: EA, Westie
Вакансии
Сегодня эта индустрия сильна и продолжает расти: по оценкам, во всем мире насчитывается 2,5 миллиарда геймеров. По оценкам компании Newzoo, занимающейся исследованием рынка, ожидается, что к 2022 году доход мирового рынка составит 196 миллиардов долларов. Так что если вы хотите попасть в эту индустрию, сейчас самое подходящее время для этого!
Программисты играют важнейшую роль в создании видеоигр (подробнее о конвейере разработки игр), поэтому перспективы трудоустройства высоки. Однако это конкурентная отрасль, поэтому важно не отставать от тенденций и знать новейшие инструменты и методы.
Фирас, который отвечает за проведение собеседований с кандидатами на работу в своей нынешней студии, добавляет:
Быть программистом — сложная работа, особенно в разработке игр, где видение и ожидания высоки, а временной промежуток зачастую узок.
Если вы только что окончили курсы программирования, то, скорее всего, вы будете искать работу младшего программиста, чтобы встать на ноги.
К другим типам вакансий программиста игр относятся:
- программист пользовательского интерфейса (UI)
- программист искусственного интеллекта
- программист графики
- программист аудио
- Программист движка
- Инженер по инструментам
- Сетевой инженер
- Технический директор
Несмотря на то, что большинство вакансий программиста находятся на территории студии (и вам, возможно, придется подумать о переезде, если в вашем городе ограниченные возможности), вы можете найти удаленную или внештатную работу.
Составьте список студий в вашем районе или студий, в которых вы хотели бы работать, и следите за их страницей вакансий. Просмотрите объявления о вакансиях, чтобы понять, какими навыками вы уже обладаете и чему вам нужно научиться.
Подготовлено при поддержке МАУП: https://maup.com.ua/ua/navchannya-u-maup/napryami-navchannya1/122-komp-nauki-inform.html