aks2dio | Unity и геймдев
491 subscribers
185 photos
5 videos
222 links
Директ: @antonkerp

Про GameDev, разработку на Unity и C#, менеджмент, образование, менторство и карьеру в целом.

С 2017 г. разрабатываю, лидую, преподаю и консультирую.
Был в найме, стартапах, фрилансе, инди.
Опыт: Mobile, Desktop, Web, XR.
Download Telegram
♾ Рекомендация видео по старту в CI/CD ♾
Уровень материала: 🐓 #senior

У Артёма Шумейко ещё не очень давно вышло два видео, посвящённых CI/CD. Одно теоретическое, другое — практическое. И вот второе мне очень даже понравилось — хочется им поделиться. К тому же ранее я уже рекомендовал его видео по деплою приложений, а CI/CD можно рассматривать как автоматизацию этого процесса.

❓ При чём тут геймдев:

Указанный уровень материала очень условный. Вопросы CI/CD "официально" не входят в область GameDev-специальности, а уж тем более middle-уровня. Но навык это незатейливый и очень полезный на любом уровне специализации. Полезный и для корпоративной жизни, и для личной — навести автоматизацию на своих петах тоже удобно. А достопочтенному senior'у как-будто бы даже зазорно не уметь в такое хотя бы на уровне теории.

В больших компашках на 100+ человек обычно есть выделенные devops-человечки. И обычно они постоянно заняты, т.к. обязанностей у них предостаточно. Оперативно решить вопросики с CI\CD малого масштаба можно самостоятельно — тут и поможет накопленная экспертиза.

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

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

❗️ Что хорошего в видео:

Этот ролик — пока самое лучшее из того, что я видел вводного по теме. Он короткий, он по делу, он ёмкий и понятный, он легко и интересно смотрится, он наглядный и качественно сделанный.

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

И сам пример хорошо демонстрирует для чего нужен CI/CD, для чего нужны тесты, почему важно это всё автоматизировать и почаще гонять.

Gitlab, возможно, не самое популярное решение в геймдеве: я обычно встречаю Jenkins и TeamCity (и изредка Unity Build Automation). И т.к. сборка игрового проекта занятие продолжительное и тяжеловесное, то и сборки делаются не так часто, как об этом пишут применительно к другим сферам. Особенно если проектов много, а машинок для сборки — чуть-чуть или вообще одна. Но на уровне идеи это всё не имеет значения: процессы примерно одинаковые во всех системах и для разной природы проектов. А как выглядит дашборд и какие цифры ставить в настройках — дело наживное.

—————————————
#gamedev #development #backend #infrastructure #devops #cicd #геймдев #разработка #бэкенд #девопс #инфраструктура #автоматизация #рекомендация #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Сценарий применения LLM из личного опыта
Уровень материала: 🤖 #ai

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

⏰ Предыстория:

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

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

💬 Ситуация:

Нужно настроить какой-то мониторинг с алёртингом и автоматизировать восстановление инфраструктуры. Но и этим заниматься некому и некогда.

💡 Решение:

Нагрузить «того парня», виртуального.

Сначала были настроены как следует Restart-политики для Docker-контейнеров, чтобы те автоматически перезагружались при авариях.

Далее 10 минут на выяснение, как лучше реализовать скрипт мониторинга, оповещение в Telegram-чат, как это всё лучшим образом «присоседить», как получать логи и как «вручную» из скрипта поднимать упавшие намертво контейнеры.

На выходе были получены все инструкции и готовый Python-скрипт.

Следующие 20 минут ушли на настройку, интеграцию и первичные тесты.

Итого на решение проблемы понадобилось 30 мин ⏱

🎯 Результат:

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

Потрачено минимум усилий, и все довольны. На всё про всё для решения простой DevOps-задачи потребовался один Unity-разработчик на полчаса. Далее уже по мере высвобождения ресурсов можно будет заменить свою поделку на какой-нибудь полнлценный Zabbix.

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

🤩 Про роль ИИ:

Однако, конечно, LLM не всё сгенерировала сразу и хорошо. Были косяки. Важно уметь их распознать, чтобы отправить на доработку или исправить самостоятельно.

Чтобы реализовать эту задачу всё равно нужны базовые знания Linux-систем, Docker'а и синтаксиса Python. Благо это стандартный набор для любого разработчика. А разные языки вообще полезно периодически прощупывать, особенно из числа популярных.

Напоминаю, что игровая разработка одним только Unity не ограничивается. Например, мне на этой неделе HR прислал вакансию со стеком: Unity, SRP, ECS, Burst, Job System, клиент-сервер, PostgreSQL, TeamCity, Dapper, Prometheus, Grafana. А клиент-сервер – это сразу Linux и Docker.

Вакансия на Tech Lead. Но:
🟣Это ещё даже не вершина айсберга.
🟣Не все эти слова появляются на этом грейде. Они все постепенно налипают с опытом.

Для вертикального роста по-хорошему крепкий Middle уже должен быть хоть немного знаком с клиент-сервером, Linux, Docker, CI и уметь разбираться в коде на других языках. Как минимум тех, которые используются на целевых платформах разработки.

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

❗️Возможно это даже станет той причиной, по которой в будущем требований к специалистам станет только больше❗️
————————————
#gamedev #development #llm #ai #experience #case #devops #monitoring #backend #infrastructure #геймдев #разработка #опыт #ии #ситуация #мониторинг #инфраструктура #бэкенд #aks2dio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3✍1👌1
♾ Про CI/CD в геймдеве ♾
Уровень материала: 🐓 #senior

Давно не попадались под руку материалы по CI/CD. А тема-то важная. Геймдев — это не только лишь игрушки, и об этом не стоит забывать.

В прошлый раз 📱 я делился видео про CI/CD в Gitlab и пробовал объяснить, зачем оно нужно игроделу и какие варианты чаще встречаются в геймдеве.

📖 🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤

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

С пояснениями, существующими решениями, сравнениями, реальными примерами использования и стоимости — со всем, что может быть интересно и полезно тому, кто только к этому приобщается.

Написано просто, понятно, последовательно, не перегружено. Оформлено красочно и удобно.

❗️ 🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤

Единственное, я бы отметил, что связка из Unity Cloud Build, TeamCity и GitLab CI/CD достаточно экзотическая. Получается, что за CI отвечают одни сервисы, а за CD — другие.

Обычно нет необходимости поддерживать такой парк технологий — со всем описанным бы справился и один TeamCity или один GitLab CI/CD.

Но этим и интересен пример. Была начальная ситуация. Условия поменялись — появились проблемы. Надо решать теми средствами (и руками), что есть, с минимальными рисками, ещё и «на ходу».

Перестраивать такие процессы стоит только постепенно. И вот — можно наблюдать промежуточный результат.

Возможно в следующих частях удастся узнать о том, как дальше развивается эта история.

➕ 🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤

Оставлю ещё ссылки на стримы от K-Syndicate по теме CI/CD: первый практический 📺 и второй более болтологический 📺.

Там наглядно и подробно про автоматизацию сборки в Unity, про написание скриптов, про использование Cake, про встраивание в TeamCity, про сценарии использования Unity Cloud Build и многое другое по мелочи.
—————————————
#gamedev #development #backend #infrastructure #devops #cicd #геймдев #разработка #бэкенд #девопс #инфраструктура #автоматизация #рекомендация #статья #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3