К книге
Игра и жизнь. Как виртуальные развлечения меняют нашу реальностьГлава 5 Как и кем создаются видеоигры. Программисты
49%
Глава 5 Как и кем создаются видеоигры. Программисты
19

Несмотря на расширение пула специалистов, которые сейчас задействованы в разработке игровых проектов, без программистов обойтись все еще невозможно. Они реализуют работу механик, которые создают гейм-дизайнеры. Их главная задача – написание кода, который будет соединять все наработки и позволит проекту работать как единый механизм. Раньше компании сами разрабатывали собственные движки, но сейчас все больше разработчиков предпочитает уже готовые решения, которые успели зарекомендовать себя на рынке. В разработке игр сейчас как раз в основном используются те языки, с которыми работают распространенные движки – Unity и Unreal, в которых используются языки С++ и С Sharp. Для разработки мобильных игр понадобится знание таких языков, как JavaScript и Kotlin. Больше всего в геймдеве используются следующие языки:

• C, C++ (большие игры на Unreal Engine);

• С++, C# (для графической разработки на Unity – чтобы работать с алгоритмами для повышения качества и реалистичности графики);

• C#, Java (игры на Unity);

• PHP, JavaScript (браузерные);

• C++, C#, Objective-C, Java, Python (массовые многопользовательские мобильные игры);

• TypeScript, JavaScript, Ruby (Web);

• Swift (для iOS);

• Java/Kotlin (для Android);

• Python (для Panda 3D, Blender Game Engine, PYGame).

Чаще всего в разработке игровых проектов используется C++. Утилиты и сборки в Unreal Engine написаны на C#. В UE широко используется система визуального скриптинга Blueprints, аналогичная есть для Unity – Bolt. В системе визуального скриптинга сделана большая часть поверхностных систем Unreal Engine, поэтому, вместо того чтобы писать код, нужно, по сути, строить логику. Например, Construct на этом фактически построен. В мобильной разработке нужно знание нативных языков (Objective-С, Java и др.).

Навыки:

• знание языков программирования;

• базовое понимание физики игрового мира – нужно понимать, что происходит в игровом окружении: машины ездят, самолеты летают, люди не проходят сквозь дома и так далее;

• понимание игровой механики: монеты тратятся на внутриигровые предметы, предметы влияют на характеристики героя, оружие наносит урон и может быть улучшено, атака врагов влияет на HP персонажа – всё это бьется на длинные таблицы с цифрами, поэтому понимать, что они значат уже на экране игрока, крайне важно;

• понимание специфической области: искусственный интеллект, движки, UI, сетевой код, DevOps и так далее.

Предыдущая главаГлава 19 из 39Следующая глава