Mikhail Kolobov | Gamedev Forge
690 subscribers
106 photos
8 videos
121 links
Unity - менторство и разработка игр.
https://teletype.in/@redhurt/mentoring
Boosty - https://boosty.to/gamedevforge
Мой тг: https://t.me/mikhail_kolobov
Download Telegram
Вышла статься (и уже вошла обратно, автор удалил) где показан процесс найма Юнитистов со стороны нанимающего менеджера (фух, а не рекрутера как обычно).

Конечно, это все еще лишь одно мнение одного человека (хотя провел он порядочно собесов). На рынке все еще довольно много студий, которые спрашивают на ТЕХНИЧЕСКОМ собеседовании "какое твое любимое блюдо в макдональдсе" и дают оффер на 300к (привет, Geeky House). Но предупрежден, значит вооружен)

Часть советов абстрактная и бесполезная: "делайте четкое и профессионально оформленное CV", но есть и вещи, которые стоит иметь ввиду при поиске работы:

1️⃣ Основные ошибки кандидатов. Это прям базовая база - не пишите опыт, который не вывезете и задавайте вопросы о компании, вспомните мой пост об этом

2️⃣ В продолжение базы. "Рассказ кандидата о предыдущем опыте работы. 10–15 минут, сделайте шпаргалку". Какой бы опыт у вас ни был, умейте рассказывать о нем в течение этого времени. А то часто встречается в ответ знаменитое: "делал фичи, правил баги". А даже если вы подготовили красивейшую самопрезентацию на 1-2 минуты, вас все равно как правило поспрашивают про "самые сложные задачи, самые любимые/нелюбимые" и за прочую фигню.

3️⃣ Если делаете тестовые (зря, на рынке куча компаний, которые возьмут тебя и без него), то и этот пункт можете посмотреть. Там полно ошибок, которые тем не менее постоянно делают

4️⃣ НИКОГДА НЕ ОТВЕЧАЙТЕ НА ВОПРОС "Я НЕ ЗНАЮ". Лично я НЕ ЗНАЮ, сколько раз за последние месяцы это говорил, просматривая собесы))

Кстати автор прикрепил свой тестовый проект к статье, так что ставьте 🔥 чтобы мы посмотрели на него на очередной трансляции
🔥111
Галя, у нас отмена

Мужичок потер публикацию, так как «ой, написали плохие комментарии». Ни разу на Хабре такого не было и вот опять)

Я бы кинул линк на его канал, где по сути в постах написано тоже самое, но после этого пусси хода даже стыдно такое рекламить)

Интересно, уберет ли он свой тестовый проект с гитхаба, если на него сделать обзор😅 Проверим?
🔥7😁21
В чате подсказали лайфхак как посмотреть закрытую статью)
Жми не ссылку, а кнопку «посмотреть» внизу поста👇
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🗒 Как пройти собеседование на Unity-разработчика: мнение лида

Привет, читатель! Вот уже три года я провожу собеседования на позиции Unity-разработчиков. За это время я просмотрел более 500 кандидатов на позиции мидла и сеньора, провёл свыше 100 интервью и нанял более 20 Unity-разработчиков. Этот опыт помог мне выявить множество "зелёных" и "красных" флагов, которые помогают определить подходящих кандидатов.

Эта статья будет полезна всем Unity-разработчикам — от Junior до Senior, а также лидам, которые проводят собеседования.
👍7👏31
Сегодня у меня для вас только чужие туториалы

В последние годы устал твердить, что "в коде предметной логики не должно быть проверок на нулл"
Представьте, вот вы - ваш персонаж. Вы бегаете, стреляете из лука, даже не знаете о существовании Unity (везет ведь кому-то...), и в какой-то момент проверяете что торговец в городе... не равен пустой ссылке на объект в оперативной памяти...

Для этого нам и нужны монады: штука из функционального программирования, обертка над каким-либо значением, которая уже содержит некоторый набор операций. Такой как проверка на нулл, например.

Помимо Nullable, в туторе еще рассказывают про Optional и Either. Первая похожа на nullable но дает возможность определить другой набор операций при отсутствии значения. Вторая дает возможность обрабатывать различные значения в зависимости от условий. Например, основное и дополнительное (или ближнее/дальнее) оружие у игрока.

Во многих случаях я бы предпочел наоборот инкапсулировать эту логику в объект предметной области, а не декорировать его. Хочется все таки максимально вглубь классов убрать эти некрасивые вызовы, чтобы вместо:
Either<Weapon, Weapon> weapon;
weapon.Match(
left => //do something with primary weapon,
right => //do something with secondary weapon);

Была красивая и короткая запись:
WeaponPair weapons;
weapons.DoSomething();


Фух, так давно веду канал, пора бы и за код начать душнить)
Ставьте 🔥если понравился такой формат

#туториал@GamedevForge
🔥213
Думал-думал какой бы контент для вас сделать. И решил сделать... полезный.

Конечно, видосы по UI и игровому ИИ может кому-то и пригодятся. Но как правило, эти части могут меняться до неузнаваемости в зависимости от контекста.

Поэтому забрал у менти последнее тестовое, которое ему выдали (вместо нормального собеседования, конечно же) и вместе с вами онлайн будем его решать. Может будет интересно увидеть, как их делают, а кто-то может получил такое же и благодаря этому сможет попасть на собес😏

Решать будем в среду 11.12 в 19:00 по мск!

Если зайдет, то можем сделать это постоянной рубрикой. Пусть у РАБотодателей закончится фантазия и они начнут собесить соискателей! Вместо траты их времени впустую на примитивные задачки)
👍16🔥83
Мультивселенная безумия рекрутеров

Забавно, когда одна компания говорит: "да, конечно, это в нашей вилке, давайте пособеседуемся", а другая вместо нормального ответа "мы ищем разработчика подешевле" доказывает что ты, мальчик, многовато хочешь

Причем, это даже не какой-то большой множитель к текущей зарплате, это буквально сумма из пятничного оффера😂

Или занижение ожиданий кандидата реально работает и кто-то отвечает: "ой да, чет я зря быканул, давайте за хер с солью поработаю"?
Или рекрутеры и правда живут в мультивселенной и у каждого свои "реалии"?

Напишите в чате что думаете)
😁16
Как вам трейлер нового ведьмака?)
Мне не понравилось, что это какая-то калька на трейлер к самой первой игре и на killing monsters
Но с другой стороны понравилось, что судя по трейлеру, это будет вот тот самый ведьмак которого мы любим

P.S. хотя имхо первая часть все еще лучшая
🔥8🤝5
Ну штош
Новый год «отмечаю» на эльбрусе. В кавычках, потому что не люблю отмечать ни нг, ни день рождения (две недели назад был). Предпочитаю более интересные поводы чем «просуществовал как угодно еще 365 дней»
Поэтому кратко обо всем.

Итоги:
- План по бабкам перевыполнен, офферы дотянули до 6000$ на руки. Приходи, научу как это делать😉
- План по менторству не выполнен, но тем больше времени было нормально сформировать программу, которая уже показывает результаты (после нг как раз в связи с этим будут изменения). Так что будем считать - я играл в стратегию, а не в тактику😂
- неплохо попутешествовал (когда-нибудь и об этом расскажу), в следующем году хочется еще больше

Планы:
-
по деньгам хочется не увеличивать сумму, а поменять основной источник дохода
- по менторству в целом туда же, больше медийки, больше народа, больше офферов и денег
- по своим проектам пока что все вилами по воде. Все пилим трейлер к альтушке, долго придумывали как бы сделать ее не похожей на уже вышедшую игру. Начали делать казуалку, и со следующего года впишусь в еще один инди-шедевр
- наверно будет даже ребрендинг канала😃 а то текущий вариант от chat gpt уже отжил свое и совсем не отражает меня

С Новым годом всех кто это празднует!!!
🔥26👍7🍾1
Форк как обычно подъебывает по праздникам
😁15
Вот настоящие инфоцыганские прогревы, а не эти ваши «последний день скидок» или «места ограничены»

UPD: Я прогрелся
😁18
This media is not supported in your browser
VIEW IN TELEGRAM
Думаю провести очередной стрим с тестовым заданием на следующей неделе
А пока у меня для вас только мемы
😁10👍5🔥3
В четверг 16.01. в 19:00 по мск порешаем очередное тестовое

Компания: Reaction Games
Текст тестового

Тут будет не совсем с нуля, одно решение я уже видел и им оно не понравилось (как мне кажется, по очень субъективным причинам). Но об этом расскажу на стриме

#тестовые

GamedevForge
🔥10👍8👏3
Mikhail Kolobov | Gamedev Forge
В четверг 16.01. в 19:00 по мск порешаем очередное тестовое Компания: Reaction Games Текст тестового Тут будет не совсем с нуля, одно решение я уже видел и им оно не понравилось (как мне кажется, по очень субъективным причинам). Но об этом расскажу на стриме…
Стрим перенесем на 22.01

Небольшие технические неполадки. Те, кто смотрел последние стримы, уже и там видел что порой запись шакалит
Если кратко, то новый комп чет совсем распидорасило, даже созвониться ни с кем нормально не могу. Сделаю ход конем и в любой непонятной ситуации переустановлю винду. Посмотрю как одиннадцатая выглядит как раз😂
👌8🫡6😭4👍2
Раз ютуб блочат, то может сюда перекатимся?)
💯16🔥11😁6
Мистическая ошибка #1

Почему мистическая? Потому что не понимаю, откуда она берется) Не видел такого ни у Гоши Дударя, ни в других "качественных" туториалах. Да и не видел ни на одном рабочем проекте.

Что за ошибка? Очень часто вижу в MonoBehaviour классах подписки/отписки в методах OnEnable/OnDisable. Причем происходит это в тех объектах, в которых нет логики многократного включения/выключения. Допустим, какой-нибудь сервис или, например, игрок, который существует от запуска сцены до ее уничтожения.

Почему мне это не нравится? Да потому что подает неверное представление о классе. Если у нас, например, есть компонент, у которого подписки в OnEnable/OnDisable, сразу начинаешь думать, что мы должны его показывать и прятать. И это может быть верно, например, для хп бара игрока - нет смысла показывать его на экране, если игрок не получает урон или вообще во время катсцены. И мы все к этому привыкли. Пусть это и неявный контракт, но он точно такой же неявный как вьюшка в любом MVx паттерне, у которой мы не ждем сложной логики (если вы не в Game Insight работали, конечно, там и не такое дерьмо в коде было)

Кстати, у меня есть заметка, которую я кидаю всем (когда не забываю) при написании проекта в рамках менторства. Чтобы не приходилось делать лишнюю итерацию правок.
Если наберем 30 🔥, то закину ее в комментарии

UPD: закинул, жесть вы быстрые)

#мистические_ошибки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥59👍4