anasayfa / blog / oynanış
Yayın: 18 Temmuz 2026 7 dk okuma oynanış
Coyote time ve jump buffer: iyi zıplamanın 12 satırı

Coyote time ve jump buffer: iyi zıplamanın 12 satırı

Oyuncular "zıplama iyi hissettirmiyor" dediğinde kastettikleri şey genelde iki eksik özelliktir. İkisi de yarım saatte yazılır.

Sorun neye benziyor

Platform oyunu prototipinizi test eden herkes aynı şeyi söylüyor: "zıplama tuhaf". Kimse tam olarak neyin yanlış olduğunu söyleyemiyor. Kod doğru: zemine değiyorsan zıpla, değmiyorsan zıplama.

Sorun kodda değil, insanda. Oyuncu platformun kenarından düştüğünü fark ettiğinde tuşa basıyor — ama artık geç. Ve zıplama tuşuna havadayken bastığında, yere değdiği anda zıplamasını bekliyor.

İki küçük tolerans penceresi

Coyote time, karakter zeminden ayrıldıktan sonra kısa bir süre daha zıplama hakkını açık tutar. Adı çizgi filmlerdeki, uçurumdan çıkıp bir an havada duran çakaldan gelir.

Jump buffer ise tam tersi yönde çalışır: oyuncu yere değmeden hemen önce tuşa bastıysa, o basış hafızada tutulur ve yere değdiği anda uygulanır.

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

Değerler ne olmalı

Ölçtüğüm projelerde iki pencere de 100–150 ms aralığında iyi çalışıyor; yani 60 FPS'te 6–9 frame. Daha kısa tutarsanız etki hissedilmez, daha uzun tutarsanız karakter havada zıplıyormuş gibi görünür.

Bu değerleri sabit yazmayın. Bir ScriptableObject ya da veri tablosuna alın; tasarımcının oyunu çalıştırmadan değiştirebilmesi gerekir.

Nereye kadar gider

Aynı mantık başka her yerde işe yarar: saldırı girdisi tamponlama, çift zıplama toleransı, ledge grab yakalama penceresi, hatta menü geçişlerinde tuş yığını.

Genel kural şu: oyuncunun niyeti ile oyunun kuralları çakıştığında, oyuncunun lehine karar verin. Bunu yapan oyunlar "tepki veriyor" diye anılır.

← Tüm yazılar