главная / блог / геймплей
Опубликовано: 18 июля 2026 г. 7 мин чтения геймплей
Coyote time и jump buffer: двенадцать строк хорошего прыжка

Coyote time и jump buffer: двенадцать строк хорошего прыжка

Когда игроки говорят «прыжок ощущается плохо», обычно они имеют в виду две недостающие функции. Обе пишутся за полчаса.

Как выглядит проблема

Каждый, кто тестирует ваш прототип платформера, говорит одно и то же: «прыжок какой-то странный». Никто не может сказать, что именно не так. Код верный: касаешься земли — прыгай, не касаешься — не прыгай.

Проблема не в коде, а в человеке. Игрок нажимает кнопку в тот момент, когда замечает, что сошёл с края, — но уже поздно. А нажав в воздухе, он ожидает прыжка в момент приземления.

Два маленьких окна допуска

Coyote time оставляет право на прыжок открытым ещё недолго после того, как персонаж покинул землю. Название пришло от мультяшного койота, который выбегает за обрыв и на мгновение зависает в воздухе.

Jump buffer работает в обратную сторону: если игрок нажал кнопку прямо перед приземлением, нажатие запоминается и срабатывает в момент касания земли.

PlayerJump.cs
private void HandleJump() { if (IsGrounded) _coyote = COYOTE_TIME; else _coyote -= Time.deltaTime; if (_input.JumpPressed) _buffer = BUFFER_TIME; else _buffer -= Time.deltaTime; if (_buffer > 0f && _coyote > 0f) { _velocity.y = _jumpForce; _coyote = _buffer = 0f; Feedback.Play("jump_launch"); } }
csharpPlayerJump.cs

Какими должны быть значения

В проектах, которые я измерял, оба окна хорошо работают в диапазоне 100–150 мс — то есть шесть-девять кадров при 60 FPS. Короче — эффект незаметен, длиннее — персонаж будто прыгает из воздуха.

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

Как далеко это заходит

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

Общее правило: когда намерение игрока конфликтует с правилами игры, решайте в пользу игрока. Игры, которые так делают, называют «отзывчивыми».

← Все статьи