Neredeyse tamamen sizin oyun gereksinimlerinize bağlıdır . Basit bir oyun için mükemmel çalışabilir, ancak daha karmaşık bir sistemde başarısız olabilir. Oyununuz için çalışıyorsa, endişelenmeyin ya da ihtiyaç doğana kadar üzerinde çalışmayı deneyin.
Basit bir yaklaşımın neden bazı durumlarda başarısız olabileceğine gelince, olasılıklar sonsuz olduğundan ve tamamen oyunların kendilerine bağlı olduğundan, tek bir gönderide bunu özetlemek zordur. Diğer cevaplar, örneğin sorumluluk paylaşan nesneleri birlikte ayrı bir listede gruplamak isteyebileceğinizden bahsetti.
Oyun tasarımınıza bağlı olarak yapabileceğiniz en yaygın değişikliklerden biri budur. Tarif do şans alacağım birkaç diğer (daha karmaşık) örnek , ancak hala birçok olası neden ve çözüm olduğunu unutmayın.
Başlangıç olarak, oyun nesnelerinizi güncellemenin ve bunları oluşturmanın farklı gereksinimlere sahip olabileceğini belirteceğim. bazı oyunlarda ve bu nedenle ayrı ayrı ele alınması gerektiğine dikkat çekeceğim. Oyun nesnelerini güncelleme ve oluşturma ile ilgili bazı olası sorunlar:
Oyun Nesnelerini Güncelleme
İşte, okumanızı tavsiye edeceğim Game Engine Architecture'dan bir alıntı :
Nesneler arası bağımlılıkların varlığında, yukarıda açıklanan fazlı güncelleme tekniği biraz ayarlanmalıdır. Bunun nedeni nesneler arası bağımlılıkların güncelleme sırasını düzenleyen çelişkili kurallara yol açabilmesidir.
Başka bir deyişle, bazı oyunlarda nesnelerin birbirine bağlı olması ve belirli bir güncelleme sırası gerektirmesi mümkündür. Bu senaryoda, nesneleri ve bağımlılıklarını depolamak için bir listeden daha karmaşık bir yapı oluşturmanız gerekebilir.
Oyun Nesnelerinin İşlenmesi
Bazı oyunlarda sahneler ve nesneler ebeveyn-çocuk düğümleri hiyerarşisi yaratır ve doğru sırayla ve ebeveynlerine göre dönüşümlerle oluşturulmalıdır. Bu durumlarda, tek bir liste yerine sahne grafiği (ağaç yapısı) gibi daha karmaşık bir yapıya ihtiyacınız olabilir :
Diğer nedenler, örneğin, nesnelerinizi, görüntü oluşturma işleminin etkinliğini artıracak şekilde düzenlemek için uzamsal bir bölümleme veri yapısı kullanmak olabilir.