Coyote Time
Дозвіл стрибнути ще кілька кадрів після того, як персонаж зійшов з платформи.
Приклади
Записано з інтерактивного демо нижче на цій сторінці.
Огляд
Coyote time тримає стрибок доступним коротке вікно (зазвичай 70–150 мс) після того, як персонаж покинув землю, — назва від Вайла Е. Койота, що висить у повітрі за краєм скелі, поки гравітація не помітить.
Він існує, бо гравці тиснуть стрибок, коли очі кажуть «персонаж на краю», — але між часом реакції, затримкою інпуту і власною швидкістю персонажа натискання фізично прилітає на кілька кадрів після того, як земля зникла. Строга фізика називає це промахом; гравці — «керування з'їло мій стрибок».
Це флагманський приклад пробачливого інпуту: невидима брехня про фізику, що робить керування точним і чесним на відчуття. Майже кожен визнаний платформер (Celeste, Hollow Knight, Super Meat Boy) має свою версію — і ніхто не помічає її, поки вона є; помічають лише її відсутність.
Інтерактивне демо
Де застосовується
Найкращі практики
Варто
- ✓Тримайте вікно коротким (70–150 мс) — воно має поглинати промахи часу реакції, а не давати помітні стрибки з повітря.
- ✓Ведіть «час з моменту останнього контакту з землею», а не булеву змінну, — той самий таймер живить coyote time, анімації й логіку приземлення.
- ✓Споживайте вікно при стрибку — один пробачений стрибок на край, інакше гравці чейнитимуть неможливі перестрибування.
Не варто
- ✕Не давайте coyote time після стрибка (лише після сходу/падіння з платформи) — це випадковий подвійний стрибок.
- ✕Не визначайте вікно в кадрах — задавайте в секундах, інакше гравці на 30/60/144 fps грають у різні ігри.
- ✕Не складайте coyote time зі щедрими колайдерами перевірки землі без перетюнінгу — сумарна пробачливість стає видимою легкістю.
Поширені помилки
- ⚠Перевіряти «чи на землі» в момент натискання замість «чи був на землі нещодавно» — це і є баг, який ця техніка лагодить.
- ⚠Скидати таймер при будь-якому відриві від землі, включно зі стрибком, — див. експлойт подвійного стрибка вище.
- ⚠Робити вікно настільки великим (300+ мс), що гравці свідомо бачать стрибки з повітря.
Реалізація
Встав це у свого ШІ-асистента (Cursor, Copilot, Claude), щоб додати ефект у проєкт.
Додай у мій проєкт ефект "Coyote Time": Дозвіл стрибнути ще кілька кадрів після того, як персонаж зійшов з платформи.
Як це працює: Coyote time тримає стрибок доступним коротке вікно (зазвичай 70–150 мс) після того, як персонаж покинув землю, — назва від Вайла Е. Койота, що висить у повітрі за краєм скелі, поки гравітація не помітить.
Рекомендації:
- Тримайте вікно коротким (70–150 мс) — воно має поглинати промахи часу реакції, а не давати помітні стрибки з повітря.
- Ведіть «час з моменту останнього контакту з землею», а не булеву змінну, — той самий таймер живить coyote time, анімації й логіку приземлення.
- Споживайте вікно при стрибку — один пробачений стрибок на край, інакше гравці чейнитимуть неможливі перестрибування.
Чого уникати:
- Не давайте coyote time після стрибка (лише після сходу/падіння з платформи) — це випадковий подвійний стрибок.
- Не визначайте вікно в кадрах — задавайте в секундах, інакше гравці на 30/60/144 fps грають у різні ігри.
- Не складайте coyote time зі щедрими колайдерами перевірки землі без перетюнінгу — сумарна пробачливість стає видимою легкістю.
Реалізуй ефект у тому рушії/стеку, який уже використовується в проєкті, і дотримуйся наявного стилю коду. Підключи його там, де це доречно.Джерела
- Celeste & Forgiveness — Maddy Thorson on assist mechanics and input leniency
- GMTK: Why Does Celeste Feel So Good to Play?
Пов'язані ефекти
Input Buffering
Запам'ятовування трохи раннього натискання і виконання його, щойно дія стане можливою.
Squash & Stretch
Деформація форми вздовж руху, що передає вагу, швидкість і матеріал.
Easing (Slow In / Slow Out)
Розгін на вході в рух і гальмування на виході замість сталої швидкості.
Коментарі
…