Oyun döngüsü (game loop) nedir? Sabit ve değişken zaman adımı arasındaki fark nedir?

Cevap

Oyun döngüsü, oyun çalıştığı sürece tekrar eden ana döngüdür: girdileri oku → oyun durumunu güncelle → ekrana çiz.

  • Değişken zaman adımı: her karede geçen süre (delta time) kadar güncelleme yapılır. Basittir ama fizik, kare hızına göre farklı sonuç verebilir.
  • Sabit zaman adımı: simülasyon her zaman aynı aralıkla (ör. 1/60 sn) ilerler; biriken süre bir akümülatörde tutulur. Fizik deterministik ve kararlı olur.
double birikmis = 0.0;
const double ADIM = 1.0 / 60.0;
while (calisiyor) {
  birikmis += gecenSure();
  girdileriIsle();
  while (birikmis >= ADIM) {
    guncelle(ADIM);
    birikmis -= ADIM;
  }
  ciz(birikmis / ADIM); // iki durum arasında interpolasyon
}
  1. Delta time nedir, neden kullanılır?KolayOyun ProgramlamaGame Dev
  2. Object pooling nedir, neden kullanılır?OrtaOyun ProgramlamaGame Dev
  3. Entity Component System (ECS) nedir? Klasik nesne yönelimli yapıdan farkı nedir?ZorOyun ProgramlamaGame Dev
  4. Çarpışma tespitinde broad phase ve narrow phase nedir?ZorOyun ProgramlamaGame Dev

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle