«architecture» etiketlenmiş sorular

Kod nasıl yapılandırılır. Bir oyun motorunun iç tasarımı ile ilgili sorular için.

1
Bileşen tabanlı bir varlık mimarisinde “sistemlerin” rolü nedir?
Varlık bileşenleri ve sistemleri hakkında çok şey okudum ve bir varlık olarak sadece bir kimlik olması fikrinin oldukça ilginç olduğunu düşündüm. Ancak bunun tamamen bileşen veya sistem yönüyle nasıl çalıştığını bilmiyorum. Bir bileşen, sadece ilgili bir sistem tarafından yönetilen bir veri nesnesidir. Bir çarpışma sistemi, çarpışmaların olup olmadığını belirlemek için …

8
MVC ve TDD neden oyun mimarisinde daha fazla kullanılmıyor? [kapalı]
Bunu çok fazla oyun kaynağına bakmadığımı ya da oyun tarzına çok fazla bakmadığımı söyleyerek başlatacağım. Ancak, web uygulamalarında 'kurumsal' kodlama uygulamalarını kullanmaya çalışmaktan, oyun kaynak koduna bakmak ciddi bir şekilde beni incitiyor: "Bu iş mantığı ile iş mantığı arasında ne yapıyor? Bu yeniden düzenleme ihtiyacı ... " Bu, beni bir …

3
Ana oyun döngüsünü nasıl yazmalıyım? [kapalı]
Ana oyun döngüsünü nasıl yazmalıyım? Oyun döngüsünde yapmanız gereken bazı şeyler ve oyun döngüsünde yapmamanız gereken bazı şeyler nelerdir? Onlardan pek çok şey yazdım, ama oyun döngülerinde hiç okumadım. Onları önemli ölçüde geliştirebileceğime eminim, ama nasıl emin olamadım.

9
Varlık iletişimi nasıl çalışır?
İki kullanıcı durumum var: Nasıl entity_Abir take-damagemesaj gönderirsiniz entity_B? HP'nin entity_Asorgusu nasıl olur entity_B? İşte şimdiye kadar karşılaştığım şey: Mesaj sırası entity_Abir take-damagemesaj oluşturur ve entity_Bmesaj kuyruğuna gönderir. entity_Abir query-hpmesaj oluşturur ve gönderir entity_B. entity_Bkarşılığında bir response-hpmesaj oluşturur ve ona gönderir entity_A. Yayınla / Abone entity_Btake-damagemesajlara abone olur (muhtemelen bazı …

11
Oyun mimarisi hakkında bilgi edinmek için iyi kaynaklar? [kapalı]
Oyun mimarileri hakkında bilgi edinmek için iyi bir kaynak var mı? Farklı mimarilere yüksek düzeyde genel bakış arıyorum. Varlıklar, fizik motorları, komut dosyaları vb. Gibi bir oyunun çeşitli parçaları hakkında bilgi bulma eğilimindeyim ama tüm parçaları bir araya getirme hakkında değil. Bonus olarak, oyun türü bunu nasıl etkiler? Örneğin, bir …
104 architecture 

8
Neden daha fazla oyun vektör sanatını kullanmıyor? [kapalı]
Bana göre vektör sanatının kaynaklar / ölçeklenebilirlik açısından daha verimli olduğu anlaşılıyor; Ancak, çoğu durumda bitmap / rasterleştirilmiş sanat kullanan sanatçılar gördüm. Bu, oyun programcıları / tasarımcıları tarafından sanatçılara uygulanan bir sınırlama mı? Bir programcı olarak, vektör sanatının daha ideal olacağını düşünüyorum, çünkü sanatı yeniden yaratmak zorunda kalmadan, gerçekten büyük …

11
Replay sistemi nasıl tasarlanır?
Peki bir yeniden oynatım sistemini nasıl tasarlarım? Warcraft 3 veya Starcraft gibi bazı oyunlardan, oyunu zaten oynandıktan sonra tekrar izleyebileceğinizden bildiğiniz gibi. Göreceli olarak küçük bir yeniden oynatım dosyası ile bitirdiniz. Yani benim sorularım: Veriler nasıl kaydedilir? (özel biçim?) (küçük dosya boyutu) Ne kurtulacak? Diğer oyunlarda bir zaman periyodu kaydetmek …


8
Bir Oyun Motorunda Etkinlikle İlgili İletişim: Evet mi Hayır mı?
Game Coding Complete'i okuyorum ve yazar, oyun nesneleri ve modülleri arasında Event Driven iletişimini önermektedir . Temel olarak, tüm canlı oyun aktörleri, dahili bir olay mesajlaşma sistemi aracılığıyla ana modüller (Fizik, AI, Oyun Mantığı, Oyun Görünümü vb.) İle iletişim kurmalıdır. Bu, etkin bir etkinlik yöneticisi tasarlamak zorunda kalması anlamına gelir. …

9
Oyuncu ve Dünya arasındaki dairesel bağımlılıklar nasıl önlenir?
Yukarı, aşağı, sola ve sağa hareket edebileceğiniz bir 2D oyun üzerinde çalışıyorum. Aslında iki oyun mantığı nesnesi var: Oyuncu: Dünyaya göre pozisyonu var Dünya: Haritayı ve oyuncuyu çizer Şimdiye kadar, Dünya bağlıdır Player oyuncu karakteri çizmek için nereye anlamaya konumunu gerek, (yani bir referansı vardır) ve haritanın hangi bölümü çizmek …

8
Oyun mimarimde birçok singleton bulundurmaktan nasıl kaçınabilirim?
Oyun oluşturmak için cocos2d-x oyun motorunu kullanıyorum. Motor zaten birçok tekil kullanır. Birisi kullandıysa, o zaman bazılarına aşina olmalı: Director SimpleAudioEngine SpriteFrameCache TextureCache EventDispatcher (was) ArmatureDataManager FileUtils UserDefault ve daha pek çoğu, yaklaşık 16 derslik. Bu sayfada benzer bir liste bulabilirsiniz: Cocos2d-html5 v3.0 içindeki Singleton nesneleri Ancak yazmak istediğimde oyun …

7
Başarıları ele almak için esnek bir çerçeve nasıl kurabilirim?
Özellikle, " x düşmanlarını öldür" gibi basit istatistiklere dayalı başarıların ötesine geçebilecek kadar esnek bir başarı sistemi uygulamanın en iyi yolu nedir . İstatistik temelli bir sistemden daha sağlam bir şey ve "hepsini koşullu olarak kodlamaktan" daha düzenli ve sürdürülebilir bir şey arıyorum. İstatistik tabanlı bir sistemde imkansız veya hantal …

10
Oyun Devleti 'Yığın'?
Oyun durumlarını oyunuma nasıl uygulayacağımı düşünüyordum. İstediğim başlıca şeyler: Yarı saydam üst durumları-duraklama menüsü ile arkasındaki oyuna görmek mümkün Bir şey OO-I bunu teoriyi kullanmak ve anlamak, bunun yanı sıra düzenlenmiş tutmak ve daha fazlasını eklemek için daha kolay buluyorum. Bağlantılı bir liste kullanmayı planlıyordum ve bir yığın olarak görüyordum. …

5
GameManager tanrı nesnesini nasıl önleyebilirim?
Oyun kodunu yapılandırmayla ilgili bir soruya cevap okudum . Her yerde bulunan GameManagersınıfı ve üretim ortamında sıkça nasıl bir sorun haline geldiğini merak etmemi sağladı . Bunu tarif edeyim. İlk önce prototip yapımı var. Kimse harika kod yazmayı umursamıyor, sadece oyunun eklenip eklenmediğini görmek için çalışan bir şey almaya çalışıyoruz. …

4
Dev oyuncu sınıflarından nasıl kaçınabilirim?
Bir oyunda neredeyse her zaman bir oyuncu sınıfı vardır. Oyuncu genellikle oyunda çok şey yapabilir, bu da benim için bu sınıfın, oyuncunun yapabileceği her bir işlevsellik parçasını desteklemek için bir ton değişkenle büyük olması anlamına geliyor. Her parça kendi başına oldukça küçük ama bir araya gelip binlerce kod satırına sahibim …

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.