Уровень материала: 🐥 #middle
Мне очень откликнулась статья с Хабра "Код, не боящийся изменений"
Также этот материал отлично дополнил мои заметки по Гибкой Архитектуре. Приправив этот мэшап своими комментариями, я собрал коллекцию карточек по теме. И ещё немного доработал свой конструктор карточек.
Дополнительные комментарии по теме
—————————————
#development #gamedev #architecture #карточки #рекомендация #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4❤1
Наследование и Композиция
Уровень материала: 🐣 #junior
Выявлять победителя не придётся — оба эти механизма важны и нужны. Хотя для игровой логики композиция и является более предпочтительной.
Но всё же важно правильно распознать сценарий применения, во избежание появления мутантов типа
Поделюсь своим конспектом по теме — может быть это поможет лучше понять различия.
💜 Дисклеймер: некоторые утверждения для разных языков программирования могут иметь разную степень актуальности.
Продолжение — в комментариях💜
—————————————
#development #architecture #aks2dio
Уровень материала: 🐣 #junior
Выявлять победителя не придётся — оба эти механизма важны и нужны. Хотя для игровой логики композиция и является более предпочтительной.
Но всё же важно правильно распознать сценарий применения, во избежание появления мутантов типа
FlyingEnemyWithShielвButWithoutGun.Поделюсь своим конспектом по теме — может быть это поможет лучше понять различия.
Продолжение — в комментариях
—————————————
#development #architecture #aks2dio
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤1
Уязвимость в Unity, о которой ты уже наверняка в курсе
Уровень материала: 📣 #news
Под конец рабочей недели в пятницу Unity устроили суету, разослав письма, где сообщили о найденной древней масштабной уязвимости. И всечайники тематические чатики обсуждали это все выходные. Суета подулеглась — время закрыть и свой гештальт.
💜 💜 💜 💜 💜
Стоит ли уделять этому внимание: Если узнал об этом только сейчас, то можно просто забить.
В остальном, предпринять действия стоит, но чем меньше аудитория, тем меньше поводов для спешки.
Для большинства запланировать апдейт в ближайший релиз будет более чем достаточно.
💜 💜 💜 💜 💜
Уязвимость затрагивает 4 платформы: Android, Windows, Linux и macOS.
И все билды, сделанные на Unity версии 2017.1 и выше, в т.ч. на Unity 6.
💜 💜 💜 💜 💜
Чем опасна уязвимость (перевод источника):
Если раньше всё это время жили-не тужили, то теперь об этой уязвимости знают все, и диванные хакеры могут начать себя развлекать 🎩
Но и современные ОС довольно сильно ограничивают дозволенное для приложений.
💜 💜 💜 💜 💜
Принятые меры:
Valve, Meta, Microsoft и Google уже подсуетились и обновили свои площадки и платформы для подавления уязвимости.
А Unity выкатили обновления для всех своих LTS, начиная с 2019 (2018 и 2017 пока в пролёте). И опубликовали Patcher, который позволяет залатать билд без пересборки (но перевыложить на площадки придётся).
Подробности - в официальном гайде📱
—————————————
#development #gamedev #unity #issue
Уровень материала: 📣 #news
Под конец рабочей недели в пятницу Unity устроили суету, разослав письма, где сообщили о найденной древней масштабной уязвимости. И все
Стоит ли уделять этому внимание: Если узнал об этом только сейчас, то можно просто забить.
В остальном, предпринять действия стоит, но чем меньше аудитория, тем меньше поводов для спешки.
Для большинства запланировать апдейт в ближайший релиз будет более чем достаточно.
Уязвимость затрагивает 4 платформы: Android, Windows, Linux и macOS.
И все билды, сделанные на Unity версии 2017.1 и выше, в т.ч. на Unity 6.
Чем опасна уязвимость (перевод источника):
Позволяет выполнять локальный код и получать доступ к конфиденциальной информации на устройствах, где запущены unity-приложения.
Выполнение кода ограничено уровнем привилегий уязвимого приложения.
Раскрытие информации ограничено информацией, доступной уязвимому приложению.
Если раньше всё это время жили-не тужили, то теперь об этой уязвимости знают все, и диванные хакеры могут начать себя развлекать 🎩
Но и современные ОС довольно сильно ограничивают дозволенное для приложений.
Принятые меры:
Valve, Meta, Microsoft и Google уже подсуетились и обновили свои площадки и платформы для подавления уязвимости.
А Unity выкатили обновления для всех своих LTS, начиная с 2019 (2018 и 2017 пока в пролёте). И опубликовали Patcher, который позволяет залатать билд без пересборки (но перевыложить на площадки придётся).
Подробности - в официальном гайде
—————————————
#development #gamedev #unity #issue
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
YouTube
Иван Белехов - Мультиплеер в играх и как его реализовать с UNIGINE (Лекции UNIGINE Open Air 2025)
Из лекции Ивана вы узнаете:
— Быстрый ввод в теорию сетей;
— TCP vs UDP: в чем разница и что выбрать;
— Как устроен обмен сообщениями: gRPC, yojimbo, valvesockets;
— Архитектура сетевого фреймворка на пальцах;
— Примеры на UNIGINE: шутер и стратегия в…
— Быстрый ввод в теорию сетей;
— TCP vs UDP: в чем разница и что выбрать;
— Как устроен обмен сообщениями: gRPC, yojimbo, valvesockets;
— Архитектура сетевого фреймворка на пальцах;
— Примеры на UNIGINE: шутер и стратегия в…
Рекомендация доклада по мультиплееру
Уровень материала: 🐥 #middle
📺 YouTube | 📺 VK
На Unigine в этом году был классный доклад про мультиплеер от Ивана Белехова, ex-разработчика World of Warships. Он успел пробежаться по передаче пакетов, обмену сообщениями, протоколам, NAT, топологиям, техникам для борьбы с задержками, оптимизации трафика, масштабированию и безопасности.
За час полноценно рассказать про мультиплеер что-то очень сложно. В прошлом году я тоже пробовал играть в эту игру (и проиграл). Мне тоже не удалось занять достаточный по времени слот на выступление — пришлось сильно торопиться и ужиматься.
📺 YouTube | 📺 VK
Моя ставка была на упрощение, доступность и объём. У Ивана доклад посложнее, техничнее и фундаментальнее. Без определённых знаний, возможно, будет не всё понятно, но слушается легко и приятно.
Подчеркну отдельные общие тезисы, которые я тоже разделяю:
⚫️ Мультиплеер заставляет программиста думать о чёткой архитектуре и данных, которые передаются между разными компьютерами, в отличие от синглплеера, где можно допускать упрощения.
⚫️ Мультиплеер открывает уникальные механики и социальные аспекты, недоступные в одиночных играх.
⚫️ Выбор архитектуры и техник — это всегда баланс между геймдизайном, производительностью, сложностью реализации и игровыми ощущениями. Решение зависит от конкретных требований проекта.
⚫️ Важно не столько предоставить честную синхронизацию, сколько заставить игроков поверить в то, что всё точно и корректно синхронизируется.
Замеченная ранее тенденция на повышение интереса к мультиплееру с течением времени находит всё большее подтверждение, в т.ч. среди вакансий. Радует, что эта тема освещается больше и чаще. Возможно, это поможет взрастить больше подготовленных разработчиков.
И рекомендую заглянуть в остальные доклады с прошедшего Unigine Open Air🎙
—————————————
#development #gamedev #architecture #network #netcode #multiplayer #рекомендация #видео #мультиплеер
Уровень материала: 🐥 #middle
На Unigine в этом году был классный доклад про мультиплеер от Ивана Белехова, ex-разработчика World of Warships. Он успел пробежаться по передаче пакетов, обмену сообщениями, протоколам, NAT, топологиям, техникам для борьбы с задержками, оптимизации трафика, масштабированию и безопасности.
За час полноценно рассказать про мультиплеер что-то очень сложно. В прошлом году я тоже пробовал играть в эту игру (и проиграл). Мне тоже не удалось занять достаточный по времени слот на выступление — пришлось сильно торопиться и ужиматься.
Моя ставка была на упрощение, доступность и объём. У Ивана доклад посложнее, техничнее и фундаментальнее. Без определённых знаний, возможно, будет не всё понятно, но слушается легко и приятно.
Подчеркну отдельные общие тезисы, которые я тоже разделяю:
Замеченная ранее тенденция на повышение интереса к мультиплееру с течением времени находит всё большее подтверждение, в т.ч. среди вакансий. Радует, что эта тема освещается больше и чаще. Возможно, это поможет взрастить больше подготовленных разработчиков.
И рекомендую заглянуть в остальные доклады с прошедшего Unigine Open Air
—————————————
#development #gamedev #architecture #network #netcode #multiplayer #рекомендация #видео #мультиплеер
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤1
Не Unity единым
Уровень материала: ☕️ #offtop
Разработчики Redis переиграли Unity и закрыли уязвимость аж 13-летней давности: CVE-2025-49844 с оценкой 9.9.
Уязвимость затрагивает все версии Redis. По некоторым оценкам в зоне риска около 330 000 экземпляров Redis, доступных из интернета.
При успешной атаке можно удалённо выполнять код с правами хоста, получив полный контроль над системой, украсть учетные данные, внедрить вредоносное ПО, шифровать данные, использовать машину для атак внутри инфраструктуры.
Но необходимо, чтобы атакующий уже имел аутентифицированный доступ к инстансу Redis. Поэтому всё не настолько страшно, как могло показаться на первый взгляд, но приятного всё равно мало.
Официальные рекомендации: ограничить сетевой доступ, включить обязательную аутентификацию, использовать минимальные права, отказаться по возможности от Lua-скриптов, которые и стали основными виновниками.
Облачная версия Redis уже обновлена. А пользователям self-hosted вариантов (всем привет) нужно провести обновление самостоятельно.
Официальная запись в блоге: Redis Blog
Уровень материала: ☕️ #offtop
Разработчики Redis переиграли Unity и закрыли уязвимость аж 13-летней давности: CVE-2025-49844 с оценкой 9.9.
Уязвимость затрагивает все версии Redis. По некоторым оценкам в зоне риска около 330 000 экземпляров Redis, доступных из интернета.
При успешной атаке можно удалённо выполнять код с правами хоста, получив полный контроль над системой, украсть учетные данные, внедрить вредоносное ПО, шифровать данные, использовать машину для атак внутри инфраструктуры.
Но необходимо, чтобы атакующий уже имел аутентифицированный доступ к инстансу Redis. Поэтому всё не настолько страшно, как могло показаться на первый взгляд, но приятного всё равно мало.
Официальные рекомендации: ограничить сетевой доступ, включить обязательную аутентификацию, использовать минимальные права, отказаться по возможности от Lua-скриптов, которые и стали основными виновниками.
Облачная версия Redis уже обновлена. А пользователям self-hosted вариантов (всем привет) нужно провести обновление самостоятельно.
Официальная запись в блоге: Redis Blog
🔥5👍2
Подборка GameDev и IT мероприятий, особенно региональных, которые встретил в чатах, группах и просто в сети.
Ещё больше GameDev-событий — в Геймдев Афише
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2👍1
Ретро-гейминг в студию
Уровень материала: ☕️ #offtop
Небольшой оффтоп. Встретил любопытный сайт, где можно поиграть в бесконечную кучу ретро-игр от 34 различных приставок прямо в браузере и бесплатно.
Управление не самое удобное, но чтобы побаловаться и поностальгировать, кажется, что достаточно😬
📎 Ссылка: https://gam.onl/
Уровень материала: ☕️ #offtop
Небольшой оффтоп. Встретил любопытный сайт, где можно поиграть в бесконечную кучу ретро-игр от 34 различных приставок прямо в браузере и бесплатно.
Управление не самое удобное, но чтобы побаловаться и поностальгировать, кажется, что достаточно
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍1
Telegram
Евгений Подтеребков | Управление ИТ проектами
Как нанять разработчиков, которые сначала думают и проектируют, а потом пишут код
Продолжение предыдущего поста
Идеальные разработчики - это те, кто тратит львиную долю усилий на понимание задачи, формулирует ограничения, продумывает архитектуру и только…
Продолжение предыдущего поста
Идеальные разработчики - это те, кто тратит львиную долю усилий на понимание задачи, формулирует ограничения, продумывает архитектуру и только…
Думать - не вредно
Уровень материала: 🦉 #management
Интересная тема про поиск и удержание "идеальных разработчиков", которые сначала думают, проектируют, оценивают и только потом пишут код.
О том, как их искать, собеседовать, удерживать и выстраивать культуру работы — про это всё в этом содержательном двухсерийном посте.
Проведена наглядная аналогия с работой LLM. Описаны требуемые навыки и умения, способы их проверки, необходимость уделения времени на мыслительную работу. И упомянуто много полезных терминов.
Материал полезен как и с точки зрения менеджмента, так и с точки зрения технического развития, чтобы понимать, на прокачку каких навыков тоже стоит выделять время.
Уровень материала: 🦉 #management
Интересная тема про поиск и удержание "идеальных разработчиков", которые сначала думают, проектируют, оценивают и только потом пишут код.
О том, как их искать, собеседовать, удерживать и выстраивать культуру работы — про это всё в этом содержательном двухсерийном посте.
Проведена наглядная аналогия с работой LLM. Описаны требуемые навыки и умения, способы их проверки, необходимость уделения времени на мыслительную работу. И упомянуто много полезных терминов.
Материал полезен как и с точки зрения менеджмента, так и с точки зрения технического развития, чтобы понимать, на прокачку каких навыков тоже стоит выделять время.
🔥5
Начнём рабочую недельку с подборки увеселительных мемов про игры, GameDev и IT прямиком из рабочих чатов и ваших ответов к предыдущим подборкам.
Картинки — в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤣4👍2🔥2
Telegram
aks2dio | Unity и геймдев
Дополнения по Гибкой Архитектуре
Тема про Гибкую Архитектуру не оставила многих равнодушными и породила немного обсуждений и философии.
Собрал свои дополнительные комментарии и пояснения к прошлой публикации вместе. Оставляю для истории — возможно, ещё пригодится.
Продолжение — в комментариях💬
————————————
#development #architecture #ask2dio
Тема про Гибкую Архитектуру не оставила многих равнодушными и породила немного обсуждений и философии.
Собрал свои дополнительные комментарии и пояснения к прошлой публикации вместе. Оставляю для истории — возможно, ещё пригодится.
Продолжение — в комментариях
————————————
#development #architecture #ask2dio
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥5
Telegram
aks2dio | Unity и геймдев
Update по AI-плагинам для Rider
Уровень материала: 🤖 #ai
1️⃣ Вышел Junie для Rider — это полноценный агент. В бете. Включён в мою подписку Jetbrains AI Pro. Оно уже работает. И весьма неплохо. Т.к. он мне достаётся "даром" к моей подписке Rider, то буду…
Уровень материала: 🤖 #ai
1️⃣ Вышел Junie для Rider — это полноценный агент. В бете. Включён в мою подписку Jetbrains AI Pro. Оно уже работает. И весьма неплохо. Т.к. он мне достаётся "даром" к моей подписке Rider, то буду…
AI Updates
Уровень материала:🦆 #ai
Несколько небольших обновлений в продолжение темы с AI-плагинами.
💜 Нашёл ещё один AI-плагин
💜 Один месяц с Junie
💜 Jetbrains AI прокачался
💜 AI IDE -> AI CLI -> ADE
————————
#unity #gamedev #development #ai #llm #agent #tool #ии #news
Уровень материала:
Несколько небольших обновлений в продолжение темы с AI-плагинами.
————————
#unity #gamedev #development #ai #llm #agent #tool #ии #news
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Способ хранения настроек своих тулов в Unity
Уровень материала: 🐣 #junior
Для различных редакторных тулов внутри Unity часто требуется сохранять какие-то настройки, промежуточные состояния и выбранные опции. Где-то временно, где-то надолго, где-то чтобы данные были общими для всех в репозитории, а где-то только локально на конкретном устройстве.
Часто для этого используют
Но что, если нужно сохранить какую-то мелочь, которая не должна попасть в VCS и которая нужна только на некоторое время?
Казалось бы, для этого могли бы подойти
Продолжение — в комментариях💬
〰️ 〰️ 〰️ 〰️ 〰️ 〰️
#gamedev #unity #development #editor #save #tool
Уровень материала: 🐣 #junior
Для различных редакторных тулов внутри Unity часто требуется сохранять какие-то настройки, промежуточные состояния и выбранные опции. Где-то временно, где-то надолго, где-то чтобы данные были общими для всех в репозитории, а где-то только локально на конкретном устройстве.
Часто для этого используют
ScriptableObject'ы. Но тогда нужно создавать объект в проекте, следить за его наличием, хранить где-то в файловой системе, добавлять в Git или в .gitignore (или иные варианты VCS). То же самое относится к другим сериализованным форматам данных.Но что, если нужно сохранить какую-то мелочь, которая не должна попасть в VCS и которая нужна только на некоторое время?
Казалось бы, для этого могли бы подойти
PlayerPrefs. Однако PlayerPrefs созданы для игровых данных. Если игра активно использует этот механизм, есть риск из редактора случайно нарушить целостность игровых данных.Продолжение — в комментариях
#gamedev #unity #development #editor #save #tool
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤔2🔥1
YouTube
ИИ-агент пишет код без ошибок. Как?
t.me/elkornacio
В этом видео мы разберём 5 главных характеристик, на которые надо обращать внимание при постановке задач ИИ-агентам. Грамотное их использование поможет снизить количество проблем при разработке с ИИ.
00:00 Введение — почему одни ускоряются…
В этом видео мы разберём 5 главных характеристик, на которые надо обращать внимание при постановке задач ИИ-агентам. Грамотное их использование поможет снизить количество проблем при разработке с ИИ.
00:00 Введение — почему одни ускоряются…
Передача задачи AI-агенту
Уровень материала:🦆 #ai
Интересное видео📱 про особенности передачи задач для исполнения AI-агенту.
Там подробно и с примерами про то, когда что-то можно поручить машине, а что не стоит. Здесь очень тезисно оставлю рассмотренные в материале критерии, с которыми я полностью согласен.
〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️
🍳 Основные принципы 🗑️
➡️ Эффективность использования ИИ-агентов зависит от умения правильно ставить задачи.
➡️ Успех в работе с ИИ-агентами приходит с практикой (~80 часов).
➡️ Ключевой элемент — предварительный анализ задачи.
〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️ 〰️
🍳 Критерии 🗑️
1️⃣ Уникальность задачи
Что оценивает: насколько задача соответствует типичному паттерну, который ИИ-агент уже много раз видел.
Решение: Если задача нетипична, декомпозируйте на более типичные.
2️⃣ Глубина погружения в код
Что оценивает: сколько контекста должен изучить ИИ-агент для выполнения задачи.
Решение: Сужайте контекст и разбивайте задачу на последовательные ограниченные этапы.
3️⃣ Знания, которых нет в кодовой базе
Что оценивает: требует ли задача знаний о предметной области, которые не отражены напрямую в коде.
Решение: Важные нюансы предметной области — в промт или глобальные правила. Мысленно ставьте себя на место ИИ и определяйте, какая информация нужна для решения задачи.
4️⃣ Количество мест для изменений
Что оценивает: сколько файлов и участков кода нужно будет изменить для решения задачи.
Решение: Декомпозируйте. Если одно изменение влечёт много правок — сделайте сами.
5️⃣ Неявные состояния системы
Что оценивает: сколько скрытых состояний и их комбинаций должен учитывать ИИ-агент.
Решение: Если много неявных состояний, лучше писать код вручную.
Уровень материала:
Интересное видео
Там подробно и с примерами про то, когда что-то можно поручить машине, а что не стоит. Здесь очень тезисно оставлю рассмотренные в материале критерии, с которыми я полностью согласен.
Что оценивает: насколько задача соответствует типичному паттерну, который ИИ-агент уже много раз видел.
Решение: Если задача нетипична, декомпозируйте на более типичные.
Что оценивает: сколько контекста должен изучить ИИ-агент для выполнения задачи.
Решение: Сужайте контекст и разбивайте задачу на последовательные ограниченные этапы.
Что оценивает: требует ли задача знаний о предметной области, которые не отражены напрямую в коде.
Решение: Важные нюансы предметной области — в промт или глобальные правила. Мысленно ставьте себя на место ИИ и определяйте, какая информация нужна для решения задачи.
Что оценивает: сколько файлов и участков кода нужно будет изменить для решения задачи.
Решение: Декомпозируйте. Если одно изменение влечёт много правок — сделайте сами.
Что оценивает: сколько скрытых состояний и их комбинаций должен учитывать ИИ-агент.
Решение: Если много неявных состояний, лучше писать код вручную.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
VK Видео
Для чего в твоей игре нужен фан | Владимир Ковтун (NullFall) | GP Conf 2025
На GP Conf 2025 Владимир разбирает теорию игрового удовольствия (fun) и то, как создавать по-настоящему увлекательные проекты. В этом выступлении вы узнаете: - что такое «фан» и почему «правильные» игры часто проваливаются; - формула фана: действие → результат…
Многие команды разработчиков сталкиваются с тем, что их игры, несмотря на следование всем канонам геймдизайна, не могут удержать игроков. Игры выглядят аккуратно, но в них отсутствует ключевой элемент — фан.
Именно об этом доклад Владимира Ковтуна с GP Conf 2025.
(пока что лучший из опубликованных)
Полагаю, что для профессиональных геймдизайнеров это не будет откровением, но вот их коллегам и игроделам-любителям есть, что взять на вооружение.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2