Как сваривать вершины меша за линейное время В процедурной генерации части геометрии удобно строить независимо, а затем сливать близкие вершины. Перебор всех пар требует квадратичного числа сравнений. Пространственный хеш делит плоскость на ячейки. Для новой точки он проверяет её ячейку и восемь соседних; в 3D получается 27 проверок. При ослабленном правиле сварки сложность снижается до O(n). Ячейки размером 2r и…
GameDev: разработка игр
Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Вашу рекламу в этом канале увидит до 790 человек
Заказать рекламу →Динамика подписчиков
с 20 июля 2026 по 28 сентября 2026 · минимум 7 630 · максимум 7 664
Кто рекламировался за полгода
Рекламодатель определён по маркировке рекламы в постах канала.
Публикации
Как строить фрактальные берега с многоуровневой диаграммой Вороного В диаграмме Вороного со случайно смещёнными центрами на каждую клетку сетки приходится одна псевдослучайная точка. Для заданной координаты алгоритм проверяет центры 25 ближайших клеток, поэтому не строит бесконечную диаграмму целиком. Автор добавляет уровни. На каждом следующем сетка становится вдвое мельче, а новый центр связывается с ближайшим…
Как подготовить генератор гекс-карт Unity к задачам Burst Одинаковые настройки и начальное значение не гарантируют одинаковую карту. В Unity 6000.3.20f1 Mono при вычислениях переводит float в double и обратно. Малой разницы хватает, чтобы изменить пороговую проверку: в примере IL2CPP строит другие реки, чем редактор и сборка Mono. Перед переходом к Burst автор оставляет старый генератор, выносит настройки в…
Как пул объектов защищает эффекты от фрагментации памяти Один взмах посоха порождает сотни частиц. Если каждую создавать и удалять отдельно, свободное место в памяти постепенно дробится: суммарно его хватает, а цельного блока нужного размера уже нет. Пул объектов заранее резервирует один блок и хранит в нём готовые экземпляры. Система частиц берёт свободный, помечает его занятым и возвращает после анимации. Выделять…
Как сервер засчитывает точный выстрел при сетевой задержке В быстрой сетевой игре ваш клиент показывает собственного персонажа в настоящем, а противников в недавнем прошлом. Поэтому при выстреле в голову сервер может получить команду уже после того, как цель сместилась. Компенсация задержки меняет момент проверки. Клиент отправляет точное время выстрела и направление оружия. Сервер по входным данным восстанавливает…
Как Binding of Isaac генерирует подземелья Сначала генератор строит план на сетке 9×8, затем назначает особые комнаты и выбирает содержимое обычных. Стартовая комната попадает в очередь. Алгоритм проверяет четыре направления и с шансом 50% добавляет свободного соседа, если тот не создаст петлю. Из тупиков выбираются специальные комнаты: босс получает одну из самых дальних от старта. Для секретной комнаты ищут пустую…
Как генерировать высоты и биомы карты с помощью шума Red Blob Games показывает генерацию данных карты без отрисовки. Каждой координате присваивают значение шума от 0 до 1 и трактуют его как высоту. Слои с разной частотой смешивают крупные холмы с мелкими деталями, а возведение результата в степень опускает средние высоты и формирует плоские долины. Если выбирать биом только по высоте, леса, пустыни и снег…
Как проектировали Navigation Server для Godot 4.0 В 2020 году команда Godot описала новую архитектуру навигации для Godot 4.0. Материал помечен устаревшим: это разбор замысла, а не инструкция по актуальному API. Мир собирался из регионов, которые можно добавлять и перемещать во время работы. NavigationAgent получал цель, возвращал следующую достижимую точку и перестраивал путь после изменения регионов, цели или…
Зачем игровому циклу собственные часы Типичный цикл событий ждёт клика или клавиши, а игровой цикл продолжает работу без ввода. На каждом проходе он забирает ввод, обновляет ИИ и физику, затем рисует кадр. Поэтому анимация, музыка и противники не замирают, пока игрок ничего не нажимает. Если выполнять цикл с максимальной скоростью, темп симуляции начнёт зависеть от процессора и нагрузки кадра. При 60 кадрах в…
Как собрать редактируемую 2D-карту в Unity с Marching Squares Туториал начинает с сетки ячеек: каждая хранит одно логическое значение, пусто или заполнено. Карту сразу делят на чанки, отдельные фрагменты сетки, чтобы не переделывать структуру, когда мир станет большим. Для редактирования Unity выпускает луч от камеры через позицию курсора. Точка попадания переводится в координаты карты, после чего код находит нужный…