GameDev: разработка игр
7.63K subscribers
947 photos
203 videos
1 file
1.36K links
Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов

Разместить рекламу: @tproger_sales_bot

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Как масса влияет на бросок шара в Unity

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

В разборе боулинга на Unity бросок выполняется через Rigidbody.AddForce с ForceMode.Impulse. Импульс применяется сразу и учитывает массу: более тяжёлому шару для той же скорости нужен больший импульс.

Кеглю собирают из Capsule Collider и небольшого Box Collider у основания. Модель остаётся дочерним объектом, физические компоненты размещаются на родительском. UI-кнопка вызывает публичный метод броска. На этом примере удобно проверить соотношение масс и форму коллайдеров до настройки сложной игровой физики.
Как уложить замысел игры в одну страницу

В большом дизайн-документе легко потерять основной цикл: что игрок делает снова и снова и ради чего возвращается к этим действиям.

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

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

Для собственного прототипа можно начать с цепочки действий игрока и отметить, какая механика меняет привычный опыт. Если связи между действиями пока неясны, их стоит проверить в прототипе перед детализацией уровней и контента.
✍2
Как Godot переименовывает символы с учётом контекста

Переменная называется 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. После переключения стоит проверить сборки обеих платформ и разрешение нативных зависимостей.
Как начислять очки за победу над врагом в Godot

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

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

Объекты получают компонент с нужным количеством очков. Работа с Autoload-счётчиком сосредоточена в одном месте: дверям, противникам и предметам не приходится напрямую вызывать singleton.

При добавлении нового способа исчезновения врага важно проверить, какое событие запускает награду. В этом примере условие — исчерпание здоровья.
❤2
Forwarded from Нейроканал
Showboat и Rodney помогают показать работу ИИ-агента

Саймон Уиллисон собирает демонстрации кода с помощью двух своих инструментов. 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. Покрытие версий драйверов нужно учитывать при подготовке баз.
❤1
Как задать редкость и количество лута в Godot

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

В разборе системы лута RandomRangeCounter задаёт число попыток, RandomScene выбирает сцену по весам, Spawner2D создаёт предмет, а ArcDistribute2D размещает его рядом с источником.

В примере железо, кобальт и золото имеют шансы 60%, 35% и 5% на каждый бросок. Попытки независимы: один предмет может выпасть несколько раз, а при нулевом количестве попыток дропа не будет.

Компоненты соединяются сигналами; запуск привязан к исчерпанию здоровья врага или разрушаемого объекта.
❤3
Как перенести тактильную механику на геймпад

В Scritchy Scratchy игрок стирает покрытие билета. Мышь и палец подходят для этого естественно; управление стиком потребовало заново продумать движение и привязку к области билета.

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

Разработчики сохранили один Unity-проект, чтобы исправления и контент попадали во все сборки. Слой между Input System и игровой логикой скрывает детали устройств. Такой подход всё равно требует проверки самой механики на каждом способе ввода.
Forwarded from Типичный программист
🧑‍💻 Какие навыки помогают вам в разработке в 2026 году?

Что вы чаще используете в работе? В каких задачах помогает ИИ, а где проще справиться самостоятельно?

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

Опрос анонимный и займёт около 5 минут. Результаты опубликуем в общем большом исследовании.

👉 Пройти опрос