Entity Component System (ECS) nedir? Klasik nesne yönelimli yapıdan farkı nedir?

Cevap

ECS, oyun nesnelerini üç parçaya ayıran bir mimaridir:

  • Entity: yalnızca bir kimlik (id)
  • Component: davranışı olmayan saf veri (Pozisyon, Hız, Can)
  • System: belirli bileşenlere sahip tüm entity'ler üzerinde çalışan mantık (HareketSistemi, Pozisyon + Hız olanları günceller)

Klasik kalıtım hiyerarşisinde (Dusman : Karakter : OyunNesnesi) davranış ve veri iç içedir; derin hiyerarşiler esnekliği azaltır. ECS'te ise yeni bir davranış için bileşen eklemek yeterlidir (composition over inheritance).

Performans avantajı: aynı türdeki bileşenler bellekte ardışık dizilerde tutulur, bu da CPU önbelleğini verimli kullanır ve binlerce nesneyi hızla işlemeyi sağlar.

  1. Oyun döngüsü (game loop) nedir? Sabit ve değişken zaman adımı arasındaki fark nedir?OrtaOyun ProgramlamaGame Dev
  2. Delta time nedir, neden kullanılır?KolayOyun ProgramlamaGame Dev
  3. Object pooling nedir, neden kullanılır?OrtaOyun 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