Etkinliklerle gelişmenin oyunlarda rolü nedir?


9

Çoğu uygulama geliştirme olaylarla gelişmeye dayanır, ancak oyun geliştirme oyun döngüsü tarzı ve (genellikle) yüksek performans / verim ihtiyacı göz önüne alındığında, olayları kullanarak geliştirmenin rolü nedir ve takaslar nelerdir? Genellikle dahil olan senkronizasyon / kilitlemenin daha büyük bir etkisi var mı?

Örneğin: - Ağ [katman] alınan verilerin oyun döngüsünü nasıl bildirir? - Fizik sistemi çarpışmaları nasıl bildirir?

Soruyorum, çünkü olayları kullanarak oyun geliştirmenin katı bir hayır-hayır olduğu bir zamanı hatırlayabiliyorum. Bu değişti mi?

Yanıtlar:


5

Etkinlik sistemi güçlüdür ve çok hızlı yapılabilir.

Ayrıca çok gevşek bir bağlantı yapısında kod bölümlerini modüle etmenizi sağlar. Onlar toplu iş ve iş parçacığı iş izin. Çok çekirdekli ve asenkron işlevlerle iyi çalışır.

Fizik - Çarpışma Geri Aramaları, Etkinleştirme veya Dinlenme Nesneleri olaylara iyi tercüme eder. Ağ Oluşturma - Mümkün olduğunca bir etkinlik olmalıdır (sesli sohbet vb. İstisna) Game Logic - Doğal olarak kendisini bir etkinlik modeline verir Menüler ve Kullanıcı Arayüzü - Etkinlik tabanlı bir sistemde mükemmel çalışın

Ayrıca birçok modern konsol ve orta eşya kütüphanesi de etkinlikler kullanıyor.

Giriş cihazlarının oluşturucusu ve yoklaması sığması biraz kafa karıştırıcı olabilir. Özellikle de hareket kontrolleri kullanıyorsanız, olaylar fark edilir bir gecikme getirebilir ve yoklama formatına karşı sezgisel olabilir.


4

Ana döngü stilini kullanmanın hala tavsiye edildiğini söyleyebilirim: Hızlıdır, size eylemlerin sırası üzerinde tam kontrol sağlar (bu bir oyunda önemlidir) ve kodlayan hatalar yapmak daha zordur. Ancak, kullandığınız teknoloji olayları kolayca kullanmanıza izin veriyorsa, pek çok şey için gerçekten yararlı olabilir. Örneğin, düşmanların ne zaman ve nerede öldüğünü, klavye tuşlarına basıldığında bunu bildirmek için kullanıyorum ...

Sonuç olarak: Oyunun ana mantığını kontrol etmek için oyun döngüsünü kullanın, ancak olayların başka durumlarda yararlı olabileceğini unutmayın.


Ana döngü stilinin önerildiğine katılmıyorum. Ana döngü tarzı oyunlar birkaç alanda iyi yazılmış bir olay kontrollü oyuna kaybeder: 1) çoklu görev sisteminde, sabit bir özellik seti için gereksiz derecede yüksek miktarda işlemci tüketir, 2) taşınabilir cihazlarda, hatta tek başına bile -tasistemlerin ekstra işlemci kullanımı pil ömrünü olumsuz etkiler, 3) oyun ne kadar basit olursa, uygun bir olay odaklı oyuna kıyasla bu sorunlar da o kadar büyük olur.
Sam Harwell
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.