uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

GameDev: разработка игр

GameDev: разработка игр

Відкрити в Telegram

Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов Разместить рекламу: @tproger_sales_bot Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media

Показати більше
7 600
Підписники
-524 години
-157 днів
-3730 днів
Залучення підписників
лист '26
листопад '26
+16
в 0 каналах
жовтень '26
+79
в 0 каналах
Get PRO
вересень '26
+89
в 2 каналах
Get PRO
серпень '26
+71
в 1 каналах
Get PRO
липень '26
+80
в 6 каналах
Get PRO
червень '26
+83
в 2 каналах
Get PRO
травень '26
+85
в 1 каналах
Get PRO
квітень '26
+61
в 0 каналах
Get PRO
березень '26
+118
в 6 каналах
Get PRO
лютий '26
+92
в 1 каналах
Get PRO
січень '26
+90
в 6 каналах
Get PRO
грудень '25
+86
в 7 каналах
Get PRO
листопад '25
+133
в 4 каналах
Get PRO
жовтень '25
+97
в 0 каналах
Get PRO
вересень '25
+91
в 2 каналах
Get PRO
серпень '25
+115
в 1 каналах
Get PRO
липень '25
+82
в 0 каналах
Get PRO
червень '25
+78
в 2 каналах
Get PRO
травень '25
+90
в 1 каналах
Get PRO
квітень '25
+146
в 2 каналах
Get PRO
березень '25
+139
в 2 каналах
Get PRO
лютий '25
+90
в 1 каналах
Get PRO
січень '25
+72
в 0 каналах
Get PRO
грудень '24
+67
в 1 каналах
Get PRO
листопад '24
+71
в 2 каналах
Get PRO
жовтень '24
+74
в 1 каналах
Get PRO
вересень '24
+67
в 1 каналах
Get PRO
серпень '24
+72
в 2 каналах
Get PRO
липень '24
+71
в 1 каналах
Get PRO
червень '24
+63
в 2 каналах
Get PRO
травень '24
+60
в 1 каналах
Get PRO
квітень '24
+60
в 0 каналах
Get PRO
березень '24
+68
в 0 каналах
Get PRO
лютий '24
+49
в 0 каналах
Get PRO
січень '24
+69
в 0 каналах
Get PRO
грудень '23
+80
в 2 каналах
Get PRO
листопад '23
+54
в 0 каналах
Get PRO
жовтень '23
+72
в 2 каналах
Get PRO
вересень '23
+64
в 0 каналах
Get PRO
серпень '23
+80
в 0 каналах
Get PRO
липень '23
+63
в 0 каналах
Get PRO
червень '23
+64
в 0 каналах
Get PRO
травень '23
+62
в 0 каналах
Get PRO
квітень '23
+74
в 0 каналах
Get PRO
березень '23
+97
в 0 каналах
Get PRO
лютий '23
+103
в 0 каналах
Get PRO
січень '23
+170
в 0 каналах
Get PRO
грудень '22
+192
в 0 каналах
Get PRO
листопад '22
+212
в 0 каналах
Get PRO
жовтень '22
+158
в 0 каналах
Get PRO
вересень '22
+181
в 0 каналах
Get PRO
серпень '22
+235
в 0 каналах
Get PRO
липень '22
+297
в 0 каналах
Get PRO
червень '22
+206
в 0 каналах
Get PRO
травень '22
+272
в 0 каналах
Get PRO
квітень '22
+200
в 0 каналах
Get PRO
березень '22
+194
в 0 каналах
Get PRO
лютий '22
+299
в 0 каналах
Get PRO
січень '22
+138
в 0 каналах
Get PRO
грудень '21
+86
в 0 каналах
Get PRO
листопад '21
+92
в 0 каналах
Get PRO
жовтень '21
+129
в 0 каналах
Get PRO
вересень '21
+136
в 0 каналах
Get PRO
серпень '21
+476
в 0 каналах
Get PRO
липень '21
+674
в 0 каналах
Get PRO
червень '21
+491
в 0 каналах
Get PRO
травень '21
+4 020
в 0 каналах
Get PRO
квітень '21
+4 007
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
09 листопада0
08 листопада+4
07 листопада+2
06 листопада+2
05 листопада+2
04 листопада+3
03 листопада+1
02 листопада+2
01 листопада0
Дописи каналу
MeshCollider может использовать результат BakeMesh повторно Unity 6.0 при baking строит пространственные структуры для MeshCo
MeshCollider может использовать результат BakeMesh повторно Unity 6.0 при baking строит пространственные структуры для MeshCollider. Physics.BakeMesh позволяет подготовить их заранее, например в менее загруженный момент, но повторное использование требует совпадения условий. Документация Unity перечисляет условия повторного использования: — те же cookingOptions — трансформация допускает совместное использование меша — геометрия не изменилась после baking В Player для baking нужен включённый Read/Write у меша. Метод допускает работу в потоках и C# Job System, но одновременный baking одного и того же меша из нескольких потоков даёт неопределённое поведение.

2
Возвращённый объект можно взять снова ObjectPool в Unity 6.0 хранит освобождённые экземпляры в коллекции, устроенной как стек
Возвращённый объект можно взять снова ObjectPool в Unity 6.0 хранит освобождённые экземпляры в коллекции, устроенной как стек. Если пул пуст, Get создаёт экземпляр через переданный callback. Через Release объект возвращают для повторного использования. В справочнике Unity предусмотрены отдельные callback для создания, получения, возврата и уничтожения. Если пул уже хранит максимально допустимое число экземпляров, при возврате объекта вызывается callback уничтожения. Стек здесь описывает порядок хранения ссылок. Объекты не обязаны лежать подряд в памяти, и вызывать этот пул из фоновых потоков небезопасно.
569
3
16k × 16k — виртуальное разрешение Virtual Shadow Maps в описанной Epic реализации. Карта разбита на страницы по 128 × 128 пи
16k × 16k — виртуальное разрешение Virtual Shadow Maps в описанной Epic реализации. Карта разбита на страницы по 128 × 128 пикселей: память выделяется и страницы рисуются по мере необходимости для видимых пикселей. Готовые страницы кешируются между кадрами. Движение объекта или света может сделать кеш недействительным. Такие страницы придётся отрисовать заново. Справочник UE 5.8 указывает, что VSM рассчитаны на использование с Nanite. Для проекта или платформы без Nanite Epic считает VSM, вероятно, неподходящим выбором. Цифра 16k сама по себе не описывает ни занятый объём памяти, ни стоимость конкретного кадра.
664
4
GPU-узлы PCG требуют и CPU-времени В документации UE 5.8 GPU Processing для PCG помечен Beta. Epic советует осторожно использ
GPU-узлы PCG требуют и CPU-времени В документации UE 5.8 GPU Processing для PCG помечен Beta. Epic советует осторожно использовать его в релизе. GPU поддерживает небольшую часть узлов, включая Copy Points, Static Mesh Spawner и Custom HLSL. Произвольный граф целиком автоматически на GPU не переносится. Связанные GPU-узлы образуют Compute Graph. Подготовка его запуска и передача данных между CPU и GPU требуют CPU-времени. Поэтому Epic советует группировать поддерживаемые узлы и сокращать объём данных, передаваемых в каждый Compute Graph и обратно. Ускорение по сравнению с CPU возможно, если точек достаточно, чтобы загрузить GPU. Само включение GPU Processing выигрыша не гарантирует.
681
5
Когда анимациям не хватает времени на game thread Animation Budget Allocator в Unreal Engine задаёт фиксированный бюджет для
Когда анимациям не хватает времени на game thread Animation Budget Allocator в Unreal Engine задаёт фиксированный бюджет для анимации — в миллисекундах работы game thread. Его можно настроить отдельно для каждой платформы. Бюджет относится к анимации выбранных skeletal mesh-компонентов, а не ко всему кадру. Если времени не хватает, плагин учитывает значимость компонентов и выбирает меры: — остановить tick у отдельных skeletal mesh — снизить частоту обновлений — решить, интерполировать ли движение между обновлениями Для подключения по инструкции Epic для UE 5.8 нужно включить плагин, перезапустить редактор и использовать у персонажа SkeletalMeshComponentBudgeted.
721
6
Субботний скриншотник! Покажите, что изменилось в вашей игре за неделю: новую анимацию, меню, механику или пока только работа
Субботний скриншотник! Покажите, что изменилось в вашей игре за неделю: новую анимацию, меню, механику или пока только работающий прототип. Приносите в комментарии скриншоты, гифки, видео, демки и ссылки на свои игры или каналы. Небольшой прогресс тоже считается. Посмотрите работы соседей и спросите авторов о детали, которая вас заинтересовала. @make_game
719
7
World Partition ещё не означает включённый стриминг В Unreal Engine World Partition хранит мир в одном persistent level и дел
World Partition ещё не означает включённый стриминг В Unreal Engine World Partition хранит мир в одном persistent level и делит его на ячейки. При включённом стриминге они подгружаются по расстоянию от streaming source. В документации UE 5.8 указаны шаблоны, в которых World Partition используется, а стриминг по умолчанию выключен. Среди них Blank, First Person и Third Person. Подгрузкой ячеек управляет параметр Enable Streaming в World Settings. Шаблон карты Open World по умолчанию включает World Partition, One File Per Actor, Data Layers и HLOD.
742
8
Плитку в Defold можно заменить во время игры В примере руководства скрипт читает плитку через tilemap.get_tile и заменяет тра
Плитку в Defold можно заменить во время игры В примере руководства скрипт читает плитку через tilemap.get_tile и заменяет траву с ID 2 на яму с ID 4 через tilemap.set_tile. Меняется содержимое конкретной ячейки выбранного слоя. У карты есть собственный Tile Source, поэтому ID из примера не обозначают траву и яму в любом проекте. Для переноса нужны свои адрес компонента, имя слоя, координаты и номера плиток.
775
9
У CanvasItem в Godot есть отложенный цикл перерисовки. Запрос queue_redraw приводит к NOTIFICATION_DRAW во время idle, а кома
У CanvasItem в Godot есть отложенный цикл перерисовки. Запрос queue_redraw приводит к NOTIFICATION_DRAW во время idle, а команды рисования выполняются в _draw, соответствующем уведомлении или обработчике сигнала draw. При собственном рисовании 2D-интерфейса вызывайте draw_* только в этих обработчиках, а не сразу после queue_redraw в произвольном месте скрипта. Справочник Godot stable прямо отмечает, что CanvasItem не обязан перерисовываться на каждом кадре. Конкретного выигрыша для вашей сцены из этого не следует.
799
10
Ubershaders и предварительная компиляция pipeline в документации Godot stable относятся к Forward+ и Mobile с Vulkan, Direct3
Ubershaders и предварительная компиляция pipeline в документации Godot stable относятся к Forward+ и Mobile с Vulkan, Direct3D 12 или Metal. Для Compatibility на OpenGL, OpenGL ES и WebGL этот путь не подходит. В Compatibility документация предлагает прежний способ прогрева: при загрузке показать материалы, шейдеры и частицы хотя бы на один кадр в поле зрения камеры. Даже готовый промежуточный код шейдера ещё требует работы драйвера, который собирает pipeline под конкретную систему. Его кеш обычно очищается после обновления драйвера. Поэтому успешный повторный запуск на своём компьютере не доказывает отсутствие статтеров у игрока.
807
11
Дрожание между физикой и отрисовкой Для поиска проблем с интерполяцией документация Godot stable предлагает временно снизить
Дрожание между физикой и отрисовкой Для поиска проблем с интерполяцией документация Godot stable предлагает временно снизить частоту физических тиков, например до 10 в секунду. Так ошибки заметнее. Трансформации интерполируемых объектов обычно меняют в _physics_process. Изменение из _process может дать неверную промежуточную позицию и дрожание между физическими тиками. Анимации, tween, навигацию и движение родителя тоже нужно привязать к физическим тикам, если они перемещают объект. Исключением может быть телепортация вне физического тика при старте уровня или возрождении. Интерполяция в этом случае связывает локальную физику с отрисовкой кадров. Сетевой буфер состояний здесь не участвует.
844
12
Один враг поднимает весь лагерь В Mytheria тревога у одного существа будит весь лагерь. Остальные обитатели лагеря сближаются
Один враг поднимает весь лагерь В Mytheria тревога у одного существа будит весь лагерь. Остальные обитатели лагеря сближаются, ждут первого удара лидера и вступают в бой с небольшой задержкой друг за другом. Ролик Cobo Makes Games показывает реакцию такого лагеря на приближение игрока. Cobo Sawyer описывает расстановку противников: 36 лагерей по 5–7 существ, 24 одиночки на дорогах и семь опасных зон. Все эти числа относятся к Mytheria. Погибшие обитатели лагеря возвращаются на рассвете на свои места. Лагеря и опасные зоны остаются неподвижны, даже когда остальной остров перестраивается: игрок может отметить их на карте и вернуться по знакомому маршруту.
823
13
В ролике Mytheria справа появляется подпись «Leaves stir in the forest · moonrise». Так игра сообщает о восходе луны игроку,
В ролике Mytheria справа появляется подпись «Leaves stir in the forest · moonrise». Так игра сообщает о восходе луны игроку, который не слышит звуковой сигнал. Cobo Sawyer описал подписи к восьми важным звукам. Каждая подпись держится три секунды и объясняет значение звука. Шаги и взмахи оружия не подписывают, чтобы важные предупреждения не терялись среди текста. Настройки этой игры на Godot хранятся на устройстве. В кооперативе каждый игрок видит свои субтитры. Это одна из опций конкретной игры, а не проверка соответствия стандарту доступности.
908
14
Персонаж Bluey собран из плоских слоёв У Bluey’s Happy Snaps трёхмерное окружение и поворачиваемая камера, а персонажи состоя
Персонаж Bluey собран из плоских слоёв У Bluey’s Happy Snaps трёхмерное окружение и поворачиваемая камера, а персонажи состоят из обращённых к камере 2D-плоскостей. Gameloft Brisbane сохранила рисованный вид с помощью SDF-текстур и собственного рига в Unreal Engine 5. Художники подготовили восемь ракурсов. Анимацию основного ракурса инструменты переносят на остальные, после чего её можно поправить вручную. При острых углах камеры слои дополнительно сплющиваются, чтобы не раскрыть устройство персонажа. Это специальный пайплайн для одной игры. В интервью Gameloft для 80 Level художники называют сложный риг и контурный шейдер одними из главных причин проблем с производительностью на слабых платформах. Анимация из статьи показывает персонажей в движении и съёмку игровой камерой.
976
15
Fixed Fit показывает больше мира на широком экране В стандартном render script Defold режимы Stretch и Fixed Fit по-разному о
Fixed Fit показывает больше мира на широком экране В стандартном render script Defold режимы Stretch и Fixed Fit по-разному обрабатывают изменение пропорций окна: — Stretch сохраняет заданную видимую область, но растягивает содержимое. — Fixed Fit сохраняет пропорции объектов и добавляет видимую область по ширине или высоте. Fixed Fit — не letterbox с чёрными полосами. На широком экране игрок может увидеть больше уровня, что стоит учитывать при расстановке противников и границ камеры. В стандартном render script режим переключается сообщением use_fixed_fit_projection. Включённый Camera Component может задавать свою проекцию, а собственный render script — иначе обрабатывать сообщения. В руководстве разобраны эти варианты управления камерой.
974
16
Коробка проходит сквозь поле частиц, и поток расходится вокруг неё. В демо Godot это сила аттрактора, а не столкновения части
Коробка проходит сквозь поле частиц, и поток расходится вокруг неё. В демо Godot это сила аттрактора, а не столкновения частиц с твёрдым телом. Для такого эффекта в Godot 4.5 у ParticleProcessMaterial нужно включить Attractor Interaction. Положительный Strength притягивает к центру, отрицательный отталкивает. У коробки ограничена область действия, а Extents задаёт её полуразмеры. В руководстве по аттракторам есть ещё сфера и векторное поле. Последнее читает направления из 3D-текстуры. Это инструменты для GPU-частиц в 3D. На 2D или CPUParticles этот пример переносить нельзя.
941
17
Рельеф с тоннелями и навесами На исходном скриншоте Voxel Tools виден нависающий пласт породы. Объёмное представление позволя
Рельеф с тоннелями и навесами На исходном скриншоте Voxel Tools виден нависающий пласт породы. Объёмное представление позволяет делать такие формы, а также тоннели и разрушаемый рельеф: воксели превращаются в меши отдельных чанков. Voxel Tools for Godot предлагает блочный и гладкий terrain, загрузку чанков по мере надобности и собственные генераторы. Для гладкого рельефа есть LOD на основе Transvoxel. Проект опубликован под MIT. Это C++-модуль для Godot 4 со своей инструкцией установки. Текущий README не обещает совместимости с любым стандартным редактором, а пункты roadmap ещё не означают готовые функции. Скриншот показывает гладкий рельеф, не процесс редактирования во время игры.
971
18
Слева чайник будто висит, справа под ним есть мягкое пятно. Это blob shadow: простая проекция помогает понять, где объект нах
Слева чайник будто висит, справа под ним есть мягкое пятно. Это blob shadow: простая проекция помогает понять, где объект находится относительно поверхности, когда полностью запечённое освещение не даёт подвижному предмету динамическую тень. В Godot 4.5 такую приближённую тень можно сделать декалью в Forward+ или Mobile. В Compatibility декали не работают. Декаль меняет свойства уже существующей поверхности, не добавляя геометрию. Затраты на её отрисовку зависят от площади покрытия экрана и числа узлов. В документации показано это сравнение и описан Distance Fade, которым можно убирать дальние декали.
961
19
У VesperaFX можно взять только палитру, дизеринг и пикселизацию, не подключая остальные постэффекты. В репозитории компактная
У VesperaFX можно взять только палитру, дизеринг и пикселизацию, не подключая остальные постэффекты. В репозитории компактная основа лежит в main.gdshader, а отдельные сочетания — в папке examples. При RGB matching шейдер перебирает цвета на каждом пикселе. Автор советует заранее рассчитанную LUT, если это становится дорого. Полный all_effects_demo оставлен как справочный пример и стресс-тест, а не вариант по умолчанию для игры. В README указана Godot 4.4.1 и лицензия MPL 2.0. Приложенный ролик показывает сцену из старой версии шейдера, без интерфейса редактора. Это демонстрация визуального эффекта, а не проверка всех возможностей текущего набора.
971
20
Субботний скриншотник! Что вы успели добавить в свою игру за неделю? Приносите в комментарии скриншоты, гифки, видео, демки и
Субботний скриншотник! Что вы успели добавить в свою игру за неделю? Приносите в комментарии скриншоты, гифки, видео, демки и ссылки на свои игры или каналы. Показывайте и небольшой прогресс: новую анимацию, кусочек уровня или незаконченный прототип. Загляните к другим участникам, спросите про интересную деталь и поддержите их работу. @make_game
988