NavMesh Sandbox
Интерактивные примеры к статье «Почему 200 солдат не проходят в одни ворота» — про NavMesh, pathfinding и поведение толпы. Каждая карточка — отдельная маленькая лаборатория: можно подвигать слайдеры, посмотреть на честно измеренные числа и сломать систему так, как это описано в статье.
Free Sandbox
Открытая песочница: добавляй агентов и препятствия, двигай цель, смотри метрики.
CrowdNarrow Gate
Почему узкий проход создаёт затор — и почему видимая ширина не равна проходимой.
CrowdAvoidance Priority
Одинаковый приоритет у всех vs случайный — как симметрия решений мешает толпе.
AvoidanceLocal Avoidance
Desired vs actual velocity выбранного агента: чем avoidance отличается от навигации.
PathfindingA* / Hierarchical A*
Обычный A* против иерархического: open/closed set, регионы, реальное время поиска.
PathfindingA* vs Flow Field
Одно общее поле направлений вместо 200 независимых поисков — честный бенчмарк.
NavMeshDynamic Obstacles
Перетащи препятствие и сравни цену постоянной перестройки NavMesh с перестройкой по отпусканию.
NavMeshLink Cost Override
A* не видит, что проход уже переполнен — пока стоимость прохода не скажет ему об этом.
PerformancePath Request Budget
Бюджет запросов пути за кадр и repath jitter — как синхронный пик превращается в очередь.
Lag Compensation
Примеры к статье про сетевые шутеры — почему «я же попал» на экране игрока может быть честным «мимо» на сервере, и как rewind hitbox'ов эту ложь исправляет (и где у неё есть цена).
Naive Raycast
Клиент видит цель с задержкой, сервер проверяет попадание по её текущей позиции — без компенсации.
NetcodeTime Machine
Сервер хранит историю hitbox'ов и откатывается назад перед проверкой — почему честный выстрел снова попадает.
NetcodeRewind Formula
rewindTime = RTT/2 + interpolation delay — два независимых слагаемых задержки клиента, живой расчёт.
NetcodeMax Rewind Window
Без лимита отката игрок с большим пингом попадает по тем, кто уже спрятался за укрытием — peek-and-hide.
PerformanceSpatial Filter
Зачем перематывать всех 32 игроков на каждый выстрел — честно измеренная экономика broad-phase фильтра.
NetcodeHitbox vs Animation Order
Без единого байта сети: порядок SaveHitboxSnapshot() и UpdateAnimation() сам по себе сдвигает hitbox от позы.
SecurityTrust But Verify
Клиент лжёт о своей задержке, чтобы выцепить выгодный момент из прошлого — сервер сверяет заявку с честным пингом.
NetcodeAlready Dead
Игрок умер, пока летел пакет с выстрелом — сервер честно спрашивает «а был ли он жив, когда стрелял?».
NetcodeRollback vs Lag Compensation
Одна и та же фраза «отмотать время назад» — либо откат одного hitbox'а, либо переигровка всего мира.
Coyote Time
Примеры к статье про coyote time и jump buffer — почему «физически корректная» проверка приземления ощущается как баг, и как игры намеренно врут игроку про время, чтобы управление казалось отзывчивым.
Coyote Time
Беги к краю платформы и жми прыжок в разный момент — окно прощения превращает «поздно» в честный прыжок.
PlatformerJump Buffer
Обратная проблема: нажал прыжок чуть раньше приземления — игра не должна терять это намерение.
PlatformerForgiveness Tuning
Сотни попыток с реалистичным разбросом реакции — как выбор coyoteTime/jumpBuffer меняет долю прощённых нажатий.