Metlivi Blog

Bir Oyunun İlk Bölümünde Oyunculara NPC Konuşmalarının Neler Yapabileceği Nasıl Öğretilir?

Anlatı odaklı bir oyun tasarımcısı için ilk bölümün belirli bir görevi vardır: Oyuncuların bir NPC'ye ne sorabileceklerini, bir cevabın neleri değiştirebileceğini ve karakter yeterli bilgiye sahip olmadığında ne olacağını anlamalarına yardımcı olmak. Bu kuralları, oyuncuların deneyip inceleyebileceği, isteğe bağlı ve düşük riskli tek bir konuşma aracılığıyla öğretin. Bunu açılıştaki kontroller eğitiminden ayrı tutun: Buradaki amaç hareketi, menüleri veya çatışmayı açıklamak değil, konuşmanın sınırlarını belirlemektir.

27 Eylül 20269 dk okumaOkuma, sanat ve kültürYazan: Metlivi Editorial Team
Bölüm 1

İlk bölüm yapay zeka konuşmaları hakkında ne öğretmeli?

Oyunculara her şeyi sorabilecekleri vaadinde bulunmak yerine, küçük ve doğru bir beklenti seti öğretin. Bir oyuncu şunları ayırt edebilmelidir:

Bunlar, bu oyunun konuşma sistemi hakkında verilen sözlerdir; bu nedenle bunların gerçek uygulamayla örtüşmesini sağlayın. Yalnızca belirli konular veya eylemler destekleniyorsa, serbest biçimli metin girişine davet etmeden önce bu sınırı gösterin. Sistem anlamlı bir cevap sunamıyorsa, bir karakterin her sorunun anlamlı bir cevabı olduğunu iddia etmesinden kaçının.

**Ne tür girdilerin kabul edildiği:** Örneğin önerilen bir konuyu seçmek veya kısa bir soru yazmak.
**NPC'nin neleri tartışabileceği:** Karakterin karşılaştığı bir kişi, yer veya olay gibi.
**Hangi yanıtların oyunu etkilediği:** Bilgi veya atmosfer diyaloğunu, takip edilen bir durumu değiştiren bir eylemden ayırt etmek.
**Karakterin neleri bilmediği:** Cevapsız kalan sorular uydurma bir bilgi yerine karakterin sınırlarını koruyan net bir yanıt almalıdır.
**Güvenli bir şekilde nasıl deneme yapılabileceği:** Sonucu anlaşılması kolay olan ve oyuncuyu büyük bir seçime zorlamayan bir örnek soru gösterin.
Bölüm 2

İlk bölüm için oynanabilir kısa bir sekans

Kontroller kullanılabilir hale geldikten ve hikaye konuşmak için bir nedeni olan bir karakteri tanıttıktan sonra, oyuncunun normal oyun akışı sırasında ulaşabileceği bir anı kullanın. Aşağıdaki sekans bir tasarım örneğidir; isimleri ve durum etiketlerini oyununuza uyarlayın.

Bu sekans somut bir etkileşim üzerinden öğretir: Desteklenen bir bilgi sorusu, görünür bir eylem sınırı, durumu değiştiren isteğe bağlı bir seçim ve bir çıkış. Buradaki durum etiketleri, belirli bir oyun motoru veya uygulama hakkındaki bir iddia değil, açıklayıcı bir tasarım aracıdır.

**İsteğe bağlı bir konuşma sunun.** Iven adında bir kurye kilitli bir kapının yanında beklemektedir. Görünür bir etkileşim isteminde “Iven'a kuzey yolunu sor” yazar. Oyuncu yanından geçip bölüme devam edebilir. Diyaloğun açılmasına bağlı zorunlu hiçbir hedef yoktur.
**Sınırı bağlam içinde gösterin.** Oyuncu etkileşime girdiğinde Iven şöyle der: “Kuzey yolunda ne gördüğümü anlatabilirim. Kapıyı açamam ya da ben ayrıldıktan sonra ne olduğunu bilemem.” Kompakt bir arayüz ipucu iki olası konuyu işaret eder: “Yol koşulları” ve “Kapı.” Küçük bir etiket veya simge, “konuşma”yı “dünya eylemi”nden ayırır.
**Oyuncunun güvenli bir örnek soruyu denemesine izin verin.** Önerilen bir soru sunun: “Kuzey yolu kapalı mıydı?” Iven bilinen bir ayrıntıyla yanıt verir: “Bu sabah devrilen bir araba insanları yavaşlattı ama ben öğleden önce geçtim.” Yanıt faydalıdır, sınırları bellidir ve kendi başına bir dünya durumu değişikliği değildir. Oyuncu aynı şeyi kendi kelimeleriyle sorarsa sistem, desteklenen soruların tek bir kalıp ifade kullanmak zorunda olmadığını gösterebilir.
**Gerçek bir durum değişikliğini ayrı olarak gösterin.** Oyuncu ardından “Arabayı çekebilir misin?” diye sorabilir. Eğer Iven bunu yapabiliyorsa oyun, “Iven'dan arabayı çekmesini iste” gibi net bir eylem seçeneği sunmalıdır. Onayın ardından oyun ilgili durumu (örneğin `cart_moved = true`) kaydeder ve dünyada ya da konuşmada bunun sonucunu gösterir. Henüz bir eylem mümkün değilse hangi koşulun eksik olduğunu belirtin.
**Tamamlamaya zorlamadan kapatın.** Oyuncu istediği anda ayrılabilir. Tek bir soru sormuş, birkaç konuyu keşfetmiş ya da konuşmayı tamamen atlamış olsalar da bölüm devam eder.
Bölüm 3

Durum değişiklikleri nasıl anlaşılır hale getirilir?

Hem metin yazımında hem de arayüz tasarımında üç sonucu birbirinden ayırın:

Bilgi: “Araba bu sabah kuzey yolunu kapatıyordu.” — NPC bilgi paylaştı; hiçbir dünya eylemi ima edilmez.
Onay veya atmosfer: “Sorduğunu hatırlayacağım.” — Oyun bir sonucu takip etmediği sürece bu yalnızca bir diyalogdur. Gizli bir etki ima etmeyin.
Durumu değiştiren eylem: “Arabayı çekeceğim.” — Bir eylem mevcuttur ve oyun adlandırılmış veya gözlemlenebilir bir durumu güncelleyecektir.
Bölüm 4

Bir eylemin sonucunu gösterin

Faydalı bir kural, eylem dilini açık bir seçime bağlamak ve bunu görünür bir kanıtla tamamlamaktır: Değişen bir nesne, güncellenmiş günlük kaydı, yeni bir rota veya net bir onaylama. Bir eylem bir anahtar, önceki bir ipucu, ilişki durumu veya bölüm dönüm noktası gerektiriyorsa, eylemi engellediğinde bu gereksinimi anlaşılır kılın. İlgili durum değişmediğinde oyuncuya bir eylemin gerçekleştiğini söylemeyin.

Bölüm 5

Yazmaya başlamadan önce desteklenen NPC etkileşimlerini haritalandırın

İlk bölümdeki küçük bir karşılaşma için tasarımcı, diyaloğu yazmadan önce desteklenen her etkileşimi haritalandırabilir:

Bu basit harita, diyaloğu oyun durumuyla tutarlı tutmayı ve metindeki kazara verilmiş sözleri yakalamayı kolaylaştırır.

**Konu:** Oyuncu ne hakkında soru soruyor?
**Bilgi kaynağı:** Bu karakter cevabı neden bilebilir?
**Ön koşul:** Yanıtın verilebilmesi için hangi gerçekler veya durumlar geçerli olmalıdır?
**Sonuç:** Yanıt yalnızca bilgi mi sağlıyor, yoksa bir şeyleri değiştiriyor mu?
**Geri dönüş planı (fallback):** Soru desteklenen kapsamın dışındaysa veya gerekli bilgi eksikse karakter ne söylemeli?
Bölüm 6

Bir NPC bilmediğinde ne söylemeli?

Bir NPC **bilmemek**, **eyleme geçememek** ve **soruyu anlamamak** arasındaki farkı ayırt edebilmelidir. Bunlar oyuncu tarafında farklı sonuçlardır ve farklı yanıtlar gerektirir.

Geri dönüş yanıtı, sırf konuşmanın akışını sürdürmek adına bir ipucu uydurmamalıdır. Ayrıca oyuncuyu arayüzü test ettiği için cezalandırmamalıdır. Karakterin üslubuna sadık kalın, ancak pratik sonucu açıkça belirtin: Cevap bilinmiyor, eylem kullanılamıyor veya ifadenin netleştirilmesi gerekiyor.

**Bilgi sınırı:** “Doğu köprüsünün ötesine geçmedim.” Bu, karakterin bakış açısını belirtir ve tahminde bulunmayı engeller.
**Eksik oyun bilgisi:** “Anahtarı kimin aldığını bilmiyorum. Dünden beri görmedim.” Bunu oyun bu gerçeği henüz belirlemediğinde veya karakterin buna dair bir dayanağı olmadığında kullanın.
**Eylem kullanılamıyor:** “Kapı ekibi kullanırken arabayı çekemem.” Daha sonra değişebilecek bir koşul varsa, yardımcı olacağı yerlerde bunu adlandırın.
**Belirsiz veya desteklenmeyen istek:** “Yol ve kapı hakkındaki soruları cevaplayabilirim. Ne öğrenmek istersin?” Belirsiz bir hata vermek yerine desteklenen bir yön sunun.
**Tekrarlanan veya alakasız soru:** Sınırı koruyan kısa bir yanıt verin, ardından oyuncunun başka bir konu denemesine veya ayrılmasına izin verin.
Bölüm 7

Konuşmayı isteğe bağlı ve hafif tutun

Daveti fark edilmesi kolay hale getirin, ancak oyuncuların bunu görmezden gelmesine, erken ayrılmasına veya örnekten sonra durmasına izin verin. Bilgi bölümü tamamlamak için gerekliyse, buna ulaşmanın başka bir yolunu sağlayın veya konuşmayı açık, kasıtlı bir gereksinim haline getirin; zorunlu bir engeli isteğe bağlıymış gibi göstermeyin. Oyuncuları hangilerinin önemli olduğunu keşfetmek için her konuyu tüketmeye mecbur bırakmaktan kaçının.

Kısa bir görsel ipucu, girdi türlerini ayırt etmeye yardımcı olabilir: Farklı sonuçları varsa önerilen konular, serbest metin alanı ve eylem seçenekleri birbirinin yerine geçebilir gibi görünmemelidir. Talimatları ilgili etkileşime yakın tutun. [“Less Text, More Visuals”](https://aclanthology.org/2022.games-1.3/) adlı makale, dilbilimsel ve dil öğrenme oyunları oynayan 12 oyuncuyla yapılan nitel bir çalışmayı aktarmaktadır; katılımcılar görseller beklemiş ve çok fazla alıştırma metnini bunaltıcı bulmuş, aynı zamanda dilbilimsel bağlam ve geri bildirimle ilgili sorunlar tespit etmiştir. Bu, NLP amaçlı bir GWAP üzerine yapılmış dar kapsamlı bir çalışmadır; her oyunun daha az metne ihtiyacı olduğunun veya aynı yaklaşımın tüm türlerde işe yarayacağının kanıtı değildir. Bunu evrensel bir kural olarak değil, test etmek için bir neden olarak görün: İpucunu netleştirin, ardından oyuncuların bunu kendi oyununuzda anlayıp anlamadığını kontrol edin.

Diyalog temellendirmesi (dialogue grounding) üzerine yapılan araştırmalar buna bağlı ancak farklı bir ders sunar. [“A Framework for Exploring Player Perceptions of LLM-Generated Dialogue in Commercial Video Games”](https://aclanthology.org/2023.findings-emnlp.151/) çalışmasında, bir *Disco Elysium* subreddit'inden toplanan 28 oyuncu, yeniden oluşturulmuş bir RPG konuşma arayüzündeki diyalogları değerlendirmiştir. Yazarlar, katılımcıların mantıksal akışı ve oyun durumuna dayalı temellendirmeyi gerekçe göstererek orijinal tasarımcıların metinlerini GPT-4 üretimlerine belirgin şekilde tercih ettiğini belirtmektedir. Bu bir diyalog değerlendirmesiydi, ilk bölüm alıştırma testi değildi. Tutarlı, durumun farkında olan konuşmalara dikkat edilmesini destekler, ancak tüm oyunculara konuşma kurallarının nasıl öğretileceğini ortaya koymaz.

Bölüm 8

Oyuncuların doğru kuralları öğrenip öğrenmediğini kontrol edin

Sekansı oluşturduktan sonra, yeni bir oyuncunun uzun bir açıklamaya gerek duymadan dört pratik soruyu yanıtlayıp yanıtlayamadığını gözlemleyin:

Oyuncuların çıkardığı anlamlar ile sistemin gerçekte yaptığı arasındaki uyumsuzlukları arayın. Her cevabın dünyayı değiştirdiğini varsayıyorlarsa, bilgi ile eylem arasındaki ayrımı güçlendirin. Bir reddi hata sanıyorlarsa, sınırları veya mevcut konuları daha net hale getirin. Örnek sorunun zorunlu olduğuna inanıyorlarsa, istemi gözden geçirin ve bölümün o olmadan da ilerleyebildiğinden emin olun.

İlk bölümün olası her diyalog yolunu açıklaması gerekmez. Oyuncuların temsili, düşük riskli tek bir etkileşimi denemelerine, sonucunu anlamalarına ve NPC'nin bir sınırı nasıl ele aldığını görmelerine olanak tanıması gerekir. Bu kurallar netleştiğinde, oyuncular sorularının neleri değiştirebileceğine dair daha doğru bir hisle sonraki konuşmaları keşfedebilirler.

Bu karakter neleri tartışabilir?
Varsa, hangi seçim oyun durumunu değiştirdi?
Karakter bir cevabı bilmediğinde ne yapar?
Oyuncu konuşmadan ayrılabilir veya konuşmayı atlayabilir mi?
İlgili okumalar

Bu konuyu keşfetmeye devam et