Basit bir oyun motoru geliştiriyorum (önemliyse C # 'da) ve komut dosyası yazmayı mimarlık açısından uygulamak için yeterince iyi bir yol düşünemiyorum.
Savaşlar için özel, mantıktan bağımsız animasyonlarla basit, sıra tabanlı bir stratejidir. Sistem / düşük düzeyli şeyler için küresel bir mimari katmanı ve en önemlisi, bir olay yöneticisi kullanarak iletişim kuran iki ana modül - mantık ve oyun görüntüleme şeyleri - vardır.
Ve şey şu ki, komut dosyalarının hem oyun mantığıyla (birim parametrelerini değiştirme vb.) İlgili şeyleri hem de oyun görünümüyle ilgili şeyleri etkilemesini istiyorum. belirli kodlu tetikleyici.
(Dürüst olmak gerekirse, ideal olarak komut dosyasının oyun akışını kontrol etmesini ve mantığa / görünüme yalnızca temel mekaniği / grafikleri bırakmasını istiyorum, ancak bunun için yeniyim, bu yüzden şu anda yapabileceğimden emin değilim)
Üç seçeneği düşünüyorum:
Komut dosyası oluşturmanın mantık içinde yaşatmasına izin verin, ancak oyunun grafik tarafı hakkında bilgi verin. Ama bu mantık / bakış bölümünü çok belirsiz yapardı, değil mi ...
Komut dosyasını, aynı olay yöneticisini kullanarak diğerleriyle etkinlik alışverişinde bulunacak ayrı bir modül yapın. Ancak bu olay senkronizasyonu konusunda çok dikkatli olmayı gerektirir, sanırım ... ve ayrıca yöneticiye çok sayıda olay türü ekler. (Yine de, kişisel favori)
Komut dosyasını her şeyden önce bir modül yapın, böylece mantık / görünümün işlevlerini doğrudan etkileyebilir / çağırabilir. Bu, tüm olay değişim şemasını vidalama ve betiğin gerçekten olmaması gerektiğinde bir şeyleri kıracağından korkma doğasında daha geniş bir işlevsellik sağlar.
Yani, bunlardan birine karar veremiyorum ya da komut dosyası modülünü eklemenin daha iyi bir yolunu düşünemiyorum ... Herhangi bir öneri veya faydalı bağlantı var mı?
Teşekkür ederim!
Ps soruyu taşıdığınız için teşekkürler, gamedev için özel bir bölüm olduğunu bilmiyordum