Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «GameDev: разработка игр»

GameDev: разработка игр
2.1K
16.3K
185
55
13.8K
Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов

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

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

Другие наши проекты: https://tprg.ru/media
Подписчики
Всего
7 620
Сегодня
+3
Просмотров на пост
Всего
733
ER
Общий
9.63%
Суточный
7.34%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 2 132 постов
Смотреть все посты
Пост от 26.10.2026 16:13
353
0
0
Объекты совпали на экране, но столкновения между ними нет

В Defold это возможно, если объекты принадлежат разным мирам, загруженным через collection proxy. У каждого такого мира собственная физика. Коллизии, триггеры и ray casts работают только внутри него, даже при одинаковых координатах объектов из двух миров.

Здесь важна разница двух компонентов:

Collection factory создаёт экземпляры содержимого коллекции в текущем мире.
Collection proxy загружает отдельный мир. После load или async_load приходит proxy_loaded, затем можно выполнить init и enable.

Миры могут обмениваться сообщениями по полному URL объекта. А напрямую вызвать go.get_position для объекта из другого мира нельзя. Для передачи ввода в загруженную коллекцию объект с proxy должен приобрести ввод.

Руководство Defold отмечает и расход памяти: новый мир обходится заметно дороже обычного экземпляра иерархии. Для множества однотипных объектов уместнее collection factory, а proxy полезен там, где нужна именно отдельная коллекция со своим миром.
Пост от 26.10.2026 10:05
163
0
0
A* можно подсказать, где на карте стены

Эвристика расстояния видит близкую цель, но не знает, что дорога к ней начинается с обхода в другую сторону. В разборе Red Blob Games Амит Патель показывает другой источник оценки: заранее рассчитанные расстояния до ориентиров, или landmarks.

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

h(B, X) = |d(B, L) - d(X, L)|

Можно взять максимум по нескольким ориентирам и допустимой исходной эвристике. Сам A* менять не нужно. Расчёт используется повторно в запросах с разными целями, но требует памяти: число ориентиров × число узлов × размер числа. Удачное расположение ориентиров тоже зависит от карты.

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

На странице есть интерактивные карты, в том числе лабиринты и уровни Cogmind. Материал датирован июлем 2026 года, и автор прямо отмечает, что ещё не применял метод в реальном проекте. По демо можно изучить поведение эвристики, но производственного замера здесь нет.
❤ 1
Пост от 25.10.2026 16:05
279
0
0
Музыка продолжает играть, но регулятор её громкости больше не действует? Если перед этим переименовали аудиошину в Godot, проверьте, куда теперь направлен AudioStreamPlayer.

По описанию Audio buses в документации 4.5, player хранит имя шины. Перестановка шин связь сохраняет, а переименование её теряет. Тогда звук направляется в Master. После смены имени нужно заново проверить назначение у проигрывателей.

Отсутствие эффекта в Web-сборке может иметь другую причину. Режим Sample не поддерживает эффекты шин, для них нужен Stream. Если потоки не включены, у этого режима выше задержка. Сами эффекты применяются в порядке их расположения на шине, а молчащие несколько секунд шины и эффекты Godot отключает автоматически.

Страница помечена Work in progress: её ещё не обновили для 4.5, и описание может быть устаревшим. Это ориентир для диагностики, поведение нужно проверить в версии своего проекта.
Пост от 25.10.2026 09:48
45
0
1
У sensor в Box2D два участника

Для зоны обнаружения без физического толчка в Box2D используется sensor. На одном body можно совместить обычные формы и сенсорные. Но одного isSensor = true недостаточно, чтобы получать события.

В документации Box2D 3.2.0 флаг enableSensorEvents по умолчанию выключен. Включить его нужно у обеих участвующих форм, включая обычную форму, входящую в сенсор.

Дальше порядок такой: выполнить b2World_Step, получить b2World_GetSensorEvents, обработать массивы begin и end. Событие end может прийти из-за уничтожения формы, поэтому перед обращением к ней проверьте ID через b2Shape_IsValid.

Ещё две детали из официального руководства. Сенсорная форма может вносить вклад в массу, для исключения этого вклада задают нулевую плотность. А при быстром движении и сенсора, и другой формы надёжные события перекрытия не гарантированы. Для такого случая автор рекомендует ray cast или shape cast.

Проверяйте версию своего физического движка: эти флаги и поведение относятся к Box2D 3.2.0, их нельзя автоматически переносить на 2.x или любой встроенный порт.
❤ 1
Пост от 24.10.2026 16:03
147
0
1
Сейв в облаке ещё должен попасть в нужную папку

Для Steam Auto-Cloud важны не только маски файлов, но и соответствие путей между ОС. В актуальной документации Valve у нового Root Path значение OS Restriction по умолчанию — Cross-Platform. Valve советует оставить его даже игре, которая пока выходит на одной платформе. Привязка к отдельной ОС ограничит дальнейшую синхронизацию этих файлов.

Если сохранения в Windows, macOS и Linux лежат в разных каталогах, настройте Root Overrides. Они сопоставляют исходный путь с расположением файлов на другой ОС. У исходного Root для этого должен стоять Cross-Platform.

Сами сейвы стоит разделять по пользователям Steam. А настройки графики и другие параметры конкретной машины лучше не синхронизировать вместе с прогрессом.

Auto-Cloud переносит выбранные файлы перед сессией и после неё. Совместимость формата сейва между сборками остаётся задачей игры. Dynamic Cloud Sync, позволяющая получать изменения во время сессии, требует отдельной обработки и не включается в игру одной настройкой путей.
Пост от 24.10.2026 11:11
166
15
1
Субботний скриншотник! Принесите в комментарии кусочек своей игры: скриншот, гифку, видео, демку или ссылку. Можно показать и свой канал.

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

@make_game
❤ 3
Пост от 23.10.2026 15:58
161
0
3
Размер агента меняет navmesh

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

Четыре параметра задают эту разницу:

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

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

Введение Recast Navigation отдельно напоминает: navmesh упрощает геометрию для поиска пути. Полученный коридор полигонов уточняется в маршрут через string pulling. Ни сетка, ни этот маршрут не заменяют геометрию коллизий или сплайн анимации.
🔥 1
Смотреть все посты