aks2dio | Unity и геймдев
437 subscribers
173 photos
5 videos
209 links
Директ: @antonkerp

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

С 2017 г. разрабатываю, лидую, преподаю и консультирую.
Был в найме, стартапах, фрилансе, инди.
Опыт: Mobile, Desktop, Web, XR.
Download Telegram
Сценарий применения 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🔥31👌1
Конспект по локальным LLM для разработки
Уровень материала: 🤖 #ai
📺 YouTube / 📺 VK

В продолжение ветки про локальные LLM. Уже прошлогодний доклад про использование локальных LLM. В видео рассмотрены инструменты и плагины для этого, кейсы применения и сравнение работы нескольких моделей: Qwen2, Llama, CodeQwen.

Оставлю краткое резюме с некоторыми дополнениями от себя и дополнительными поясняющими ссылками.

————————————

🧑‍💻 Зачем нужны LLM в разработке:

🟣Ускорять или автоматизировать рутинную работу (про один из примеров писал в прошлый раз).

————————————

Зачем нужны локальные LLM:

🟣Экономия на стоимости запросов;
🟣Повышение информационной безопасности;
🟣Возможность обучить нейросеть на своих данных;
🟣Возможность работы без подключения к сети.

————————————

⚠️ Проблемы локальных LLM:

🟣Более низкая производительность;
🟣Требуется подходящая аппаратная часть;
🟣В общем случае более низкое качество ответов.

————————————

💼 Кейсы применения:

🟣Автодополнение кода;
🟣Помощь при написании методов и логики;
🟣Кодогенерация типовой рутины: подписки, отписки, логирование, и пр.;
🟣Генерация тестов (про один из способов делал клип);
🟣Генерация тест-кейсов и документации к коду;
🟣Суммаризация и анализ логов (очень полезно на бэкенде);
🟣Суммаризация и пояснение кода;
🟣Поиск ошибок и подсказки рефакторинга.

————————————

🆓 Open-source модели:

🟣Qwen2;
🟣Llama;
🟣CodeQwen;
🟣CodeLlama-KStack;
🟣DeepSeek-coder;
🟣StarCoder.

————————————

Инструменты запуска локальных LLM:

LMStudio:
🟣OpenAI-совместимый REST API;
🟣Переключение между моделями без перезапуска;
🟣Поиск по репозиторию HuggingFace;
🟣UI для режима чата;
🟣UI для настройки параметров.

Ollama:
🟣Ollama REST API;
🟣Переключение между моделями без перезапуска;
🟣Собственный репозиторий моделей;
🟣Импорт моделей разных форматов;
🟣Автоматическое освобождение ресурсов.

————————————

🔌 Плагины для IDE Continue:

🟣Поддерживает Android Studio, VS Code;
🟣Open-source и коммерческие LLM-провайдеры;
🟣Режим чата;
🟣Режим автодополнения кода;
🟣Индексация локального проекта.

————————————

💡 Как улучшить качество ответов:

🟣Прокачивать навыки промт-инжениринга;
🟣RAG (Retrieval Augmented Generation).

————————————

✍️ Техники промт-инжениринга:

🟣Few-shot подсказки;
🟣Chain-of-Thought запросы;
🟣Prompt Chaining;
🟣Обратная связь (Prompt Feedback);
🟣Назначение ролей (Role Assigning);
🟣Кратко о других.

————————————
#gamedev #development #llm #ai #геймдев #разработка #ии #советы #рекомендация #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤔2🔥1
🤡 MemIT #7 🤡

В разгар тяжёлой рабочей недели врывается первая в этом году подборка из 10 кеков/шуток/юморесок/мемов про игры, GameDev и IT, которые были мною украдены из рабочих чатов и ваших комментариев к предыдущим подборкам.

Готов вылавливать новые в комментариях 🐟
Мемы уже ждут там 💬

⬆️ прошлый выпуск ⬆️
—————————————
#gamedev #development #it #meme #humor #геймдев #разработка #айти #мемы #юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣4🔥3👌2
🚀 Реактивное программирование 🚀
Уровень материала: 🐥 #middle

О реактивном программировании довольно часто упоминается, особенно в чрезмерно динамичном геймдеве. Подход очень легко начать использовать, и на первый взгляд он может показаться очень понятным. Поэтому многие новички любят брать его на вооружение и «прокачивать» свой код повсеместно. Но всё не так просто.

Я встретил хорошее видео, которое доступно поясняет устройство этой технологии. И подготовил несколько тезисов по теме.

📺 YouTube / 📝 Dzen


📌 🔤🔤🔤 🔤🔤🔤🔤🔤 🔤🔤🔤

Реактивное программирование — это парадигма, где код строится вокруг потоков данных* и их изменений. Вместо ручного обновления состояний мы подписываемся на события (например, нажатие кнопки, изменение здоровья персонажа) и реагируем на них.
* речь про data streams, не путать с thread из многопоточности

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

🔥 🔤🔤🔤🔤🔤:

1️⃣ Декларативность: Поток данных позволяет использовать цепочки операторов, которые помогают организовывать логику декларативно (например, через LINQ).

2️⃣ Отписки: Все локальные подписки на поток агрегируются в IDisposable-сущность. Соответственно для отписки нужно всего лишь вызвать Dispose и не хранить делегаты, которыми производилась подписка, чтобы ими же потом отписаться.

3️⃣ Удобство: Библиотеки имеют много вспомогательных методов и специальных оберток для данных, которые позволяют быстро добавить возможность подписки на изменения.

⚠️ 🔤🔤🔤🔤🔤🔤:

1️⃣ Оверкилл: Избыточное решение для простых единичных событий или асинхронных операций, с которыми нет необходимости работать как с потоком данных.

2️⃣ Отладка: Цепочки операторов и иерархию подписок сложно дебажить.

3️⃣ Производительность: Зависит от применяемого решения, но Rx имеет свои накладные расходы, пусть и не всегда значительные.

4️⃣ Сериализация: Реактивные обёртки для данных могут доставлять неудобства при сериализации данных и передаче по сети.

🛠 🔤🔤🔤🔤🔤🔤🔤 🔤 🔤🔤🔤🔤🔤:

В Unity долгое время использовался пакет UniRx, но теперь его активно замещает R3 от тех же авторов, которые подарили нам и UniTask.

Особенности последнего:

Не ограничивается Unity и поддерживает другие движки.

Улучшенная производительность и меньше аллокаций.

Поддержка «покадровых» операций в игровых движках.

Полноценная поддержка async/await операций «из коробки».

Улучшен контроль за утечками памяти.

🧑‍💻 🔤🔤 🔤🔤🔤🔤:

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

Rx, как, например, не менее популярный Zenject (именно он, не DI в целом), дают слишком широкий простор возможностей и сценариев использования. Это в будущем создаёт разнообразные проблемы и сложности, разрешить которые может оказаться намного сложнее, чем не поддаваться искушению изначально.

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

А вне «песочницы»: если нормально живётся без Rx — скорее всего, он не нужен. Rx — это, в первую очередь, про потоки данных. Где работа с такими потоками не нужна, запрягать Rx и нет необходимости.

🔧 🔤🔤🔤🔤🔤🔤 🔤🔤🔤🔤🔤:

Необходимость объединения и/или фильтрации событий от разных источников.

Сложная обработка событий.

Обработка ввода от игрока.

Связь визуального слоя с игровыми данными.

Контроль событий, распределённых во времени (таймеры, задержки и пр.).
————————————
#unity #gamedev #development #architecture #rx #геймдев #разработка #архитектура #реактивность #рекомендация #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍6
🌴 Про Behaviour Tree от Unity и другие подходы 🌴
Уровень материала: 🐥 #middle

Мы в командах постепенно переползаем на Unity 6. И в Package Manager был замечен пакет Behaviour. Оказалось, это новый и бесплатный пакет для Behaviour Tree от самих Unity. Прилагаю демонстрационный ролик 📺

Представленный пакет пока «в бою» ещё не протестирован. Но радует, что появилась официальная альтернатива достаточно не дешёвым популярным решениям для Behaviour Tree: Behavior Designer, AI Tree и Node Canvas.

🔹 Behaviour Tree / дерево поведений — это мощный, гибкий и популярный инструмент для создания сложного ИИ. Он позволяет представить поведение в виде древовидной иерархии, где каждый узел отвечает за определённое действие, решение или условие.

Помимо Behaviour Tree для реализации игрового ИИ часто можно встретить другие подходы:

1️⃣ FSM( Finite State Machine):
Модель поведения ИИ, где персонаж находится в одном из заранее определённых состояний («патрулирование», «атака», пр.) и переходит между ними в зависимости от условий.

2️⃣ HFSM (Hierarchical Finite State Machine):
Усовершенствованная версия FSM, где состояния могут содержать подсостояния, что позволяет организовать более сложное поведение.

3️⃣ GOAP (Goal-Oriented Action Planning):
Подход, при котором ИИ ставит цели и планирует последовательность действий для их достижения, оценивая затраты и выгоду каждого шага.

4️⃣ Utility AI:
Система, где ИИ выбирает действия на основе их «полезности» в текущий момент, оценивая различные факторы (здоровье, расстояние до цели и пр.) и выбирая наиболее оптимальное поведение.

Подробнее со всеми этими решениями можно ознакомиться в этой монументальной часовой статье 📝. Внутри много полезных тегов и ссылок, в т.ч. про Steering Behaviour и Pathfinding.

Также можно заглянуть в этот плейлист 📺 с объяснениями и реализациями для Unity упомянутых выше подходов, в частности Behaviour Tree с Blackboard, которые и предоставляются в пакете Behaviour. В этом же плейлисте можно даже найти обзор и на него.
————————————
#unity #gamedev #development #architecture #ai #bt #fsm #hfsm #goap #utility #геймдев #разработка #архитектура #ии #рекомендация #видео #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
📊 Немного статистики по прошлому посту 📊
Уровень материала: 🐒 #offtop

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

👀 Я уже не раз поднимал тему LLM, поэтому был готов к волне хейта и иронии. Но в этот раз всё прошло относительно «спокойно». Даже на токсичном DTF, где набралось 4,3к просмотров (а это в разы больше обычного), ничего запоминающегося не произошло.

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


🤩 Ради изучения площадки, я туда периодически перекопировал посты. Не все, точечно, по разным тематикам. Редко какой пост там набирал больше 100 просмотров. Но именно этот собрал рекордные 4,7к. Что больше, чем на всех других площадках вместе взятых. Это принесло уже больше 160 подписок. И эти цифры каждый день продолжают расти. В Сетке, Карл.

📇 Цифры цифрами — это всё баловство. Из действительно интересного: это начало приводить к новым контактам. Среди которых есть и полезные.

🥸 Вот такой забавный поворот. Вывод не придумал. Разве что «кек».
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1🥴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
🚀 Анонс выступления на CityFest 🚀

🗓 5 апреля будет возможность встретиться на геймдев-конференции CityFest в Новосибирске!

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

💡 Это хороший повод посмотреть на статью свежим взглядом, провести рефакторинг и дополнить новыми комментариями.

🔗 Подробности о докладе и самой конференции по 💙 ссылке.

🤞 Надеюсь, что всё успею, и планы не сорвутся.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
🗓 MidUp #6 🗓

Подборка GameDev и IT мероприятий, которые встретил в чатах, группах и просто в сети. Митапы, конференции, фестивали, джемы, конкурсы и другое.


🔤🔤🔤🔤🔤🔤🔤

🧑‍💻🎤🆓 20.02. Томск [Offline] Secure IT Meetup.

🎮🍻🆓 20.02. Новосибирск [Offline] Игровой митап.

🎮🍻🆓 21.02. Москва [Offline] Indie Party.

🎮🎤🆓 22.02. Спб [Offline] Promo-Up.

🎮🎤🆓 26.02. Москва [Offline] Лекция "Людо-нарративный консонанс".


🔤🔤🔤🔤

🧑‍💻🎤🆓 01.03. Калининград [Offline] II Рабочая встреча Amber Code.

🎮🎤🎫 7.03 - 9.03. Москва [Offline] Игрокон. От 500 ₽.

🎮🎤🆓 2.03. Москва [Offline] Игровой митап.

🎮🍻🆓 18.03. Тюмень [Offline] Игровой митап.

🎮🎤🆓 19.03. Москва [Offline] Лекция "Архитектура в видеоиграх".

🧑‍💻🎤🆓 20.03. Красноярск [Offline] KD Meetup. Аналитика.


🔤🔤🔤🔤🔤🔤

🎮🎤🎫 5.04. Новосибирск [Offline] Gamedev CityFest. От 4 500 ₽.

🧑‍💻🎤🎫 5.04 - 6.04. Москва [Offline] [Online] Heisenbug 2025 Spring. От 22 000 ₽.

🧑‍💻🎤🎫 7.04 - 8.04. Москва [Offline] [Online] HolyJS 2025 Spring. От 22 000 ₽.

🧑‍💻🎤🎫 7.04 - 8.04. Москва [Online] [Offline] DevOps Conf. От 40 500 ₽.

🧑‍💻🎤🎫 9.04 - 10.04. Москва [Online] [Offline] Mobius 2025 Spring. От 22 000 ₽.

🎮🧑‍💻🎤🎫 18.04 - 19.04. Ульяновск [Offline] Конференция "Стачка". От 12 000 ₽.

🧑‍💻🎤🎫 25.04. Екатеринбург. [Offline] DUMP Ekb. От 13 000 ₽.

🧑‍💻🎤🎫 25.04 - 26.04. Иннополис [Offline] Конференция Merge. От 9 222 ₽.

Знаешь какие-то ещё интересные события, особенно в регионах — оставляй информацию в комментариях.

И заглядывай в Геймдев Афишу — там ребята сделали прям полноценный календарь с геймдев-мероприятиями.
—————————————
#it #development #gamedev #gamejam #meetup #conference #разработка #айти #геймдев #конференция #митап #событие #подборка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍21
🔋 Энергетический менеджмент 🔋
Уровень материала: 🧠 #mental

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

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

Мне это близко: когда ты «в ресурсе», ты можешь больше, и даже срыв тщательно выстроенного тайм-менеджмента не станет проблемой.

Какие виды энергии важно учитывать 👎

🏋️‍♀️ Физическая: сон, движение и питание.

😁 Эмоциональная: концентрация на положительных моментах в жизни.

👩‍💻 Интеллектуальная: фокусировка на задачах и минимизация отвлекающих факторов.

🏖 Духовная: связь с личными ценностями и долгосрочными целями.

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

Это короткая, но ценная заметка для тех, кто хочет работать эффективнее за счёт оптимизации своих ресурсов 👍

Заботьтесь о своих ресурсах и находите баланс между работой и отдыхом!

—————————————
#life #health #energy #productivity #efficiency #жизнь #здоровье #энергия #продуктивность #эффективность #рекомендация #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🥴21🔥1
🔍 Разыскивается Middle Unity Developer 🔍
Подробности и отклик: 🔎 hh
Уровень материала: 👀 #hr

Вводные:
Проект: Mobile 3D F2P Action RPG.
Стек: Unity, Addressables, Zenject, UniTask, Mirror, Unity backend.

Ожидаемые навыки:
• Понимание принципов сетевого взаимодействия.
• Опыт с realtime-мультиплеером, не обязательно коммерческий.
• Навыки разработки сервисных проектов с развитой мета-игрой.
• Умение разбираться в чужом коде и терпимость к работе с legacy.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🎯 Тактический Pathfinding 🎯
Уровень материала: 🐥 #middle

Ознакомился с классным видео 📺, которое развивает поднятую ранее тему игрового ИИ. Автор показывает, как можно дополнить алгоритм A* для учёта различных внутриигровых условий.

⚠️ Например в видео ИИ-агенты оценивают опасность маршрута: дальность стрельбы противников, траекторию обстрела и время нахождения на опасных участках. Чтобы агенты выбирали не только короткий, но и наиболее безопасный путь.

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

🔖 В своей практике пока подобное поведение реализовывать не приходилось, поэтому видео заслуженно отправляется в закладки, чтобы своевременно вдохновить, когда придёт время.
————————————
#unity #gamedev #development #ai #pathfinding #astar #геймдев #разработка #ии #поискпути #рекомендация #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍311
📂 Новый файловый менеджер для Windows 📂
Уровень материала: ⚙️ #tool

Давно слежу за проектом File Pilot, ещё со времён когда он назывался Disk Voyager. И на прошлой неделе наконец-то получил письмо о выходе публичной бета-версии.

Запуск как-то тихо прошёл. Не нашёл интересных публикаций для репоста. Разве что небольшая новость на Хабре 📝, да короткий обзор на YouTube 📱

👍 С момента релиза активно тестирую. Пока доволен. Работает очень шустро. Много горячих клавиш, быстрый поиск, фильтрация контекстного меню, удобный Go To. Ещё бы горизонтальную навигацию по стрелочкам, как на маке, и совсем было бы хорошо.

😡 Встречаются, правда, проблемы — стабильность пока не эталонная. Пакетное переименование совсем куцое и предпросмотр файлов только для узкого списка форматов работает. Благо он складно работает с Power Toys.

🤩 Всё это явно будет ещё допиливаться. Для меня это уже самое удобное бытовое решение на Win, что я использовал. Подумываю над тем, чтобы прикупить насовсем, пока дают скидку. Планируются версии и на другие платформы и, судя по всему, смогу ими пользоваться по той же лицензии.

upd: куплено
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
🧠 Что такое База 🧠
Уровень материала: 🎓 #education

У S0ER выходил базированный пост про базу в IT.

Настолько хорошо и лаконично сформулировано, что я как есть и сохраню у себя. Согласен с каждым словом — нечего ни добавить, ни убавить.

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

База — это результат труда и длительного воздействия на организм с помощью упражнений.

База — это проработанный мозг, который, как и тело, требует тренировки для формирования необходимых связей между нейронами.

База — это навыки и опыт, которые помогают сформировать ваш главный инструмент как инженера — ваш мозг!


Я обычно говорю, что
База — это сформированный майндсет и накопленный практический опыт.


🩹 Можно изучить сколь угодно постоянно меняющихся практик, техник и инструментов, но потолок возможностей и качества их применения будет всё равно низким без порядка в голове, выдрессированного мышления и «набитых шишек».

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

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

📉 Более короткие популярные коммерческие курсы нацелены, наоборот, на предоставление практических навыков (оставим за скобками их качество). То, что можно быстро пощупать, измерить, применить и, соответственно, легче продать. Это рабочий подход для повышения компетенций, но недостаточный для их приобретения.

🟣Для чего нужна База
🟣База и Книги
—————————————
#development #разработка #геймдев #обучение #образование #курсы #рекомендация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥21😴1
⛓️‍💥 Советы по работе с коммитами ⛓️‍💥
Уровень материала: 🐣 #junior 🐥 #middle

💬 Делюсь кратенькой публикацией с 4-мя советами по рефакторингу кода.

Хорошие советы — и сам их придерживаюсь. Более того, использую эти практики не только при рефакторинге, но и вообще при работе с VCS (системами контроля версий).

Первый совет во многих случаях может быть избыточным, но если на кону рефакторинг сложной и большой системы — он будет кстати.

💡 Разделение работы на короткие завершённые этапы помогает сузить контекст работы.

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

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

🧩 Работа с коммитами — это отдельный навык, который требует практики и освоения.

Бардак в истории коммитов ничем не лучше спагетти-кода: для отката правок или поиска причин изменений приходится разбирать огромные непонятные запутанные завалы.

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

✔️ Грамотная и вдумчивая работа с коммитами делает разработку проще и прозрачнее.

Поддержание порядка особенно важно в хаотичном геймдеве, где сроки всегда горят, а приоритеты меняются каждый день. Чёткая история коммитов помогает быстро адаптироваться и не терять контроль над проектом.
—————————————
#gamedev #development #git #vcs #advice #геймдев #разработка #гит #скв #советы #рекомендация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥41
☀️ Unigine Open Air ☀️
📍Локация: Томск

Unigine открыли продажу первой ограниченной партии билетов на свой летний Open Air.

Давно не был в Томске — пожалуй, пора ✈️

Билет прикупил, но уже думаю над тем, чтобы подать заявку на доклад 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1💩1
🤡 MemIT #8 🤡

Для тех, кому было на этой неделе не до смеха. Подборка из 10 кеков/шуток/юморесок/мемов про игры, GameDev и IT, которые были мною украдены из рабочих чатов и ваших комментариев к предыдущим подборкам.

Мемы уже в комментариях 💬

⬆️ прошлый выпуск ⬆️
—————————————
#gamedev #development #it #meme #humor #геймдев #разработка #айти #мемы #юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣61👍1🔥1
🎙 Подкаст о продвижении игр 🎙
Уровень материала: 🐣 #junior

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

🎙 Недавно в списке воспроизведения подвернулся подкаст от VK "+100 монет", который немножко вернул меня в те давние времена. Года идут — темы не меняются. И в этом выпуске 📺 была поднята важная вечная тема про продвижение своей игры.

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

💡 В подкасте часто упоминается термин USP, но ни разу не раскрывается. Исправляю это упущение:

Unique Selling Proposition — это то, что выделяет игру на фоне конкурентов и привлекает внимание целевой аудитории.


💬 Мне понравилось несколько цитат:
Хочешь результат — научись его считать.

Геймдев — это бизнес. А бизнес должен зарабатывать деньги.

На первом проекте вы зарабатываете опыт, шишки и какое-то количество седины.


🤘 В общем, всё как писали классики:
Sad but True


🔗 Страница выпуска со всеми площадками для прослушивания
————————————
#unity #gamedev #development #marketing #promotion #games #геймдев #разработка #маркетинг #продвижение #игры #рекомендация #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
👩‍💻 Roslyn 👩‍💻
Уровень материала: 🐓 #senior

На этой неделе выходил очень полезный ролик 📱 про использование Roslyn в связке с Unity. Кто интересуется и следит за C#, уже наверняка знакомы с Roslyn. А в инфополе Unity Roslyn упоминается не часто, разве что в беседах между разработчиками. Так что это весьма редкий контент про весьма полезный инструмент.

Roslyn 📱 — это компилятор для C# и Visual Basic, предоставляющий API для компиляции, рефакторинга, статического анализа и генерации кода.

Он позволяет производить поиск потенциальных ошибок, нарушений стиля или уязвимостей. Автоматизировано исправлять найденные проблемы в коде. А также генерировать всякий boilerplate, что бывает часто нужно, например, при разработке на ECS или при реализации DI (см. Pure DI 📱).

При этом все эти автоматизации можно привязать к пайплайнам в CI/CD и прогонять при мержах или сборках.

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

Можно даже написать простой кодоген "на коленке" из "строк и палок" как в этом видео 📱

Почему это не так удобно, как Roslyn, подробно и наглядно рассказано в классном докладе с DotNext 📱

Roslyn преобразует исходный код в синтаксическое дерево (Syntax Tree 📱), где каждый узел соответствует определённой синтаксической конструкции (класс, метод, выражение и т.д.).

Также Roslyn предоставляет доступ к семантической модели (Semantic Model 📱), которая позволяет анализировать типы данных, символы и контекст использования. Например, это позволяет искать ссылки на методы.
————————————
#unity #gamedev #development #roslyn #tool #compiler #analyse #геймдев #разработка #анализ #инструмент #рекомендация #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3🥴1
В видео из прошлого поста можно заметить также любопытный момент про специальные директории, которые игнорируются в Unity.

Т.е. при необходимости какие-то папки можно сделать "невидимыми" для движка. Как это сделать, можно посмотреть в документации 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
🧠 Для чего нужна База 🧠
Уровень материала: 🎓 #education

💬 К прошлому посту про «базу» поступил комментарий, ответ на который получился объёмным. Но, как мне показалось, важным. Я решил получившуюся мысль сохранить и дополнить.

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

Целенаправленная работа над своей «базой» позволяет приобрести на длинной дистанции неоспоримое преимущество перед теми, кто полагается только на «практический опыт».

📞 Решая конкретные проблемы, человек учится справляться именно с ними. Хорошо, если при этом он выстраивает логические связи, рефлексирует и углубляет знания с помощью внешних источников.

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

Но, как показывает практика преподавания и найма, на это способны не все. Многие мыслят конкретными кейсами и теряются, когда сталкиваются с нестандартными для них ситуациями. Или, боясь «ударить в грязь лицом», принимают импульсивные, неэффективные и опасные решения.

🍽 Казалось бы, нужно просто набрать больше кейсов. Но проблема в том, что научиться решать все проблемы на конкретных сценариях невозможно. Их миллионы, особенно в IT, где их количество растёт ежедневно вместе с развитием технологий и процессов.

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

👩‍💻 Например, для программистов важно алгоритмическое мышление. Оно учит не просто писать код под конкретную задачу, а видеть структуру проблемы. Разрабатывать системы, устойчивые к изменению входных данных и окружения. И, соответственно, менее подверженные появлению багов и недоработок.

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

⚙️ Инструменты и задачи меняются. А «база» — остаётся и помогает быстрее адаптироваться к изменениям.

🟣Что такое База
🟣База и Книги
—————————————
#development #разработка #обучение #образование #aks2dio
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👌1