Stage Whisper 'Her Şeyi Bilen NPC' Sorununu Nasıl Çözüyor: Bağlam İzolasyonu Mimarisi

Karakterimin üç seans önce söylediği bir şeyi alıntılayabilen NPC'leri görmek oldukça havalıydı. Hafıza sistemi çalışıyordu. NPC'ler geçmiş olaylara atıfta bulunuyor, söylediğim şeyleri alıntılıyordu. AMA, aynı zamanda farklı bir sorun başlattı: NPC'ler her şeyi bilir hale gelmeye başladı.

İşte yakın zamandaki bir seanstan bir alıntı, ilgili kısım vurgulanmıştır:

"Peki," diyor, sesi yaprakların hışırtısı üzerinden kolayca taşınarak, "beni aramaya gelmenin asıl nedeni ne? Merak mı, yoksa sadece o kaotik masanın geri kalanını toplamaktan kaçınmaya mı çalışıyorsun?"

Bu, bu karakterin parçası olmadığı tamamen farklı bir sahnede olan bir şeye atıfta bulunuyordu. Karakterin bunu bilmesinin hiçbir yolu olmamalıydı.

Bunun gibi küçük tutarsızlıklar sürükleyiciliği bozar. Ancak diğer durumlarda, oyun bozucu olabilir. Örneğin, karakterimin şüphelenmeyen insanlarla dolu bir dünyada gezinen gizli bir vampir olduğu bir maceram var. NPC'ler sırrımı bildiklerini gelişigüzel ima etmeye başladılar, bu da birden şüphelenilmeden günü geçirmemi çok zorlaştırdı. Veya diğer örneklerde, bir soygunda bir eser çaldıysam ve sonra ilgisiz bir karakter şüpheli yorumlar yapıyorsa.

Yapay zeka temelde, dramatik etki için bağlamdaki tüm sırları kullanmaya karar verdi, ki bu gerçekten sadece olay örgüsü nedenleriyle çok nadiren olmalıdır.

Peki neden yapay zekaya bunu yapmamasını söyleyemiyorum?

Sorun, bir olumsuzu başarmaya çalışıyor olmanızdır. "Bu bilgiyi kullanma." Bu, olumlu durumdan temelde farklı ve çok daha zor bir görevdir: oradaki bilgiyi kullan. Bir modeli ilgili bağlamı görmezden gelmek üzere eğitmek için, bilginin açıkça mevcut olduğu ancak çıktının kasıtlı olarak kullanmadığı binlerce durum örneğine ihtiyacınız olurdu. Bu, bir yapay zekanın yapmak üzere tasarlandığı şeyin neredeyse antitezidir. Çoğu görev için, faydalı bağlamı görmezden gelmek işte başarısız olmak olurdu.

Muhtemelen bir model, sırlara göre hareket etmeme konusunda daha fazla örnekle eğitilebilir. Ancak anlatı ve rol yapma, şimdiye kadar model yaratıcıları için büyük bir odak olmadı, bu yüzden bu sorun hak ettiği ilgiyi görmedi.


Bu gizli vampir macerasında bunu düzeltmem gerektiğini fark ettim. Macera, karakterimin çoğu zaman normal bir insan olarak geçebileceği şekilde kurulmuştu ve tüm mesele, yakalanmadan bu gerilimde gezinmekti. Herhangi bir NPC sırrı öğrendiğinde bu büyük bir anlatı anı olurdu, çünkü o zaman bu konuda sessiz kalmaya ikna edilmeleri gerekirdi.

Keşfettiğim şey, hemen hemen her potansiyel düşmanın bir şekilde bildiğiydi. Hiçbir şey açığa vurmamış olmama rağmen. Ve bu hemen olay örgüsünü bozucuydu. Başımın üzerinde vampir olduğumu duyuran büyük bir tabela varmış gibi hissettiriyordu. Karakterim sürekli hasar kontrolü yapıyordu veya her karakterin benimki üzerinde kozu varmış gibi hissediyordu.

Uzun süre istemlerle deney yaptım. Sonunda bilgiyi bağlama hiç dahil etmemem gerektiğini fark ettim.

Çözüm, o halde, bağlam izolasyonudur. Yapay zeka gördüğü her şeyi kullanmaktan kendini alamıyorsa, o zaman bilgi gerçekten orada olmamalıdır. Bu, Stage Whisper'da başarılabilir çünkü her sahne ve anı zaten içinde görünen NPC'lerle etiketlenmiştir, bu yüzden sadece gerçekten orada olan karakterleri dahil etmek için kolayca filtreleyebiliriz.

Ama işte püf noktası. Bazı sırlar büyük olay örgüsü itici güçleridir. Onları tamamen silemezsiniz, çünkü hikayenin hâlâ onları hesaba katması gerekir. İster bir soygun olsun, ister gizli bir vampir, bu sırlar anlatının özüdür ve onlar olmadan aynı hikaye olmazdı.

Bu yüzden metin üretimimizi ikiye bölmek zorunda kaldık.

İlk kısma Hikaye Yönetmeni diyorum. Genel hikayeyi yönetir: olay örgüsü, anlatı vuruşları. Tüm sırlara sahiptir ve bu sırlar göz önüne alındığında hikayeyi en iyi nasıl öreceğine karar verebilir. Henüz hiçbir karakterin bilmemesi gereken şeyler de dahil olmak üzere tam resmi anlar.

İkinci kısma Sahne Yönetmeni diyorum. Hikaye Yönetmeni tarafından kendisine verilen sahneyi "canlandırır". Tüm ilgili NPC anılarına ve kişiliklerine erişimi vardır, bu yüzden tüm NPC'leri oynamak ve biraz ara anlatım sağlamak için yeterli bilgiye sahiptir, ancak sırları gerçekten bilmez.

Birinden diğerine bazı bilgilerin geçmesi gerekir, böylece birbirlerine karşı çalışmadan aynı hikaye üzerinde çalışabilirler.


Hikaye Yönetmeni, Sahne Yönetmeni'ne bilmesi gereken her şeyi anlatan bir sinopsis üretir. Şuna benzer:

<synopsis>
  Elian, Maeve ile birlikte Oda 314'e döner, tanıdık gizlilik tılsımları, muhteşem gösterileri sırasında toplanan dikkatten kısa bir soluklanma sunar. Alışılmadık bir günün ardından Maeve'in çalışma ihtiyacını sezen Elian, biraz yalnız keşif için odasından ayrılmaya karar verir
  <npc_list>maeve-corwin</npc_list>
  <location>room-314</location>
  <new_scene/>
</synopsis>

Bu, Sahne Yönetmeni'ne sahnede neler olduğunu, nerede olduğunu, içinde kimin olduğunu ve yeni bir sahne olup olmadığını söyler. Oyuncu karakterinin varlığı varsayılır. Hikaye Yönetmeni ayrıca isteğe bağlı olarak oyuncuya karakter dışı konuşma yayınlayabilir ve kendi gelecekteki kullanımı için ayrıntılı performans notları oluşturabilir.

İki yönetmen aynı bağlamı görmez. İşte bölünme:

Hikaye Yönetmeni şunları görür:

Bu, Hikaye Yönetmeni'nin ilginç, tutarlı olay örgüsü kararları vermesi için gereken her şeydir. Çok fazla veridir, ancak KV önbellek maliyetleri yönetilebilir tutar.

Sahne Yönetmeni şunları görür:

Bu kasıtlı olarak azaltılmış bir görünümdür. Sahne Yönetmeni, sahneyi yürütmek için ihtiyacı olan her şeye ve sahip olmaması gereken hiçbir şeye sahiptir.

İki karakter kağıdı

Genel ve tam oyuncu karakter kağıdı ayrımı anahtardır. Hikaye Yönetmeni'nin hikayeyi üretmek için tam ayrıntıları ve tüm sırları bilmesi gerekir. Ancak Sahne Yönetmeni bu ayrıntıları bilmemelidir. Yine de oyuncu karakterinin fiziksel olarak kim olduğunu, neye benzediğini, genel itibarını, herhangi bir NPC'nin sadece etraflarında olmaktan makul olarak toplayacağı şeyleri bilmesi gerekir. Ayrı bir genel kağıt tutmak, Sahne Yönetmeni'nin sırlara asla erişmesi gerekmeden her zaman bu bağlama sahip olması anlamına gelir.

Anıları sahneye göre filtreleme

Her sahne, hangi NPC'lerin mevcut olduğuyla etiketlenmiştir. Bu, her NPC için hangi son sahnelerin ilgili olduğunu tam olarak bildiğimiz ve bunları Sahne Yönetmeni'nin bağlamına eklediğimiz anlamına gelir. Mevcut seans içindeki sahnelerin yüksek derecede ilgili olduğu varsayılır. Daha eski anılar için, anlamsal arama önemli olabilecekleri yüzeye çıkarır.

Sonuç, sahnedeki karakterlerin bilmediği şeyleri gerçekten bilemeyen bir Sahne Yönetmeni'dir. Bilmemesi söylendiği için değil, bu bilgi fiziksel olarak orada olmadığı için.


Karakterimin, miras yasaları nedeniyle ailesinin küçük soyluluk unvanını güvence altına almak için erkek gibi giyinmek zorunda olan bir insan kadın olduğu bir macera yürütüyorum. Hafif bir komedi macerası ve bu cinsiyet karışıklığından kaynaklanan birkaç komedi senaryosu içeriyor.

Bu sistem olmadan, NPC'leri şaşırtmanın genellikle bir yolu yoktur. Hepsi bir şeyden şüpheleniyormuş gibi davranırlar. Belki doğrudan değil, ama sizinle konuşma şekillerinde her zaman bir bilme havası vardır. Tanımlaması zor, ama hissedebilirsiniz. Gizli bir kimliğin dramatik gerilimi orada değildir.

Ama bu sistem yerindeyken, NPC'ler tamamen düz oynarlar. Hiçbir fikirleri yoktur. Ve büyük açıklamanın olduğu sahneler gerçekten etkili olur, çünkü o noktaya kadar buna kesinlikle hiçbir ima yoktur. Komedi işe yarar çünkü seyirci, NPC'ler, gerçekten gelmesini beklemezler.

Bir uç durum var. Sahne Yönetmeni tam sırrı bilmediği için, ara sıra anatomik olarak yanlış ayrıntılar yapar. Sahne Yönetmeni bu ayrıntıları içermeyen genel bir karakter kağıdından çalıştığı için bunu önlemek zordur. Geçici çözüm, üçüncü bir adım eklemek olurdu: Hikaye Yönetmeni, bunun gibi tutarsızlıkları yakalamak için üretilen sahneyi yayınlanmadan önce inceler. Bu maliyet ve gecikme ekler, bu yüzden yol haritasında ama henüz uygulanmadı.

Beni şaşırtan bir şey: bir sır oyun içinde açığa çıktığında, doğal olarak yayılır. Sahne Yönetmeni önceden üretilmiş sahneleri tutar, bu yüzden bir NPC bir sahnede bir şey öğrendiğinde, bu bir sonraki tur için onların bağlamının bir parçası haline gelir. Sahnelerin sonunda, bu sahneler NPC için anılar oluşturur. Seansların sonunda, NPC kağıtları güncellenir. Bunların her ikisi de, bireysel bir NPC'nin bir sır hakkındaki bilgisinin kaydedildiği ve hikayenin artık o NPC'nin gerçekten bilgi sahibi olduğu şekilde devam edebileceği anlamına gelir.


Takas

Bu yaklaşım bedava değildir. Maliyet artar, ancak tam olarak iki katı değil, çünkü Sahne Yönetmeni'nin bağlamı nispeten hafiftir. İstem önbelleği de önemli ölçüde yardımcı olur. Sahne oynandıkça, bağlamın sonuna yeni turlar eklenir, bu da istemin %90'ının her seferinde yeniden üretilmek yerine önbellekten gelebileceği anlamına gelir.

Şu anda tüm maceralar için etkindir. Mimari değişiklikler o kadar önemlidir ki, bu kurulumu atlayan bir yol sağlamak mantıklı değildir. Çoğu macera için takas buna değer, hikayenizde büyük sırlar olmasa bile, çünkü NPC tutarlılığı her durumda önemlidir.

Bunun kilidini açtığı şey: Oyun Yönetmeni

İki aşamalı boru hattı faydalı bir şey gösterir: görevleri optimize edilmiş bağlamlarla daha özel yapay zekalar arasında bölmek, her şeyi yapan bir yapay zekadan daha iyi sonuçlar verir. Bu, doğal bir üçüncü aşamaya yol açıyor.

Ben buna Oyun Yönetmeni diyorum. İşi, MÜRYO mekaniklerini yönetmektir: zar atışları, beceri kontrolleri, durum takibi. Bağlamı diğerlerinden farklı şekilde optimize edilebilir, çünkü anlatı geçmişinden çok oyun kuralları ve oyun durumuyla ilgilenir.

Bir Oyun Yönetmeni eklemenin beklenmedik bir faydası var. Oyuncu bir beceri kontrolü gerektiren bir şey denediğinde her turda çalıştığı için, oyuncu girdisinin son sahnenin devamı mı yoksa yeni bir şey mi olduğuna da karar verebilir. Oyuncu olay örgüsünü ilerletmeden sadece bir NPC ile sohbet ediyorsa, Oyun Yönetmeni Hikaye Yönetmeni'ni tamamen atlayabilir ve Sahne Yönetmeni'nin sahneyi kendi başına sürdürmesine izin verebilir. Sahne Yönetmeni NPC kağıtlarına sahiptir ve anı aramaları yapabilir, bu yüzden tam bir Hikaye Yönetmeni çağrısının yükü olmadan bu şekilde diyalog sürdürebilir.

Mimarinin gittiği yön budur: her katmanda yerleşik maliyet tasarrufu optimizasyonlarıyla giderek daha özel hale gelen üç aşamalı bir boru hattı.


Stage Whisper, uzun soluklu bir maceranın derinliği ve tutarlılığıyla solo MÜRYO oynamak isteyen insanlar için inşa edilmiştir. Bu bağlam izolasyonu mimarisi de dahil olmak üzere hafıza sistemi, bunu mümkün kılan şeydir. Pratikte nasıl çalıştığını görmek için başlayın veya Discord'umuza katılın.

Stage Whisper'ın hafıza sistemi hakkında daha fazlası için, Bölüm 1: Anlatı Tutarlılığı ve Bölüm 3: NPC Rüya Görmesi bölümlerine bakın.