Karmaşık bir oyun hikayesini veya görev sistemini yönetme


14

Bir oyunda karmaşık hikaye çizgilerini yönetmek için en iyi ne tür yöntemler kullanılır? Basit bir hikaye temelde duraklarla doğrusal bir çizgidir, bu yüzden o kadar zor olmaz, ancak daha karmaşık olanı temel olarak ayrıntılı bir yönlendirilmiş grafiktir ve düğümler arasında hareket etmek için belirli gereksinimler vardır. Peki, çok sayıda yolu ve hedefi olan karmaşık bir oyun hikayesini etkili bir şekilde nasıl saklar ve korur?

Yanıtlar:


4

Sisteminizin nasıl bir araya getirildiğine bağlıdır. Basit dallanma ise, tam olarak hangi yolda olduğunuzu söylemek için bazı bayraklarla doğrusal bir öykü olarak ele alın (veya bu şekilde görselleştirmeyi tercih ederseniz, her düğümün bir hikaye seçim noktası ve mevcut olduğu bir ikili ağaç yapısı Hikayedeki yer, düğümlerden birine işaretçi). Birbirini geçebilen birden fazla yol içeren biraz daha ilgili bir hikaye, aynı teknik kullanılarak yönlendirilmiş bir asiklik grafik olarak modellenebilir.

Oyuncunun aynı anda birden fazla görevi olabileceği tipik bir "açık dünya" görev sistemi gibi aynı anda devam eden birden fazla hikaye yayınız varsa ne olur? Görevler birbirleriyle etkileşime girmezse, her birine kendi ayrı doğrusal veya dallı mini ağacı gibi davranabilirsiniz. Ya birbirlerini değiştirirlerse? İşte benim tercih ettiğim seçenek:

Her düğümün bir görevi temsil ettiği değiştirilmiş bir yönlendirilmiş grafik. Burada düğümler arasında iki temel ok türü vardır: "etkinleştir" ve "devre dışı bırak". Bu şekilde, bir görevi tamamlamak yeni görevler açabilir ve ayrıca artık mantıklı olmayan eski görevleri geçersiz kılabilir (örneğin, her biri bir savaşın farklı bir tarafına yardımcı olacak bir dizi görev verilirse) hizipler, oyuncuyu bir tarafı seçip ona bağlı kalmaya zorlamak istiyorsanız, bir görevi tamamlamak diğer görevleri otomatik olarak gizleyebilir). Ayrıca her düğümde geçerli durumunu saklamak isteyeceksiniz: etkin (şu anda oyuncu tarafından görülebilir), etkin değil (oyuncu tarafından hiç görülmedi), tamamlandı (oyuncu görevi tamamladı), başarısız oldu (oyuncu görevi gördü ancak daha sonra, örneğin ayrı bir rakip görevin tamamlanmasıyla devre dışı bırakıldı).

Eğlenceli yan not: bir görev / hikaye için çalışan her sistem, aynı zamanda bir NPC ile bireysel bir konuşma ağacı için de çalışır ve bunun tersi de geçerlidir. Dolayısıyla, oyununuz için uygun bir konuşma sistemi bulursanız, bunu hikaye sistemi için değiştirmeye değip değmeyeceğini kendinize sorun.


Ayrıca, söz konusu oyuna bağlı olarak, grafik döngüsel olmayabilir: örneğin, oyuncunun hareket etmesini önleyen bir hata yaparsa, ancak daha önceki bir düğüm dizisini yeniden gözden geçirerek bir şansı varsa.
Jon Purdy

9

Neverwinter Nights araç seti, Çizim Sihirbazı olarak bilinen bu sorunu çözmek için ilginç bir girişim içerir. Başlangıçta araç seti ile birlikte gönderilmedi, bu nedenle yıllar önce bazı modül geliştirmeleri yaptıysanız tekrar denemeniz gerekebilir. İşte bir RPG grafiğini oluşturmak için tasarlanmış farklı bileşenlerin üzerinden geçen uzun bir öğretici .

Temel özet "çizim sihirbazı" yukarıdan aşağıya hikaye ve görevleri oluşturmak için izin olmasıdır. Örneğin, bir "fedex'e yol açan" özel bir betikli şey olan "10 şey getir" görevi için ilgili betikleri oluşturmasını söyleyebilirsiniz. Sihirbaz daha sonra arsa komut dosyasına bağlı bir dizi bağlantılı bileşen oluşturur ve bunları dünyaya yerleştirmenize izin verir. Bu, herhangi bir komut dosyası bağlantısını kesmeden NPC'leri veya düşmanları kolayca hareket ettirmenizi sağlar.

Bu tekniği kullanan başka bir ticari oyun bilmiyorum (çoğu komut dosyası ile kontrol edilen değişkenlerden bir ton kullanıyor gibi görünüyor), ancak her zaman bunun tam bir rpg veya macera oluşturmak için makul bir temel olduğunu hissettim tarzı oyun.


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.