Как масса влияет на бросок шара в Unity
Шар запускается вперёд, сталкивается с кеглей и почти останавливается. В учебной сцене причина может быть простой: у шара и кеглей одинаковая масса.
В разборе боулинга на Unity бросок выполняется через Rigidbody.AddForce с ForceMode.Impulse. Импульс применяется сразу и учитывает массу: более тяжёлому шару для той же скорости нужен больший импульс.
Кеглю собирают из Capsule Collider и небольшого Box Collider у основания. Модель остаётся дочерним объектом, физические компоненты размещаются на родительском. UI-кнопка вызывает публичный метод броска. На этом примере удобно проверить соотношение масс и форму коллайдеров до настройки сложной игровой физики.
Шар запускается вперёд, сталкивается с кеглей и почти останавливается. В учебной сцене причина может быть простой: у шара и кеглей одинаковая масса.
В разборе боулинга на Unity бросок выполняется через Rigidbody.AddForce с ForceMode.Impulse. Импульс применяется сразу и учитывает массу: более тяжёлому шару для той же скорости нужен больший импульс.
Кеглю собирают из Capsule Collider и небольшого Box Collider у основания. Модель остаётся дочерним объектом, физические компоненты размещаются на родительском. UI-кнопка вызывает публичный метод броска. На этом примере удобно проверить соотношение масс и форму коллайдеров до настройки сложной игровой физики.
Как уложить замысел игры в одну страницу
В большом дизайн-документе легко потерять основной цикл: что игрок делает снова и снова и ради чего возвращается к этим действиям.
One-page GDD помогает сначала собрать общую картину. В коротком документе связываются основной игровой цикл, составляющие его механики и особенность, по которой проект будет узнаваем.
Пример такого GDD показывает подход к организации этих элементов и возможность позже развернуть документ в подробный.
Для собственного прототипа можно начать с цепочки действий игрока и отметить, какая механика меняет привычный опыт. Если связи между действиями пока неясны, их стоит проверить в прототипе перед детализацией уровней и контента.
В большом дизайн-документе легко потерять основной цикл: что игрок делает снова и снова и ради чего возвращается к этим действиям.
One-page GDD помогает сначала собрать общую картину. В коротком документе связываются основной игровой цикл, составляющие его механики и особенность, по которой проект будет узнаваем.
Пример такого GDD показывает подход к организации этих элементов и возможность позже развернуть документ в подробный.
Для собственного прототипа можно начать с цепочки действий игрока и отметить, какая механика меняет привычный опыт. Если связи между действиями пока неясны, их стоит проверить в прототипе перед детализацией уровней и контента.
✍2
Как Godot переименовывает символы с учётом контекста
Переменная называется speed в нескольких методах. Простая замена текста затронет все совпадения, включая комментарии и строки, хотя изменить нужно только одну переменную.
В Godot 4.8 dev 7 появился инструмент переименования символов. Он учитывает контекст: различает идентификаторы классов, локальные переменные с одинаковыми именами, строки и комментарии.
В разборе предварительной сборки показаны примеры такого рефакторинга. Функция пока экспериментальная и требует отдельного включения.
Это возможность для проверки на копии проекта: переименовать символ и просмотреть изменения во всех затронутых скриптах. Godot 4.8 dev 7 пока остаётся сборкой для тестирования.
Переменная называется speed в нескольких методах. Простая замена текста затронет все совпадения, включая комментарии и строки, хотя изменить нужно только одну переменную.
В Godot 4.8 dev 7 появился инструмент переименования символов. Он учитывает контекст: различает идентификаторы классов, локальные переменные с одинаковыми именами, строки и комментарии.
В разборе предварительной сборки показаны примеры такого рефакторинга. Функция пока экспериментальная и требует отдельного включения.
Это возможность для проверки на копии проекта: переименовать символ и просмотреть изменения во всех затронутых скриптах. Godot 4.8 dev 7 пока остаётся сборкой для тестирования.
❤2
Как перейти с EDM4U на менеджер зависимостей Unity
Реклама, аналитика и покупки приносят в мобильную игру собственные Android- и iOS-библиотеки. Их версии могут конфликтовать ещё до запуска приложения.
Unity выпустила официальный External Dependency Manager через UPM. Он основан на EDM4U и читает те же XML-файлы зависимостей. Пакет бесплатен для Unity 2022.3 и новее; Google объявила deprecation EDM4U на 26 октября.
В инструкции перехода предлагают установить EDM и выбрать активный менеджер. Если EDM4U пришёл вместе со сторонним SDK, его советуют оставить до обновления этого SDK. После переключения стоит проверить сборки обеих платформ и разрешение нативных зависимостей.
Реклама, аналитика и покупки приносят в мобильную игру собственные Android- и iOS-библиотеки. Их версии могут конфликтовать ещё до запуска приложения.
Unity выпустила официальный External Dependency Manager через UPM. Он основан на EDM4U и читает те же XML-файлы зависимостей. Пакет бесплатен для Unity 2022.3 и новее; Google объявила deprecation EDM4U на 26 октября.
В инструкции перехода предлагают установить EDM и выбрать активный менеджер. Если EDM4U пришёл вместе со сторонним SDK, его советуют оставить до обновления этого SDK. После переключения стоит проверить сборки обеих платформ и разрешение нативных зависимостей.
Как начислять очки за победу над врагом в Godot
Враг может исчезнуть после смерти, телепортироваться или выйти из боя. Если начислять очки при любом удалении узла, игрок получит награду и за события, к которым не причастен.
В разборе системы очков награда привязана к сигналу depleted ресурса здоровья. Сигнал вызывает метод отдельного ScorePoint-компонента, который уже обновляет общий счёт.
Объекты получают компонент с нужным количеством очков. Работа с Autoload-счётчиком сосредоточена в одном месте: дверям, противникам и предметам не приходится напрямую вызывать singleton.
При добавлении нового способа исчезновения врага важно проверить, какое событие запускает награду. В этом примере условие — исчерпание здоровья.
Враг может исчезнуть после смерти, телепортироваться или выйти из боя. Если начислять очки при любом удалении узла, игрок получит награду и за события, к которым не причастен.
В разборе системы очков награда привязана к сигналу depleted ресурса здоровья. Сигнал вызывает метод отдельного ScorePoint-компонента, который уже обновляет общий счёт.
Объекты получают компонент с нужным количеством очков. Работа с Autoload-счётчиком сосредоточена в одном месте: дверям, противникам и предметам не приходится напрямую вызывать singleton.
При добавлении нового способа исчезновения врага важно проверить, какое событие запускает награду. В этом примере условие — исчерпание здоровья.
❤2
Forwarded from Нейроканал
Вспомните последний раз, когда ИИ сделал для вас рабочий результат: код, тесты, документацию или требования. Как вы его проверяли?
Anonymous Poll
15%
Внимательно разобрал сам
36%
Проверил на практике: тесты, запуск, реальные данные
26%
И разобрал, и проверил на практике
2%
Отдал на ревью коллеге
13%
Не проверял, сразу использовал
6%
Не было такого случая или не помню
3%
Другое (напишу в комментариях)
👎2
Forwarded from Нейроканал
Showboat и Rodney помогают показать работу ИИ-агента
Саймон Уиллисон собирает демонстрации кода с помощью двух своих инструментов. Showboat выполняет команды и записывает их вывод в документ. Rodney управляет Chrome из командной строки и делает скриншоты интерфейса.
Эту команду автор предлагает дать агенту: в справке есть всё необходимое, чтобы тот создал документ с демонстрацией новой функции.
Уиллисон замечал и обход механизма: агент напрямую правит текст отчёта. Тогда записанный вывод может расходиться с реальным запуском. Содержимое демонстрации тоже требует проверки.
#ии #инструменты
Саймон Уиллисон собирает демонстрации кода с помощью двух своих инструментов. Showboat выполняет команды и записывает их вывод в документ. Rodney управляет Chrome из командной строки и делает скриншоты интерфейса.
uvx showboat --helpЭту команду автор предлагает дать агенту: в справке есть всё необходимое, чтобы тот создал документ с демонстрацией новой функции.
Уиллисон замечал и обход механизма: агент напрямую правит текст отчёта. Тогда записанный вывод может расходиться с реальным запуском. Содержимое демонстрации тоже требует проверки.
#ии #инструменты
💔2
Как подготовить шейдеры для загрузки вместе с игрой
Первый запуск игры может уходить на компиляцию шейдеров. Advanced Shader Delivery позволяет заранее подготовить базу скомпилированных шейдеров и доставить её через поддерживаемую витрину.
Разработчик формирует SODB с состояниями конвейера и DXIL. Затем компилятор превращает её в PSDB для нужных GPU и драйверов.
Инструмент AMD и схема интеграции позволяют собрать PSDB, зарегистрировать её локально и проверить результат. Для работы компилятора достаточно x64 Windows-компьютера без GPU.
Поддержка ограничена конкретными конфигурациями: у пользователя требуется Windows 11 24H2 или новее, а в описанной схеме доставка идёт через Xbox PC app. Покрытие версий драйверов нужно учитывать при подготовке баз.
Первый запуск игры может уходить на компиляцию шейдеров. Advanced Shader Delivery позволяет заранее подготовить базу скомпилированных шейдеров и доставить её через поддерживаемую витрину.
Разработчик формирует SODB с состояниями конвейера и DXIL. Затем компилятор превращает её в PSDB для нужных GPU и драйверов.
Инструмент AMD и схема интеграции позволяют собрать PSDB, зарегистрировать её локально и проверить результат. Для работы компилятора достаточно x64 Windows-компьютера без GPU.
Поддержка ограничена конкретными конфигурациями: у пользователя требуется Windows 11 24H2 или новее, а в описанной схеме доставка идёт через Xbox PC app. Покрытие версий драйверов нужно учитывать при подготовке баз.
❤1
Как задать редкость и количество лута в Godot
После победы над врагом нужно решить две вещи: сколько предметов появится и какие именно. Если смешать эти решения в одном условии, таблицу дропа будет труднее менять.
В разборе системы лута RandomRangeCounter задаёт число попыток, RandomScene выбирает сцену по весам, Spawner2D создаёт предмет, а ArcDistribute2D размещает его рядом с источником.
В примере железо, кобальт и золото имеют шансы 60%, 35% и 5% на каждый бросок. Попытки независимы: один предмет может выпасть несколько раз, а при нулевом количестве попыток дропа не будет.
Компоненты соединяются сигналами; запуск привязан к исчерпанию здоровья врага или разрушаемого объекта.
После победы над врагом нужно решить две вещи: сколько предметов появится и какие именно. Если смешать эти решения в одном условии, таблицу дропа будет труднее менять.
В разборе системы лута RandomRangeCounter задаёт число попыток, RandomScene выбирает сцену по весам, Spawner2D создаёт предмет, а ArcDistribute2D размещает его рядом с источником.
В примере железо, кобальт и золото имеют шансы 60%, 35% и 5% на каждый бросок. Попытки независимы: один предмет может выпасть несколько раз, а при нулевом количестве попыток дропа не будет.
Компоненты соединяются сигналами; запуск привязан к исчерпанию здоровья врага или разрушаемого объекта.
❤3
Как перенести тактильную механику на геймпад
В Scritchy Scratchy игрок стирает покрытие билета. Мышь и палец подходят для этого естественно; управление стиком потребовало заново продумать движение и привязку к области билета.
В разборе переноса игры между платформами команда описывает итерации управления, вибрации и интерфейса. На Android силу вибрации пришлось проверять на разных устройствах: одинаковая настройка давала слишком сильный отклик на части телефонов.
Разработчики сохранили один Unity-проект, чтобы исправления и контент попадали во все сборки. Слой между Input System и игровой логикой скрывает детали устройств. Такой подход всё равно требует проверки самой механики на каждом способе ввода.
В Scritchy Scratchy игрок стирает покрытие билета. Мышь и палец подходят для этого естественно; управление стиком потребовало заново продумать движение и привязку к области билета.
В разборе переноса игры между платформами команда описывает итерации управления, вибрации и интерфейса. На Android силу вибрации пришлось проверять на разных устройствах: одинаковая настройка давала слишком сильный отклик на части телефонов.
Разработчики сохранили один Unity-проект, чтобы исправления и контент попадали во все сборки. Слой между Input System и игровой логикой скрывает детали устройств. Такой подход всё равно требует проверки самой механики на каждом способе ввода.
Forwarded from Типичный программист
🧑💻 Какие навыки помогают вам в разработке в 2026 году?
Что вы чаще используете в работе? В каких задачах помогает ИИ, а где проще справиться самостоятельно?
Мы решили собрать портрет современного разработчика — и приглашаем вас поделиться своим опытом. Расскажите, какие навыки вам пригодились и как вы используете ИИ. Если обходите его стороной, нам тоже интересно узнать почему.
Опрос анонимный и займёт около 5 минут. Результаты опубликуем в общем большом исследовании.
👉 Пройти опрос
Что вы чаще используете в работе? В каких задачах помогает ИИ, а где проще справиться самостоятельно?
Мы решили собрать портрет современного разработчика — и приглашаем вас поделиться своим опытом. Расскажите, какие навыки вам пригодились и как вы используете ИИ. Если обходите его стороной, нам тоже интересно узнать почему.
Опрос анонимный и займёт около 5 минут. Результаты опубликуем в общем большом исследовании.
👉 Пройти опрос