Oyun geliştirme bağlamında “kene” nedir?


12

Tamam, bu çok başlangıç ​​seviyesi bir soru ama bunu bilmem gerekiyor, "kene" terimi oyun geliştirme bağlamında ne anlama geliyor? FPS ile aynı şey mi? Teşekkürler!


1
BTW'den bu terminolojiyi nereden aldınız? Bazı insanlar sadece kene diyorlar çünkü physics engine update framesıradan oyuncuların hatırlaması / anlaması çok uzun.
Bálint

Yanıtlar:


18

Kene zaman için bir ölçü birimidir, özellikle bir oyunda tekrarlanan bir eylemin (genellikle geniş bir eylem) tek bir örneğini veya eylemin tükettiği süreyi ifade eder.

Keneler tekrarlanır ve (çoğunlukla) düzenlidir; terim bir saatin çıkardığı seslerden ("kene" ve "tock") gelir.

Genellikle bir kene, ana oyun mantık döngüsü gibi bazı döngülerin yinelemesidir. Örneğin, oyun mantığının bir kare bir kez "keneler" ya da "kene sırasında karakter pozisyonlarının güncellendiği" söylenebilir.

Bununla birlikte, daha ayrıntılı dönemlere de atıfta bulunabilir; diyebiliriz ki "oyunda AI kene 5ms işlem süresi ile sınırlıdır."

FPS, bir oyunun saniyede kaç kare (genellikle kare oluşturduğunu) işlediğinin bir ölçüsüdür. Keneler ve FPS mutlaka ilintili değildir, ancak bazen insanlar oyun mantık döngüsünün tek bir yürütülmesini "mantık çerçevesi" olarak adlandırırlar, bu durumda (mantık) FPS hızı saniyede işlenen kenelerin sayısı olacaktır. Bu, özellikle oyun mantığı veya fizik için sabit kare hızlarını zorlayan oyunlar için hangi nedenle olursa olsun yaygındır.


2

Çoğu oyun bir döngü halinde uygulanır. Gibi bir şey

def main
 setup(a, bunch, of, stuff)
 load(a, bunch, of, stuff)
 while true do {
   // <- A tick starts here
   read(a, bunch, of, inputs)
   call(a, bunch, of, stuff)
   do(a, bunch, of, stuff)
   update(a, bunch, of, stuff)
   // <- A tick ends here
 }
 clean(a, bunch, of, stuff)
 save(a, bunch, of, stuff)
end

Bu, işleri yapmanın oldukça standart bir yoludur ve oluşturma ve UI öğeleri ayrı bir iş parçacığında ele alınabilirken, gerçek oyun mantığı (geminizi ileriye doğru hareket ettirmek için basın) bu onay işaretinin içinde gerçekleşir.

Buna "kare" de denir ve genellikle bir Kare hızı (grafik öğeleriyle karıştırılmamalıdır) olarak adlandırılır. Tick, ikisini ayırt etmeye yardımcı olan popüler bir eşanlamlı haline geldi.

Programcı olarak hedefiniz ne olursa olsun sabit, sabit bir kare (tik) oranına sahip olmaktır. Bu, oyununuzdaki yanıtları pürüzsüz ve rasyonel tutarken aynı zamanda bir modelin (grafik değil programlama) şeyleri bilgisayar dostu bir şekilde işlemesine izin verir. Kene süreleri oyunlarda sabit değildir ve sihirli bir sayı yoktur. Bazı oyunlar saniyede 100 kare, diğerleri ise her 3 saniyede 1 kene.


1
Tüm oyunların statik bir onaylama oranına sahip olmadığını belirtmek önemlidir. Screeps ve Eve online değişken kene oranlarını destekler. Minecraft'ın istikrarlı bir kene oranı olması gerekiyordu, ancak genellikle bunu başaramıyor ve iyi idare ediyor. Cüce Kalesi statik bir kare hızına sahiptir ve dayanamadığında emer, ancak yine de çalışır.
coteyr

Sanırım burada "frame" ve "tick" terimlerini biraz fazla karıştırıyorsunuz. Keneler ayrıca birden çok kareye yayılabilir (veya güncelleme döngülerine).
Tyyppi_77

1

Bir "kene" iki farklı şeyi ifade edebilir. Ekrandaki tüm görünür grafikler güncellendiğini söylediğiniz gibi bir kare işaretine işaret edebilir. Ancak, "kene" terimi bir oyun döngüsü kene anlamına da gelebilir. Bu tür bir kene, kodunuzun yürütüldüğü yerdir. Genellikle keneleriniz, oyun duruncaya kadar devam edecek aynı tekrarlayan kenelerin bir döngüsü bağlamındadır.


1

Bir kene genellikle tüm mantığın hesaplandığı oyun döngüsünün tekrarı anlamına gelir, bu nedenle oyunlar genellikle saniyede birden fazla kenara sahiptir.

Bununla birlikte, birçok oyun hem grafik hem de oyun döngüsünü aynı iş parçacığında çalıştırır, çünkü grafiklerin görüntülenmesi genellikle çok uzun sürmez, böylece mantık kesilir veya tam tersi (geliştiriciler böyle durumlar için kontroller koysa da, son ve mevcut çerçeve arasındaki zaman farkının alınması ve hareket hızının buna göre ayarlanması).

FPS açılımı F rames P er S birçok oyunlar için öylesine, econd, evet, teknik olarak konuşursak, her kare bir kene olduğunu.


Yani her iki terimi de birbirinin yerine kullanabilir miyim?
user3843164

2
Yapmazdım. Grafiklere atıfta bulunurken "FPS" ve mantığa atıfta bulunurken "keneler" kullanırdım, çünkü bazı oyunların, özellikle yoğun grafiklere sahip olanların iki döngüsüne sahip olma eğilimi vardır: biri grafik ve diğeri mantık için.
StrongJoshua

Kene bir iplik değildir.

@JoshPetrie Oooh, hatamı görüyorum, işaret ettiğin için teşekkürler. Şimdi düzeltildi.
StrongJoshua

1
Oyunların genellikle saniyede birden fazla kenesi vardır. "Genellikle" belki. "Genellikle", hayır. Masa oyunları veya strateji oyunları, yalnızca kullanıcı "ana döngü yinelemesi" ve "render" anlamında bir hamle yaptığında işaretleyebilir.
Anko
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.