Dallanan Oyun Hikâyeleri Nasıl Test Edilebilir Tutulur?
Dallanan bir hikâye büyüdüğünde, her olası rotayı ayrı bir uçtan uca senaryo olarak test etmek yerine, yolların farklı davranmasını sağlayan kararları ve durum değişikliklerini test edin. Anlatıyı bir grafik olarak modelleyin, her karardaki koşulları ve sonuçları tanımlayın; kritik geçişleri, yeniden birleşme noktalarını ve başarısızlıkları kapsayan küçük bir test paketi oluşturun. Ardından, yapılandırılmış kontrollerin değerlendiremeyeceği sorunları yakalamak için risk tabanlı rota örneklemesinden ve insanlı oyun testlerinden yararlanın. Bu, anlatı tasarımcılarına ve KG ekiplerine kapsamlı bir yol kapsamı iddia etmeden kusurları bulmanın tekrarlanabilir bir yolunu sunar.
Davranışı kaydeden bir grafikle başlayın
Oynanabilir her pasajı veya sahneyi bir düğüm (node), her seçimi ise yönlendirilmiş bir kenar (edge) olarak temsil edin. Kenarları koşulları ve etkileriyle açıklayın: örneğin, `has_key = true` koşulu, `gate_open = true` durumunu ayarlayan “Kapının kilidini aç” seçimini etkinleştirir. Bitişleri, döngüleri ve yeniden birleşme noktalarını açıkça işaretleyin. Yeniden birleşme noktası, farklı rotaların tekrar buluştuğu yerdir; hikâyenin istenmeyen bir durumu taşımadan birden fazla geçmişten devam edebildiğini kontrol etmek için kullanışlı bir noktadır.
Grafik, yalnızca düzyazı yapısını değil, oyunun gerçekte neyi değerlendirdiğini yansıtmalıdır. Bir seçimin hangi değişkenleri okuduğunu, hangilerini yazdığını ve daha sonraki hangi düğümlerin bunlara bağımlı olduğunu kaydedin. Varsayılanları, sıfırlama kurallarını ve tek seferlik etkileri dahil edin. Bir bayrak bir dalda ayarlanır ve hiç temizlenmezse, bu kasıtlı olabilir; bunu belgelemek, sonucun inceleme ve test için görünür olmasını sağlar.
Bu yapı, uzun bir metinde gözden kaçması kolay olan karar noktalarının bulunmasına da yardımcı olur. Alexey Tikhonov'un 2024 tarihli bir makalesi, dallanan anlatılarda karakter karar noktalarının tespitini incelemekte ve Kendi Maceranı Kendin Seç oyun grafiklerine dayalı bir veri kümesi önermektedir. Çalışmanın görevi, bir KG yöntemini doğrulamak değil, anlatısal karar noktalarını tanımlamakla ilgilidir; ekiplerin seçimlerin envanterini nasıl çıkaracağı konusunda fikir verebilir, ancak buradaki test yaklaşımının etkili olduğunu göstermez. [Tikhonov, “Branching Narratives: Character Decision Points Detection”](https://aclanthology.org/2024.games-1.8/)
Yalnızca sahne ziyaretlerini değil, durum geçişlerini test edin
Bir düğümün göründüğünü doğrulayan bir test, bozuk bir seçimi gözden kaçırabilir. Her önemli seçim için üç şeyi kontrol edin: seçimin hedeflenen koşul altında mevcut olup olmadığı, seçilmesinin beklenen durum değişikliğini uygulayıp uygulamadığı ve sonraki düğüm ile görünür sonucun bu durumla eşleşip eşleşmediği. Bu kontroller hikâyeyi bir durum geçiş sistemi olarak ele alır: belirli bir başlangıç durumu ve eylem verildiğinde, ortaya çıkan durumu ve hedefi doğrulayın.
Örneğin, “Haritayı göster” seçimini yapan bir test, haritanın gösterildiğini, `trust` değerinin değişmediğini ve rotanın paylaşılan gözlemevi sahnesine ulaştığını doğrulayabilir. Eşleştirilmiş bir test `has_map = false` ile başlar ve bu seçimin kullanılamadığını veya belirtilen alternatifi izlediğini doğrular. Beklenen kesin davranış anlatı şartnamesine bağlıdır; önemli olan, doğruluğu bir pasaj başlığından çıkarmak yerine bunu açıkça doğrulamaktır.
Yeniden birleşme noktalarında yalnızca varıştan fazlasını test edin. Her rotanın koruması, değiştirmesi veya atması amaçlanan durumu karşılaştırın. Bir kolda ikna edilen bir muhafız, birleşmeden sonra da müttefik olarak kalabilirken, geçici bir kılık değiştirmenin süresi dolmalıdır. Bu kuralları, yeniden birleşme sonrası beklenen durumun bir parçası yapın. Rotaların tamamen birleşmesi amaçlanıyorsa paylaşılan durumu doğrulayın; anlamlı farklılıkları korumaları gerekiyorsa bu farklılıkları da doğrulayın.
Kapsamı görünür kılmak için kurgusal bir örnek kullanın
Kısa bir gizem hikâyesinin arşivde bir karara sahip olduğunu varsayalım. Oyuncu yardım isteyebilir, gizlice içeri girebilir veya ödünç alınmış bir anahtarı kullanabilir; her rota aynı koridora ulaşır, ardından daha sonraki bir seçim oyuncunun mühürlü bir mektubu alıp almayacağını belirler. Aşağıdaki kurgusal matris, kompakt bir test yükümlülükleri dizisini izler. “Kapsandı”, tüm rotanın veya her kombinasyonun test edildiği anlamına değil, belirli yükümlülük için bir test planlandığı anlamına gelir.
**A:** `trust = high`; arşivciden yardım iste. Yardım seçeneği görünür; `trust` yüksek kalır; rota koridora ulaşır. Seçim kullanılabilirliği ve geçiş
**B:** `trust = low`; yardım iste. Yardım seçeneği belirtildiği gibi gizlenir veya reddeder. Olumsuz koşul
**C:** `has_key = true`; yan kapının kilidini aç. Kapı açılır; rota koridora ulaşır; anahtar yalnızca belirtilmişse tüketilir. Durum etkisi ve yeniden birleşme
**D:** `has_key = false`; yan kapıyı dene. Kapı açılamaz; hiçbir başarı bayrağı ayarlanmaz. Olumsuz doğrulama
**E:** Koridordan mühürlü mektubu al. `has_letter = true`; sonraki kanıt sahnesi mektuba özel repliği sunar. Akış yönündeki sonuç
**F:** Koridordan mektubu bırak. `has_letter = false`; mektuba özel replik yoktur. Sonuç karşıtlığı ve olumsuz doğrulama
Bu bir kapsama yüzdesi veya evrensel bir minimum paket değil, bir karar yardımcısıdır. İhmalleri anlaşılır kılar: burada, düşük güven eşiği ve “mektubun olmaması” sonucu kendi kontrollerini hak eder çünkü sorunsuz bir rota ziyareti bunları doğrulamaz. Değişen bir koşulun etkilenen testlere kadar izlenebilmesi için her satır grafikteki ilgili düğüme veya geçişe işaret etmelidir.
Kombinasyonlar arttığında dal kapsamına öncelik verin
Bir hikâyede çok sayıda bağımsız bayrak varsa olası kombinasyonların sayısı hızla artabilir. Buna her teorik rotayı zorunlu bir tam oynanış olarak listeleyerek yanıt vermeyin. İlk olarak yüksek riskli kenarları belirleyin: sonları engelleyen, öğeleri tüketen, kalıcı ilişki olgularını ayarlayan veya geçmişleri birleştiren seçimler. Bu geçişleri ve bunların akış yönündeki önemli sonuçlarını doğrudan test edin.
Ardından kombinasyonları bilinçli olarak örnekleyin. Sınır koşullarını (bir seçimi değiştiren minimum değer), her kritik koşulun her iki tarafını, etkileşime girebilecek temsilci bayrak kombinasyonlarını ve bir yeniden birleşme noktasına farklı geçmişler üzerinden ulaşan rotaları dahil edin. Yakın tarihli değişikliklere ve karmaşık önkoşullara sahip yollara öncelik verin. İki değişken etkileşime girebildiğinde, ayrı tek değişken kontrollerinin kombinasyonun çalıştığını kanıtladığını varsaymak yerine o çift için bir test ekleyin.
Kapsam birimini ve sınırlarını kaydedin. Bir ekip her kritik seçim kenarının uygulanıp uygulanmadığını, ilgili yerlerde her koşulun hem doğru hem de yanlış olarak kontrol edilip edilmediğini ve her bitiş tetikleyicisine tasarlanmış en az bir testle ulaşılıp ulaşılmadığını takip edebilir. Bunlar neyin örneklendiğine dair yararlı raporlardır; hiçbiri her olası geçmişin, durum kombinasyonunun veya ifade sorununun araştırıldığını kanıtlamaz.
Oyun testleri üzerine yapılan araştırmalar ilgili ancak sınırlı bir fikir sunabilir. Gordillo ve çalışma arkadaşlarının 2021 tarihli arXiv makalesi, karmaşık bir 3B senaryoda durum kapsamını keşfetmek için yeni eylemler karşılığında ödüllendirilen pekiştirmeli öğrenme ajanlarını tanımlamaktadır. Bu çalışma, dallanan anlatı seçimleriyle veya burada açıklanan belirli geçiş testi yöntemiyle değil, 3B bir oyun ortamındaki keşifle ilgilidir. Otomatik keşfe olası bir tamamlayıcı olarak yaklaşılmasını destekler, ancak ne bu çalışma ne de Tikhonov'un makalesi bu tam anlatı testi yöntemini doğrulamaz. [Gordillo et al., “Improving Playtesting Coverage via Curiosity Driven Reinforcement Learning Agents”](https://arxiv.org/abs/2103.13798)
Olumsuz doğrulamalar ve insanlı oyun testleri ekleyin
Olumlu doğrulamalar, beklenen seçimin veya sonucun var olduğunu teyit eder. Olumsuz doğrulamalar ise yasaklanmış bir şeyin gerçekleşmediğini teyit eder: kilitli bir seçeneğin görünmemesi, tüketilen bir ipucunun iki kez verilmemesi, bulunmayan bir mektubun repliğini tetiklememesi veya başarısız bir girişimin başarı bayrağını ayarlamaması. Olumsuz kontroller, başka bir rotadan kalan eski durumun mevcut sahneye sızabileceği paylaşılan düğümlerin etrafında özellikle yararlıdır.
Otomatik kontroller rota mantığını ve kesin durum değişikliklerini doğrulayabilir, ancak bir geçişin tutarlı hissettirip hissettirmediğini, bir repliğin oyuncunun hatırladıklarıyla çelişip çelişmediğini veya bir seçimin bağlam içinde anlaşılır olup olmadığını güvenilir bir şekilde değerlendiremez. Bu nedenle insanlı oyun testleri belirli bir amaçla seçilmiş rotaları kullanmalıdır: test uzmanlarından daha az yaygın bir kolu izlemelerini, belirli bir geçmişle yeniden birleşmeye ulaşmalarını veya bir anahtar eksikken bir sona ulaşmaya çalışmalarını isteyin. Hem ortaya çıkan durumu hem de oyuncunun bunu nasıl yorumladığını gözlemleyin.
Oyun testi notlarını düğüm ve seçim tanımlayıcılarının yanı sıra ilk duruma ve atılan adımlara bağlı tutun. Bu, bildirilen bir sorunu yeniden üretilebilir kılar ve bir yazım endişesini bir mantık hatasından ayırmaya yardımcı olur. Bir düzeltmeden sonra, etkilenen geçiş testlerini ve değiştirilen yeniden birleşme veya sonuç üzerinden en az bir temsilci rotayı yeniden çalıştırın.
Değişen bir hikâye için pratik bir test döngüsü
Her hikâye güncellemesi için grafiği dışa aktarın veya gözden geçirin; değişen düğümleri, koşulları, etkileri ve yeniden birleşme noktalarını belirleyin, ardından kapsam matrisini güncelleyin. Önce odaklanmış durum geçişi testlerini çalıştırın; ardından yüksek etkili veya yeni değiştirilen bölümler için seçilmiş rota örnekleri ve insanlı oyun testleri ile devam edin. Bir hata ortaya çıktığında, ekibin bunu yeniden üretebilmesi, ilgili kuralı veya pasajı onarabilmesi ve bu durumu bir regresyon kontrolü olarak saklayabilmesi için başlangıç durumunu ve seçim sırasını kaydedin.
Amaç, neyin neden kontrol edildiğine dair test edilebilir bir açıklamaya sahip olmaktır. Bir grafik yapıyı incelenebilir kılar, geçiş testleri mantığı belirginleştirir, dal örneklemesi çabayı anlamlı varyasyona yönlendirir, olumsuz doğrulamalar sızan durumu yakalar ve insanlı oyun testleri yorumlamayı değerlendirir. Yollar çoğaldıkça, neyin test edilmediğine dair net bir sınır bırakırken birlikte yararlı bir kapsam sağlarlar.
