Как убедиться, что вы готовы к базовой разработке игр?

Для джуниоров и не-разработчиков часто не совсем понятно, что они должны знать, чтобы претендовать на вакансию разработчика игр. В разных играх используются разные инструменты, фреймворки, конвейеры рендеринга и языки программирования, но что является общими навыками?

Все, что вы увидите ниже, является лишь авторским мнением и не претендует на истину в последней инстанции.

В то время как программирование — это технический навык, разработка игр — это немного больше, чем просто 0 и 1. На самом деле вы можете выполнять гораздо больше творческой работы во время разработки, когда это логично.

Для быстрого вовлечения в систему производства игр необходимо:
1. Git+Perforce
2. Центр Unity
3. Формальная логика
4. Знание основных модулей и пакетов Unity3d

Гит и Перфорс

Ваша работа должна быть сохранена столько раз, сколько вы вводите новый символ в коде или меняете положение преобразования в сцене. Система контроля версий, разработанная для того, чтобы помочь вам сохранять результаты работы и делиться ими между командой и даже пользователями через CI/CD.
Понимание важности управления версиями придет после потерянных недель работы из-за случайного нажатия кнопки.

В текущем рабочем процессе мы используем Git для приложения и репозиторий контента Perforce внутри.

Ресурсы (Git)
— Продукт
— — Скрипты
— — Контент (Perforce)

Если мы вытащим только проект git, мы сможем запустить и собрать приложение, но без каких-либо уровней и ресурсов внутри «Content», что может вызвать ошибки. Никогда не храните скрипты и код моноповедения внутри Perforce, это ошибка архитектуры, разные части должны быть независимыми.

Официальная документация Git, жизненный цикл дерева git, в большинстве случаев мы можем (должны) использовать визуальные клиенты и следовать стилю git-flow.

P4V — Визуальный клиент Helix (P4V) | Перфорс. Для принудительного использования мы используем серверы Google Compute, потому что они имеют лучшее соотношение цены и качества. Официальная инструкция для клиента.

Центр единства

До того, как Unity выпустила свой Unity Hub, разработчики часто просили товарищей по команде узнать версию проекта, и установка была отдельной для каждой версии движка.
Теперь вы можете бесплатно управлять своими установками Unity3D, проектами и прикрепленной версией движка.

Формальная логика

Логика - это тип значения, который позволяет рассуждать, предоставляя правила для структурирования и оценки аргументов. Формальная логика — это раздел логики, который занимается математическим представлением утверждений на естественном языке с использованием формальных систем, таких как логика высказываний и логика предикатов, для представления логических отношений и выводов. Это фундаментальный инструмент в информатике, математике и философии, который используется для анализа и моделирования процессов рассуждений, а также для доказательства обоснованности аргументов.
Для проверки логических навыков я обычно использую эти вопросы с ответом рядом с вопросом. Если вы можете привести пример на основные вопросы, такие как дедукция, логика первого/второго порядка, вы идете правильным путем и имеете неограниченные возможности в программировании.

Знание основных модулей и пакетов Unity3d

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

Физика — это изучение того, как объекты двигаются и взаимодействуют в игровом мире. Графика — это визуальные элементы игры, такие как освещение, текстуры и эффекты частиц. Скриптинг — это процесс написания кода для управления поведением объектов в игре. Каждый блок важен по-своему, и задачи должны быть адаптированы к навыкам и опыту разработчика.

Вот несколько примеров простых технических задач, которые нужно выполнить менее чем за несколько дней:

  • Физика: создайте простую игру, основанную на физике, в которой игрок управляет мячом и должен катить его к цели, избегая препятствий.
  • Графика: создайте простую 3D-сцену с помощью встроенных в Unity инструментов ландшафта, включая деревья, горы и воду.
  • Сценарий: создайте простую систему инвентаря, которая позволит игроку подбирать и бросать предметы на сцене.

Чтобы понять полный цикл производства игры, попробуйте использовать готовую графику из Asset Store и собрать ее для ПК, Android (v7, v64) и других платформ, какие у вас есть.

Никогда не сдавайся и знай свою цель. Если вы решите стать программистом игр, не будьте невинны, думая, что вы будете выполнять только свой объем работ.
Особенно сейчас, когда мир меняется молниеносно, и вы должны думать на шаг вперед каждый раз, когда принимаете решения.

Продолжайте двигаться вперед, кто знает, может быть, ваше время уже не за горами!