🎮 Что должен уметь разработчик игр?
💬 Ответ: то, что требует от него компания
На этом можно было бы закончить пост, но хочется копнуть глубже. Ведь понятие "разработчик игр" не ограничивается одной компанией, и у каждого своё представление о том, что это значит
Например, как бы вы ответили на вопрос:
Должен ли Unity-разработчик уметь писать шейдеры?
Свои ответы оставляйте в комментариях, а мы продолжаем 👇
Я работаю лидом в аутсорсинговой и аутстафинговой компании, специализирующейся на разработке игр в Unity. Наши проекты — от прототипов до сложных мультиплеерных игр на этапе liveops. В команде более 10 Unity-разработчиков, и их навыки сильно различаются: кто-то хорош в архитектуре, а кто-то — в создании прототипов.
Здесь возникает проблема: если клиент приходит с уникальным проектом, предсказать его требования заранее практически невозможно. Найм кандидата занимает, в среднем, месяц, а клиенты хотят начинать работу уже на следующей неделе. Да и нанимать кандидата под конкретный проект, который закончится через 3-6 месяцев не выгодно ни кандидату ни нам.
А теперь важный вопрос:
Какими компетенциями должен обладать Unity-разработчик?
Вот расширенный список навыков, которые пригодятся в работе
(50%) означает, что 50% проектов в нашей компании, а также в проектах, которых я принимал участие требовали наличие этого навыка.
Проценты несут ознакомительный характер и отражают мой опыт. Опыт вашей компании будет отличатся. Вы можете менять или объединять пункты исходя из специфики вашей
* - помечены темы, которые мы спрашиваем на собеседовании
🎯 Знание движка Unity* (100%)
Базовые знания Unity: MonoBehaviour, Корутины, отличие Update от FixedUpdate, NavMesh, Animator, Поиск пути, Опыт написание кастомного редактора,
🎯 Unity 3d* (70%)
Что такое Mesh и из чего состоит 3d модель, Оптимизация 3d игр, скелетная анимация
🎯 Unity 2d* (30%)
Понимание Sprite и Sprite Atlas, Скелетная анимация в 2d, В чем основное отличие Unity 2d проектов от Unity 3d
🎯 Physics* (20%)
Теоретическое знание кинематики
🎯 Unity UI* (80%)
Canvas, Layout group, как верстать адаптивный интерфейс, Safe Area
Оптимизация и производительность
🎯 Шейдеры и графика* (5%)
Какие есть пространства в Unity, Shaderlab, Shader graph, Renderer Pipelines, Post Processing, Draw calls
🎯 Оптимизация и профайлинг* (70%)
Big O notation, Profiler, Deep profiling, Frame debugger, Memory profiling, Profiling on device
🎯 Архитектура* (100%)
Паттерны, SOLID, Реактивное программирование, MV* шаблоны, организация данных
🎯 C#* (100%)
Тут много всего. Некоторые темы: ООП, абстрактный класс и интерфейс, атрибуты, Reflection, GC
🎯 Assets* (90%)
Zenject, VContainer, UniRx, Odin, UniTask, Addressables
🎯 Разработка под PC (5%)
Управление джойстиком, Особенности реализации под конкретную платформу (Steam, Epic games)
🎯 Разработка под мобильные платформы* (85%)
Реклама, Аналитика, Конфиги, БД, Пуш уведомления
🎯 Разработка под Web (10%)
Ограничение под WebGL, особенности реализации под конкретную платформу (Yandex игры, Telegram и т. п.)
🎯 AR/VR (0%)
Особенности управление в VR. Asset VRTK, платформа Oculus
🎯 Сетевая разработка* (50%)
Rest API, Сокеты, Мультиплеерные игры, Photon, SaaS
🎯 ECS (0%)
Понимание ECS архитектуры, LeoECS, Morpeh, Entitas, DOTS, другие реализации
Разработка под PC, AR/VR, Web имеют маленький процент, так как большинство наших заказов это мобильные игры
Архитектура имеет 100%, так как она нужна везде, но для прототипов не критична. Кандидат с хорошим знанием архитектуры просто сделает прототип качественнее
ECS имеет 0% так как у нас нет проектов с таким архитектурным подходом
💡 Буду очень признателен, если вы заполните форму (1 мин) о навыках на вашем проекте
Post #19
491