Unity Tech Дед: Борис Романчиков
338 subscribers
32 photos
7 videos
25 links
Unity tech lead | Gamedev
Делюсь секретами, советами и полезной информации про Gamedev и Unity
Download Telegram
🎉 Анонс моего проекта — Bioneers

Почти год назад родилась идея, и вот наконец-то настал момент, когда я могу поделиться ей с вами.
Bioneers — это Factorio про живой организм.

За время разработки мы столкнулись с кучей сложностей и нашли немало интересных технических решений — о них я обязательно расскажу в следующих постах. А пока поделюсь главными особенностями игры, которые, как мне кажется, делают её по-настоящему уникальной:

🔬 Уникальный визуальный стиль, вдохновлённый микробиологией
Почти 70% времени ушло на поиск и создание визуального стиля. Я хотел добиться эффекта, чтобы игроки просто залипали на анимации и на процесс работы организма. Всё живёт, дышит и реагирует — как настоящее.

🧩 Гексагональная игровая сетка
Это первая игра про автоматизацию, где вместо квадратной сетки используется гекса-сетка. Сначала я сомневался в этом решении, но теперь считаю его одной из самых крутых фишек проекта.

🧘 Медитативный, но нескучный геймплей
В отличие от Factorio и Satisfactory, где на поздних этапах часто становится скучно, я сделал акцент на перестройке систем, а не просто на масштабировании. Пример: сначала у вас есть всего одна клетка, переваривающая аминокислоты, а позже — полноценная пищеварительная система.

🌍 Исследование и охота в микромире
Вместо добычи руды и обработки залежей — поедание других организмов. Хотите съесть кучу мелких? Или рискнуть и атаковать большого ради щедрой награды? Это не просто добыча — это стратегия.

Буду рад вашей обратной связи!
Если проект вас заинтересовал — добавьте игру в Wishlist по ссылке ниже. Это очень поддержит нас на старте!
🔗 https://store.steampowered.com/app/3833810/Bioneers/
❤12🔥9👍3🤔1
Media is too big
VIEW IN TELEGRAM
🎥 Закончили трейлер игры!

В посте короткая версия ролика, а полную можно посмотреть на YouTube:
👉 https://www.youtube.com/watch?v=aNXYZrx5AxI

Мы постарались сделать трейлер, который не просто показывает геймплей, а передаёт медитативную и живую атмосферу игры. Мне нравится, как получилось: видно, как работает целый организм и его части

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

Вся основа трейлера сделана в Unity, а уже на пост-продакшене добавили звук и несколько визуальных эффектов

Добавить в вишлист: https://store.steampowered.com/app/3833810/Bioneers
❤7👍4🔥4
🎉 Bioneers набрал 2000 вишлистов с момента анонса!

А это значит, что игре быть!
Мы уже планируем активную разработку и расширяем команду.

Кого ищем:
1. Гейм-дизайнер от 3 лет опыта, с большой экспертизой в жанре автоматизации и играх типа Factorio.
2. Эксперта в биологии с глубокими знаниями и опытом, а также пониманием жанра автоматизации.
Подробности в личку: @romanchikov

💰 Реферальная программа:
Если вы знаете подходящего кандидата и он пройдет испытательный срок мы выплатим 300 USDT бонуса.

📊 Как мы собрали 2000 вишлистов:
1. Выпустили трейлер 3000 просмотров и ~150 вишлистов.
2. Один из наших подписчиков опубликовал пост на Reddit, который собрал ~400 вишлистов и попал в Best.
3. Несколько медиа из США подхватили новость и выложили её в Facebook, X, YouTube ~1000 вишлистов
4. Сделали пост в Discord сообщества похожей игры (не поддерживается разработчиком) ~100 вишлистов.
5. Остальные пришли из других источников.

У нас планируется еще несколько маркетинговых активностей и мы надеемся получить еще несколько сотен, а может, даже, тысяч виш листов
🔥13❤5❤‍🔥4🎉1🤡1
⚡️ Быстро или качественно?

Посты на канале выходят всё реже: сказывается нагрузка на Bioneers.
Последние полтора месяца были безумными по количеству эмоций и работы. Проект показывает себя хорошо, но сегодня хочу поговорить о другом.

Недавно мы с одним из разработчиков обсуждали важный вопрос:
Как правильно оценить задачу, чтобы уложиться в собственную же оценку?

Часто мы начинаем делать задачу и понимаем, что не учли множество деталей. В итоге работа занимает больше времени, чем планировали.

Вот подход, который помогает:
🔹 Декомпозировать задачи на подзадачи максимум по 4 часа.
🔹 Если задача рискованная или связана с изучением нового (например, интеграция SDK или обновление Unity), фиксируем время. Если время вышло, то обсуждаем или останавливаем выполнение.

Так мы заранее видим риски и снижаем вероятность выхода за сроки.

🚀 Тот же принцип применим и к проектам:
🔹Если это тест идеи: делаем быстро и дешево, чтобы проверить
🔹Если идея доказала жизнеспособность, то делаем качественно. Часто правильнее даже переписать проект с нуля, чем тянуть старый код.

На свои первые проекты я тратил много времени и денег на разработку. Но последние два проекта я отдал на подряд и это сэкономило и время, и деньги. Один из проектов Parkour Runner, о котором я писал ранее, а про второй можно почитать в канале у @zenith_code_games.

📌 Вывод:
Если задача или проект рискованные и непонятные, то делаем быстро, минимизируем риски.
Если задача или проект понятные, то делаем качественно
🔥6
3 качества сильного программиста

Где-то пол года назад я уже запланировал сделать пост, так как планировал выступить на соревнования по пауэрлифтингу и взять кандидата в масте спорта. Спойлер: Я взял КМС!

Итак какие же это качества:
1. Становая за 200
2. Жим за 100
3. Присед за 200

Ну а если вы далеки от силовых видов спорта, тогда есть запасной вариант 😀

Я бы хотел в этом посте подсветить именно софт скиллы разработчика, основываясь на своем опыте

1. Умение разобраться в новом подходе или технологии быстро

Я сейчас активно внедряю TDD поход в своих проектах. В играх такой подход очень редко используется, а автотесты остаются где-то на уровне пет проектов. Однако один из моих разработчиков не стал пытаться отговорить меня от этого подхода, а воспринял этот подход как вызов. Он самостоятельно изучил какие фреимворки можно добавить, что бы улучшить тестирование (NSubstitute, Fluent Assertions), самостоятельно добавил их и использует AI для более эффективного и быстрого написания тестов. Через несколько спринтов этот разработчик научился этому подходу и делает тесты лучше меня, и я полностью ему доверяю и знаю, что он сделает все хорошо.

2. Четко излагать идеи, задавать вопросы или отчитываться о результате

На одном из проектов у нас была довольно размытая задача. Нужно перенести проект из репозитория одной студии в репозиторий другой студии и настроить сборки. Это задачу невозможно оценить и она содержит много сложностей, которые узнаются в моменте и многие разработчики могли бы просто «ковыряться» неделями. Но один мой коллега сразу начал формулировать цели, разбивать их на задачи, подсвечивать риски и раз в день формировать отчет от проделанной работе и о планах на следующий день. Благодаря этому его работа была максимально прозрачна для всех и достаточно было 1 раз в день посмотреть на его отчет, что бы понять статус проекта

3. Структурировать и систематизировать хаотичную информацию

В одном из проектов я столкнулся с проблемой требования от клиента приходили фрагментарно, часть от одного человека, часть от другого. Что-то в устном виде, а что-то в переписке. Разработчики начинали путаться, терялись детали. Один из ребят взял на себя инициативу: начал собирать всё в единый документ, структурировал блоки требований, следил за главной целью. В итоге у нас появилась живая база знаний в одном месте, в которую можно было быстро заглянуть и понять, а что мы собственно делаем. Так мы смогли правильно спланировать и разбить задачи и построить процессы для заказчиков по формированию требований
🔥8❤6
🎯 Мой личный опыт использования AI-агентов

Я начал знакомство с AI-помощниками через Cursor IDE. Сейчас это, пожалуй, самая популярная IDE для vibe coding (написание кода с использованием AI).
Попробовал подключить его к Unity-проекту и даже использовать для менеджерских задач.
Но в итоге отказался от Cursor в пользу встроенных ассистентов в Rider и Visual Studio
да, не кидайтесь камнями. VS я использую для backend 😅


🧩 Кейс 1. Изменение существующей игровой механики

Я подключил cursor в существующий Unity проект - прототип мобильной игры и пробовал править механику сбора ресурсов через разные промты. Я пробовал настраивать MCP, запросы, контексты, правила, но результат получался такой, что мне было бы проще и быстрее сделать это самостоятельно

🧪 Кейс 2. Генерация автотестов по документации

Хотел построить процесс:
1. Проанализировать документацию в ClickUp (аналог Jira + Confluence);
2. На основе этого сгенерировать тест-кейсы и автотесты.

Как не пробовал я построить процесс генерации, но даже на этапе создания тест кейсов AI генерация показывала себя не очень хорошо

Честно говоря желания и времени разбираться с курсором больше не было и я решил забить на него, но попрбовать использовать очень похожую логику генерации AI агентов в Rider и Visual Studio


⚙️ Кейс 3. Генерация систем для Unity DOTS

Мой проект Bioneers использует DOTS как core-фреймворк.
Основное преимущество ECS в простой и понятной архитектуре. А значит, если в игре есть 20 систем, но написать 21 систему по похожей структуре можно без проблем, что я и решил попробовать сделать.

Для этого я использовал плагин Copilot для Rider и попробовал через него сгенерировать систему и это сработало!
AI агент сгенерировал систему, которая на 80% совпадала с тем, что мне нужно. Я вручную поправил остальные 20% и все, система готова. Я думаю я сделал такую систему в 2-3 раза быстрее чем, если бы писал сам в нуля с ChatGPT

Дополнительно отмечу, что мои навыки DOTS уже устарели (Дед уже, как ни как) и с помощью AI агента и сгенерированного кода я очень быстро разбираюсь в новой системе DOTS.


🌐 Кейс 4. Генерация запросов на сервере и клиенте

Есть клиентский проект на Unity и серверный проект на Playfab. Я занимаюсь тем, что пишу запросы и дружу фронт и бек, что бы бекенд разработчик имел endpoint для своих систем, а фронтенд разработчик имел реальный запрос и мок данными в ответе

Я пробовал генераровать endpoint в Visual Studio + Copilot и сначала пришлось делать много правок, но где-то после 10 запросов качество сильно вырасло. AI agent генерировал код, который на 95% соответствовал тому, что я ожидал


💡 Вывод

AI-агенты отлично работают там, где есть чёткая структура и нужно масштабировать однотипные задачи.
В таких случаях они реально экономят время.
Но если задача требует творческого подхода или глубокого контекста проекта, мне кажется проще сделать самому.

Поделитесь своим опытом применения AI агентов в работе. Тема очень интересная! 💬
👍12
🎯 Личные хаки для продуктивной работы

Я работаю по 6 дней в неделю минимум по 12 часов каждый день. Работа, Bioneers, бытовые вопросы типо виз и другие дела, которые вынуждают меня работать так много времени.

И вот несколько моих неочевидных хаков, которые помогают мне держать высокий темп и работать продуктивно.

⸻

Хак 1. Малайзия

Да, это звучит неожиданно, но страна сама стала моим продуктивным бустером.
Я живу в Малайзии, и это лучшая страна для жизни по соотношению цена–качество. Вот вам пример: я сдаю свою квартиру 46 метров в Москве, и это покрывает почти 80% моей квартиры в Малайзии. Только в Москве у меня 46 метров, а в Малайзии — 146!

Такой размер квартиры дает возможность мне иметь отдельный кабинет, санузел, даже свою вторую кухню для кальяна. И многие из вас могут подумать, что я зажрался и трачу кучу денег, но фактически квартира мне обходится в 100 000 р по текущему курсу.

Из дополнительных плюсов Малайзии: очень быстрый интернет, начало работы в 14:00 по локальному времени, высокий уровень бытового комфорта за копейки. А за 2000р в день наша помощница по дому делает уборку и готовит еду на 2 дня вперед.

Если вам интересно больше узнать о Малайзии, то моя жена начала вести блог про Малайзию и путешествия

⸻

Хак 2. Подъёмный стол

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

Сидя на пятой точке на протяжении 3 часов, волей-не-волей начинаешь ёрзать и суетиться, хочется сменить позу. И многие ребята работают с ноутом лёжа. Но работать лёжа — это вредно, да и при наличии 3 мониторов менее продуктивно, поэтому я предпочитаю работать стоя.

⸻

Хак 3. Дорожка для ходьбы

Да, я хожу во время работы! Плюсы очевидны: занимаешься спортом, нахаживаешь норму шагов, ускоряешь метаболизм и начинаешь думать лучше из-за циркуляции крови.

Но есть и минусы. Нужно потратить время на подключение, надеть кроссовки, поднять стол. Часто это хороший повод забить на это и продолжать сидеть.

К сожалению, ходить не получится на созвонах, при работе с мелким текстом и вёрсткой (во время ходьбы плохо видно мелкие детали), но подходит для написания кода, а особенно — когда нужно продумать что-то сложное.

В общем, я прям рекомендую для тех, кто много работает.

⸻

Хак 4. Активно используйте Google Calendar

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

Также Google Calendar позволяет разделить обязательные дела от других. Среди обязательных можно выделить: созвоны, запуск сборок, важные задачи. Для всех таких событий я завожу событие в календаре.

Моё главное правило: если в календаре есть событие, то я обязан выполнить его в это время.

Также иногда у меня может накопиться 5–10 небольших дел, тогда, чтобы их не потерять, я завожу событие, в которое записываю все мелкие задачи, что нужно сделать в это время.

Это моя личная цифровая адаптация принципа bullet journal

⸻

Хак 5. Макросы

Автоматизируйте всё, что только можете. Я использую для этого Stream Deck и программу Raycast.

С помощью Stream Deck я могу в один клик поставить сборку, открыть сайт или создать MR.

Raycast позволяет через 3 минуты, автоматически, закрывать почту и ряд других программ, что бы они не присылали нотификации. Так я могу читать сообщения в строго запланированное время и не отвлекаться на нотификации во время работы.

Ставь лайк если было интересно, а если какую-то из этих тем мне стоит раскрыть подробнее, то можно написать в комментарии про это
❤15🔥5👍3
Media is too big
VIEW IN TELEGRAM
Требуется Junior QA в команду Bioneers

Чуть больше полугода назад в команде Bioneers был только я. Сейчас нас уже восемь человек, и мы ищем девятого участника команды - Junior QA специалиста. С ума сойти, как быстро мы растём!

Проект находится в стадии активной разработки, и финансирование команды в основном идет от меня, поэтому вопрос оплаты для меня критичен.
Я могу предложить 20 000 – 30 000 рублей за ~20 часов работы в неделю.

Если вы или ваши знакомые только начинаете или хотите начать карьеру в GameDev — это отличный шанс. Такие вакансии без опыта встречаются редко.
Есть потенциал перейти на полную ставку ближе к демо-версии и релизу игры.

⸻

Требования к Junior QA для Unity-игр
1. Завершённые курсы тестировщика игр или аналог, подтверждающий знания.
2. Понимание принципов ручного тестирования игр.
3. Навыки базового баланс-тестирования.
4. Минимальные знания нагрузочного тестирования.
5. Наличие ПК на Windows.
6. Умение составлять баг-репорты и тест-кейсы.
7. Умение работать с любым таск-трекером (Jira / YouTrack / Trello и др.).
8. Внимательность, организованность, ответственность, желание обучаться.

⸻

Что предстоит делать
1. Тестировать игровые фичи: проверять новые сборки на соответствие требованиям и визуалу.
2. Заводить баг-репорты по установленной форме.
3. Писать тест-кейсы на разные игровые механики.
4. Проверять игровой баланс.
5. Проводить регрессионное и smoke-тестирование релизных билдов.
6. Участвовать в ежедневных созвонах, а также в обсуждениях новых фичей.

⸻

По всем вопросом и предложениям можно писать в треде или мне лично @romanchikov
🔥4❤1👍1👀1
🧩 Хаос в задачах и сила Definition of Done

Так уж получилось, что за последние дни очень часто стал замечать одну проблему с самоорганизацией разработчиков и других членов команды, которые порождают хаос в команде

Вот типичные примеры:
* Делать несколько задач параллельно вместо того, чтобы закрывать их последовательно
* Писать код “на будущее”, добавляя лишние абстракции и параметры
* Начинать задачу с неполным ТЗ
* Зависать на бесконечном ресёрче
* Лезть в рефакторинг до того, как вообще есть что рефачить

И самое интересное — у всех этих проблем одна причина и одно решение.

🎯 Простое правило

"Закрывай Definition of Done как можно быстрее"

Чтобы это сделать, нужен правильный процесс. Любая задача состоит из четырёх этапов:
1. Погружение в контекст
2. Составление Definition of Done (DoD) — чёткие условия, при которых задача считается выполненной
3. Реализация задачи так, чтобы выполнить DoD
4. Рефакторинг и приведение кода в порядок (после выполнения DoD, а не до!)

Цель всегда одна — как можно быстрее выполнить DoD, а всё остальное — вторично.

⸻

📌 Разберём несколько кейсов

🔹 Параллельная работа над задачами

Например, разработчик делает “Профиль игрока” и понимает, что нужна “Система сохранений”. Из-за соблазна делать всё сразу обе задачи уходят в работу. За второй задачей подтягивается третья и вот в In Progress половина задач из спринта, сроки расползаются, непонятно чем человек занят на самом деле

Как быть?

Если реализация сохранений не нужна для выполнения DoD по профилю,
то просто сделайте интерфейс и мок-методы.
А полноценную реализацию — в отдельную задачу.

Так мы сохраняем фокус и не расползаемся в стороны.

Опять же. Думайте как закрыть Dod как можно быстрее

⸻

🔹 Начало задачи без понятого ТЗ

Классика.
Но помним главное правило: Если DoD непонятен — задача не может быть закрыта.
А значит брать её в работу нельзя.

Задача без чёткого ТЗ = гарантированный хаос.

⸻

🔹 Рефакторинг “пока делаю фичу”

А этой кейс пожалуй еще популярнее чем задача без ТЗ. Каждый разработчик проводил рефакторинг, строит нереально крутую архитектуру, писал идеальный код, который потом летел в мусорку и был никому не нужен

Я понимаю почему мы это делаем. Мы чувствуем кайф во время рефакторинга, это состояние потока и оптимизации реально доставляют нам удовольствие, но почти всегда — вредит процессу.

Рефакторинг всегда должен быть отдельной задачей с конкретным DoD.
Не частью другой задачи, а именно отдельной задачей

P.S Тут я говорю про серьезный рефакторинг, небольшой косметический рефакторинг, который не затронет логику можно сделать и в задаче. Но если он затрагивает логику, то лучше отдельно, что бы составить список пунктов QA для тестирования

⸻

✔️ Итог

Правило "Закрывай Definition of Done как можно быстрее"
• даёт прозрачность
• ускоряет разработку
• снижает количество переделок
• уменьшает хаос
• делает команду быстрее и спокойнее

И самое главное — помогает закрывать задачи быстро, чётко и без лишних движений
❤7🔥6👍2💯1💅1
Media is too big
VIEW IN TELEGRAM
Сегодня Bioneers преодолел 20к вишлистов, а точнее уже 21к

Выпустили ролик в Инстаграме, который стабильно собирает по 100k просмотров в день и уже достиг 600k. Есть шанс дойти до 1 млн.

И самое удивительное насколько просто и естественно идёт маркетинг.
Мы сделали новый YouTube аккаунт, выложили видео и получили 400k просмотров.
Сделали аккаунт в Инстаграме, выложили видео и получили 600k просмотров.

Это всё заставило меня ещё раз переосмыслить фразу многих опытных продюсеров:
“Нужно проверять идею и только потом делать игру.”

А вообще игра перешла в стадию стабильной и немного рутинной разработки. Мы собрали очень крутую команду, распланировали задачи, кажется, на полгода вперёд, и что-то как-то скучно стало! 😀
Сижу вот и думаю: а не вписаться ли мне в новый проект?
Видимо, так предприниматели типа Илона Маска и подсаживаются на эту «иглу» новых проектов, с которой потом не могут слезть

Сейчас еще пишу статью на хабр про автоматизацию через Stream Deck, хотел сделать пост, но понял, что формат хабр статьи будет удобнее читать, так что скоро выйдет

А также есть еще один интересный кейс, которым хочу поделиться с вами в одном из будущих постов
Нам для игры нужно сделать около 400 иконок и я хочу написать процесс, который позволить автоматизировать создание таких иконок через AI, с последующей доработкой дизайнера.
Идея скормить программе таблицу с 400 промтами и на выходе получить 400 папок по 10 изображений в каждой на Google drive

P.S а ведь первые 7 виш листов я получил именно с этого канала
❤13👍4🔥4❤‍🔥1
Топ 5 цитат уходящего 2025 года 🎄✨

Последний день года идеальное время, чтобы подвести итоги. И я хочу сделать это в формате цитат, которыми можно описать прошедший 2025-й.

Но перед тем как начать, огромное спасибо всем подписчикам канала за вашу поддержку, за реакции, за то, что читаете мои посты и идёте рядом. ❤️
И я хочу пожелать вам, пожалуй, самого главного: сделать игру мечты и заработать на ней $1 000 000


Цитата 1. «Бизнесмен — это тот, кто не любит день зарплаты»

За 2025 год команда Bioneers выросла до 10 человек. Я вообще не ожидал, что смогу собрать вокруг себя столько талантливых людей, которые помогут сделать лучшую игру 2026 года (по моему личному мнению 😄). И, чувствую я, мы будем еще расти и минус на моем банковском счете превратится в плюсы в количестве вишлистов


Цитата 2. «Хороший продукт сам себя продаёт»

У моей жены 5 лет опыта в SMM, и я очень долго уговаривал её подключиться к ведению соцсетей Bioneers.

И вот настал тот день: она выложила видео в Instagram и оно собрало 1 000 000 просмотров.
До этого её личный рекорд был 200к.
А ещё ранее этот же ролик у нас собрал 500к просмотров на YouTube.

И в этом разница, хорошего и плохого продукта. Для продвижения плохого продукта нужно идти на различные ухищрения, а для хорошего достаточно просто опубликовать видео


Цитата 3. «Недостаточно сочно!»

В начале года на основной работе в DataSakura мы потеряли несколько клиентов из-за того, что игры получились недостаточно “сочными”.

Это стало триггером для важных изменений в процессе найма и отбора кандидатов.
А фраза «недостаточно сочно!» — превратилась в локальный мем компании 😅


Цитата 4. «Программист отличается от лампочки тем, что продолжает работу, когда перегорел»

2025 тяжёлый год для рынка мобильного геймдева. Мы в DataSakura как аутсорс-команда прочувствовали это очень сильно: пришлось модернизировать процессы, перестраивать подходы и адаптироваться под реалии рынка, чтобы оставаться на плаву.

Параллельно формирование команды и процессов в Bioneers.
И в итоге среднее рабочее время в этом году 12 часов в день.
Похоже, доход от Bioneers я буду складывать в мешочки под глазами 😂

Но самое главное: когда есть цель и желание — можно работать и по 12 часов.


Цитата 5. «Шляпа, причёска, тату»

Как-то слушал подкаст про полезные привычки и там автор рассказал фреймворк принятия решений: Hat, Haircut, Tattoo. Мне очень зашла эта идея.

🎩 Шляпа — решения, которые нужно принимать быстро (идеально — довести до привычки).
Шляпу легко снять и надеть другую. Проще сделать, чем думать. Ошибся — переделал.

💇‍♂️ Причёска — решения, над которыми стоит подумать, но не слишком долго.
Если не понравилось — через пару месяцев можно поменять. Исправить займет время, но это не критично.

🖋 Тату — решения на годы вперёд.
Это то, что дорого/сложно/почти невозможно переделывать. Тут нужно собрать максимум информации, продумать риски и принять решение один раз.


Всех с наступающим новым годом! И хорошо провести праздники! 🎅
Please open Telegram to view this post
VIEW IN TELEGRAM
☃15❤1🔥1
📚 Рецензия на книгу «Основы создания успешных инди-игр»

Начинаем год с полезного чтения.
И первой книгой в списке стала работа Влада Маргульца — «Основы создания успешных инди-игр».

Совокупная оценка: 8/10

Честно говоря, я часто отношусь к таким книгам с большим скепсисом. В целом решил прочитать её только потому, что она бесплатно доступна в ЛитРес по подписке.

Короткое overview

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

Каждая глава посвящена одному из этапов создания игры — от поиска идеи до пост-продакшена.
Информация подаётся достаточно сжато и без воды, из-за чего книгу реально интересно читать.

Из минусов: книга затрагивает много тем, но понемногу, поэтому не стоит ожидать глубокого погружения в отдельные аспекты.

Моё личное мнение

В первой главе автор рассказывает о себе и о том, как он сделал успешную игру. Классическая история «ничего не было, кроме стальной силы воли» лично меня скорее отталкивает, чем мотивирует. А на фоне дальнейших советов в духе «если не хотите делать дизайн — наймите дизайнера» это вызывает лёгкое недоумение.

На этом минусы, пожалуй, заканчиваются.

Главы 2–6 — это чистый опыт, который я во многом прожил на себе. Я на 100% согласен с большинством мыслей и советов автора.
Главы 7–10 мне ещё только предстоят, но они уже дали лучшее понимание того, что меня ждёт дальше, и заставили задуматься над парой важных моментов.

Если честно, кажется, что если бы я сам сел писать книгу, то написал бы её примерно в таком же ключе 😀

👍 Поставьте лайк, если вам зашёл такой формат
и если вам было бы интересно видеть больше рецензий на книги про геймдев.
👍30❤3
Code Review тестового задания с помощью Claude Code

Я раза три пытался автоматизировать Code Review для новых кандидатов к нам в компанию. На прошлой неделе наконец получилось сделать более-менее адекватный результат.

Скажу сразу — это не тот кейс, когда AI делает автоматический Code Review при merge request. Это кейс ревью тестового задания. И разница принципиальная: при MR модель учится на контексте существующего проекта, а в тестовом задании этого контекста нет. Модель смотрит код «с нуля», как и ревьюер.

Раньше я пробовал скормить ChatGPT ссылку на гит — получал практически неинформативный фидбек. Попытки подстроить промт не увенчались успехом. Сейчас я использую Claude Code с моделью Sonnet 4.6, которая как модель сильнее и позволяет очень гибко настроить контекст.

Как это работает:

1. Кандидат выполняет наше тестовое задание и скидывает ссылку на гит
2. Я запускаю shell script
3. Script стартует Claude Code в заранее настроенном окружении
4. На выходе — отчёт в формате .md
5. На основе отчёта я провожу ручной Code Review, валидирую и финализирую

Как я это сделал:

Через Claude Code создал отдельную папку с проектом и окружением. Добавил туда документацию с нашим тестовым заданием и скормил все свои прошлые отчёты по кандидатам. Модель обучилась на моих ревью и сгенерировала себе правила, которые я потом отредактировал и структурировал вручную.

Результат:

— Время ревью снизилось с 30 до 10–15 минут
— Качество отчёта выросло (модель ловит то, что я мог пропустить по невнимательности)
— Итоговый отчёт я всё равно ревьювлю вручную, но экономлю время на онбординге в проект кандидата и на написании финального текста

Пример автоматического отчёта своего тестового приложу в комментариях 👇
🔥10
CI/CD автоматизация для Unity-проекта за один вечер

Расскажу как мы с AI-ассистентом (Open Claw) за вечер настроили полный цикл автоматизации для нашего Unity-проекта Bioneers.

Задача: каждый Pull Request в dev должен автоматически проходить ревью, собираться в Unity Cloud Build, а связанные задачи в ClickUp переходить в QA.

Что получилось:

Разработчик создаёт PR в dev. Дальше всё происходит само:

1. Code Review
AI читает diff, загружает .editorconfig проекта и правила ревью, специфичные для нашей архитектуры (ECS, MVVM, Service Locator). Оставляет inline-комментарии прямо в GitHub. Не абстрактные "используйте SOLID", а конкретные: "этот GetComponent вызывается в Update, закешируй в Awake", "тут race condition с UniTask".

Это не замена живому ревью. Но 80% типовых замечаний ловит до того, как я открою PR.

2. Unity Cloud Build
При новом PR автоматически клонируется конфиг сборки windows-dev, подменяется ветка на ветку PR, запускается билд. При пуше новых коммитов запускается новый билд. При мерже конфигурация удаляется. Никакого мусора.

3. ClickUp
Если в коммите или описании PR есть ссылка на задачу ClickUp, задача автоматически переходит в статус QA, а в комментарий пишется ссылка на билд.

Разработчику достаточно написать в коммите https://app.clickup.com/t/taskid или CU-taskid.

Технически это Node.js прокси на 120 строк, который принимает GitHub webhooks и:

• отправляет промпт на ревью AI-агенту
• дёргает Unity Cloud Build API для создания/удаления конфигов
• парсит коммиты через GitHub API, находит ClickUp ссылки и обновляет задачи

Что это даёт команде:

• Разработчик получает первый фидбек по коду через 2-3 минуты после пуша
• QA видит задачу в нужном статусе с готовым билдом
• Я не трачу время на тривиальные замечания в ревью
• Нет ручного создания билдов в Unity Dashboard

Что не работает:

• AI не заменяет архитектурное ревью. Логику бизнес-процессов и "а нужна ли вообще эта фича" он не ловит

Весь пайплайн запустили за вечер
🔥12❤2❤‍🔥2
Ищем Unity-разработчика к нам в Bioneers

Всем привет! Наш проект растет, в связи с этим ищем активного и талантливого разработчика к нам в команду

Описание вакансии:

Unity-разработчик (Middle) — Bioneers

Мы делаем Bioneers — игру про живые клетки и биологические системы. Вдохновлялись Factorio и Spore: строишь клеточные организмы, настраиваешь цепочки ресурсов, наблюдаешь как всё работает (или ломается). Это не мобилка и не казуалка — это настоящий PC-проект с глубоким геймплеем.

Мы стартап. Маленькая команда из 6 человек: CTO, 2 программиста, дизайнер, геймдизайнер и маркетинг-менеджер. Платим честно, но не как корпорация. Зато у нас:

— Возможность реально влиять на продукт, а не закрывать тикеты
— Работа с современным стеком (Unity 6, ECS/DOTS, R3, UniTask)
— Менторство и профессиональный рост. Очень сильная команда разработки
— Удалёнка

Что будешь делать:

— Геймплей на DOTS (Unity DOTS): системы, компоненты, аспекты
— UI на MVVM + R3
— Писать чистый, поддерживаемый код в модульной архитектуре
— Участвовать в code review
— Придумывать решения, а не только реализовывать чужие
— Возможность влиять на геймдизайнерские решения


Что нужно:

— Unity + C# (2+ года коммерческого опыта)
— Понимание ECS концепций (или готовность быстро вникнуть)
— Опыт с UI: Canvas, привязка данных, реактивность
— Умение читать чужой код и работать в команде
— Желание учиться — это главное

Будет плюсом:

— Опыт с Unity DOTS
— Знание R3 / UniRx / реактивного программирования
— Опыт с ScriptableObject-based архитектурой
— Git (merge, rebase, code review через PR)

Очень желательно:

— Наигранность в Factorio, Satisfactory, Shapez, Dyson Sphere Program или другие игры в жанре автоматизации. Если ты понимаешь кайф от идеально работающей конвейерной линии — нам по пути.

Условия:

— Полная удалёнка
— Full-time
— Оплата по результатам собеседования (стартап, не корпорация — но растём вместе)

Писать: @romanchikov
Приложите CV к отклику — так мы быстрее ответим
👍10🔥1
Почему 80% разработчиков не доходят даже до интервью?

Обратил внимание, что у меня много новых подписчиков после того, как я разместил вакансию к нам в Bioneers, поэтому хотел бы по горячим следам поделиться своими мыслями насчёт процесса интервью.

В отличие от моего основного места работы, где всю подготовительную часть делает HR, а я уже делаю code review и тех интервью, тут я решил провести всё самостоятельно от и до. И скажу честно, это очень ценный опыт, и я стал гораздо лучше понимать ответственность HR.

Процесс интервью:
1. CV
2. Опросник
3. Тестовое задание
4. Интервью
5. Тех интервью

На мою вакансию откликнулось 70 человек, что превзошло мои ожидания в 3 раза. Поэтому, мне пришлось максимально автоматизировать процесс и подключить своего бота OpenClaw для помощи.

Этап CV. 70 человек
На просмотр CV кандидата я тратил менее 1 минуты. Сами понимаете, 70 человек — это уже 70 минут, поэтому правду говорят HR, что без грамотного CV на вас могут просто не обратить внимание. Далее я отдавал CV нейронке для автоматического ревью и создания страницы кандидата. Нейронка ставила скор от 1 до 5 на основе CV. Те кандидаты, что получали менее 2 баллов или у кого не было 2-х лет опыта, сразу получали отказ, остальные проходили на следующий этап.

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

Этап опросника. 40 человек
Поскольку откликов было много, я принял решение сделать опросник. В опроснике просил оценить уровень от 1 до 5 по техническим навыкам, а также задавал несколько релевантных для нас вопросов, например, ожидаемый уровень ЗП и наигранность в игры автоматизации.

На основе опросника нейронка генерировала скор от 1 до 5. У кандидатов, которые сами себе поставили менее 3 баллов, спрашивал, точно ли они хотят делать тестовое, так как по их оценке есть шанс не пройти тех интервью.

Удивительно, но у многих кандидатов уровень в опроснике совпал с уровнем, который я поставил при code review.

Этап тестового задания. 30 человек
Тут стоит отметить, что всего 5 человек отказались делать тестовое задание сами, и ещё 5 человек отказались по результатам опросника. Правда, на этапе CV я предупреждал, что тестовое задание обязательно.

Тестовое задание я также прогонял через нейронку, которая формировала черновой отчёт и на основе моих критериев оценивала кандидатов. Далее я самостоятельно проводил ревью тестовых и корректировал отчёт уже на основе своего опыта. По результатам оценил кандидатов от 1 до 5, и те, кто получили 3.5 балла, не прошли на дальнейший этап.

Этап интервью. 16 человек

На этапе интервью я оценивал софт-скиллы кандидата, давал информацию о компании и спрашивал подробнее про опыт. На этом этапе я также подробно изучал CV кандидата.

Этап тех интервью. 8 человек

Тут всё по классике. Задаю технические вопросы и оцениваю уровень кандидата от 0 до 100%.

Если было полезно, то ставьте ❤️
Если наберем хорошее количество лайков, то сделаю пост с рекомендациями по оформлению CV и как подготовиться к интервью
❤32👍5🔥2👌2👎1💅1🗿1
Сопроводительное письмо как способ выделиться

Мой прошлый пост собрал рекордное количество реакций. Это радует и реально мотивирует делать новые посты.

Начал писать пост про CV, но понял, что сначала сделаю пост про сопроводительное письмо.
Отнеситесь к нему как к единственному тексту, который вообще кто-то будет читать.

Самое ужасное сопроводительное письмо за мой опыт найма выглядит так:

Здарова. Вакансия актуальна?


Скажу честно, я даже не отвечаю таким кандидатам.

А вот пример одного из лучших сопроводительных писем на мою вакансию в Bioneers:

Привет! Увидел вакансию Unity-разработчика и заинтересовался проектом
Мой техстек кажется релевантным вашим требованиям, а сам проект я раньше видел на Reddit.

У меня 5+ лет опыта работы Unity-разработчиком. В своё время любил играть в детище Уилла Райта — Spore. Про Factorio слышал, но не играл (но это легко исправить, так как я с детства плотно подсел на игры :D).

Было бы клево поработать вместе =)

Техстек:
Unity, C#, ООП, SOLID
ECS (Morpeh), Zenject
REST API (BestHTTP)
Git, Rider, Addressables, Profiler, Unit Tests
Firebase, AppsFlyer, Crashlytics

Подробнее в CV: «ссылка»


Давайте разберу его по частям:

1. Одно сообщение, сразу CV в формате PDF в аттаче.
Нет потока сообщений, а всю информацию можно легко добавить на страницу кандидата.

2. Текст разбит на абзацы.
Такое письмо легко читать, и сразу видны ключевые моменты.

3. Немного конкретики про проект, плюс информация о том, что человек видел проект ранее.
Как минимум мне приятно, что это не просто отклик, а что человеку интересен мой проект. Пусть в реальности это не так и вам просто нужна работа, но это ведь цепляет.

4. Сразу коротко указан техстек.
Можно понять, с чем кандидат уже работал, а что ему придётся подучить.

Ставьте ❤️и я выпущу следующий пост про CV
Пишите в комментариях варианты как можно еще улучшить сопроводительное письмо
❤25👍5👨‍💻2💘1🦄1😎1