Skyrim metinde oluşturulmuş

Fraktal hikayeler veya açık dünya metin macerasının nasıl oluşturulacağı

Bir süre önce metin tabanlı bir Skyrim oluşturmaya karar verdim. Bu ilk başta aşırı hırslı gelebilir, ancak hikayeyi ve oyunun mekaniğini geliştirdikçe, temel unsurlarını keşfettim: bir kılıç & amp; Kendi Maceranızı Seçin (CYOA) kitabı olarak sunulan canlı, simüle edilmiş bir dünyada büyücülük oyunu.

Fikir, bu yılki IFCOMP’a sunduğum Insignificant Little Vermin adlı kısa bir oyunu dünyaya çoktan getirdi. Bu makalede, bu oyunu geliştirme sürecinde size rehberlik edeceğim ve (Twitch’te) insanların oyunu oynamasını izleyerek öğrendiklerimden bahsedeceğim.

Wh y Skyrim?

Burada Skyrim’den bahsettiğim gerçeğine fazla takılmayın. Benim için Skyrim, örnek olarak kullanabileceğimiz, yeterince tanınmış bir fantezi açık dünya video oyunu.

Önemli olan, oyuncunun keşfedebileceği bir dünyayı simüle etmemizdir. Bu dünyada, oyuncunun etkileşime girebileceği aktörler (canavarlar, NPC’ler) ve varlıklar (kılıçlar, kapılar, sandıklar vb.) Skyrim’de dünya 3 boyutlu olarak gösteriliyor ve oyuncu “ileri git” veya “silahı sol elinde kullan” gibi düşük seviyeli komutlar veriyor.

Simülasyonun amacı oyuncuyu eğlendirmektir. Yani Skyrim’in “gerçek dünya süreçlerini olabildiğince yakından taklit etmeye” çalıştığını öne sürmek için “simülasyon” kelimesini kullanmıyorum. Bana göre sabit bir güncelleme döngüsüne sahip her video oyunu, bir İtalyan tesisatçısının prensesi kurtarmak için yaptığı yolculuğun 2D simülasyonu olsa bile, bir çeşit simülasyon.

İlk deneyin, bilinçli olarak saf bir başlangıç ​​

Skyrim’i bir metin macerasına taşımanın en saf yolu, dünya simülasyonunu 3D oyunda olduğu gibi alıp her seferinde bir kare oynayarak neler olup bittiğini açıklamak ve oyuncudan düşük seviyeli girdi istemek olacaktır. Şunun gibi görünecektir:

Beyazın Dışı

[…]

Kuzeydoğu’ya dönük {351.0, 211.9} koordinatlarında duruyorsunuz. Kılıcın% 12 orta kanat.

{351.1, 210.8} koordinatlarında, SSW’ye bakan bir haydut görüyorsunuz. Baltası% 78 orta kanatta ve ıskaladı.

yukarı itme ok
& gt; aşağı itin ok
sol oku itin
sağ oku itin

{354.9, 212.5} koordinatlarına bir adım geri gidersiniz. […]

Tahmin edebileceğiniz gibi, buradaki oyun ve hikaye deneyimi kesinlikle berbat olurdu. Ve çıktıyı, girdiyi veya metinde gösterilen her çerçevenin uzunluğunu nasıl değiştirirseniz değiştirin, yine de berbat olacaktır.

İkinci deneme

Bunu çözmenin bir yolu, soyutlama düzeyini artırmaktır. Hala Skyrim’in dünya simülasyonunu kullanıyoruz, ancak yalnızca en üst düzeyde – harita, nesneler ve yerler arasındaki mesafeler, oyuncuların konumu, NPC’ler, canavarların nerede ortaya çıkacağı vb.

Beyazın Dışı

Güneyden Whiterun’a varıyorsunuz. Sizi bekleyen, elinde baltalı ve savaşmaya hazır yalnız bir haydut var.

& gt; haydut öldür
koş

Kılıcını kaldırıyorsun ve haydutu suçluyorsun. & lt; Bir dövüş için ilginç bir açıklama ekleyin. & gt;

Bu son vuruş haydutun boğazına bağlanır ve yere düşer. Yanına diz çöküp altınını almaya çalışırken, dizinizden bir inçten daha az bir mesafede yere bir ok çarpıyor. Atlayıp yakındaki tepede bir okçu görüyorsunuz.

& gt; okçuyu öldür
haydut ara
çalıştır

& lt; Başka bir ilginç dövüş açıklaması ekleyin. & gt;

Şimdi, buradaki oyun biraz daha iyi ve bu tür bir deneyim eğlenceli bile olabilir. Oyuncu, simüle edilen dünyanın farklı yerlerine gidebilir, insanlarla konuşabilir, onları arayabilir ve Skyrim hikayesini deneyimleyebilir.

Ancak kabul edelim ki, Skyrim’i eğlenceli kılan şeyin büyük bir kısmı dövüştür. Yani “haydut öldür, okçuyu öldür” pek yeterli gelmiyor. En iyi ihtimalle, dövüşlerin gerçekten ilginç açıklamalarıyla Conan Kill Everything gibi bir şeyin daha uzun bir versiyonuna sahip olacaksınız. Ancak büyük olasılıkla, oyuncu ilk birkaç dövüşten sonra sıkılacak ve oyunu bırakacaktır.

Bu bizi önemli bir soruya getiriyor: Skyrim’de savaşı eğlenceli kılan nedir zaten? Aynı şeyleri tekrar tekrar yapıyoruz ve her savaş büyük ölçüde benzer. İlk zindandan sonra onlardan nasıl sıkılmayız?

Cevap iki yönlüdür:

Skyrim size defalarca benzer bir mücadele verebilir ve sadece sıkıcı hale gelmekle kalmaz, aynı zamanda harika bir eğlencedir! Bu, tekrarlı olmasına rağmen değil, tekrar, eylemlilik ve öngörülemezlik kokteyli yüzünden.

Video oyunları ve metinlerle evlenmeye çalışmanın temel sorunu burada yatıyor.

Metin oyunları normalde bunu iki şekilde çözer: Ya mümkün olduğunca tekrardan uzak dururlar (bu, oyunu daha entelektüel hale getirir – tüm durumlar ve çözümler benzersizdir) ya da tekrarlayan oyunu bir grup mini oyuna bölerler. Eski yaklaşımın harika örnekleri için, en iyi geleneksel etkileşimli kurguların neredeyse herhangi birine bakın. İkincisinin bir örneği için, parlak Büyücülük’e bakın! dizi.

Üçüncü deneme

Skyrim’in oynayışının büyük ölçüde savaş etrafında odaklandığını zaten anladığımız için, hadi mini oyun yaklaşımını deneyelim (daha entelektüel, tekrar etmeyen yaklaşım değil).

Beyazın Dışı

Güneyden Whiterun’a varıyorsunuz. Sizi bekleyen, elinde baltalı ve savaşmaya hazır yalnız bir haydut var.

& gt; haydut öldür
koş

& lt; Grafiksel bir savaş mini oyunu. & gt;

Haydut yere düşer ve ölür.

Mini oyunun içinde bazı metinler olabilir, ancak mekanikler metne bağlı değildir. Sorcery! ‘De, dövüş mini oyunu, vurmanın ne kadar zor olduğuna dair bir dizi karardan oluşur (topyekün saldırıya karşı toplam savunma ölçeğinde). Ancak kullanabileceğimiz mini oyunların tasarımında hiçbir sınır yoktur. Basit bir kart oyunu, 3’lü eşleştirme bulmacası vb. Olabilir.

Bu işe yarıyor. Ben, Skyrim’in Sihirbazlıkla aynı tarzda yapılmış bir mobil versiyonunu satın alırdım !.

Ama daha iyisini yapabileceğimizi de düşünüyorum. Skyrim’den zevk aldığım şeylerin çoğu, hemen hemen her yerde her şeyin olabileceği açık bir dünya olmasından kaynaklanıyor. “Keşif modu” ile “savaş modu” arasında geçiş yoktur. Bir NPC ile konuştuğunuz bir han, dakikalar sonra taktiksel gizlenme noktası haline gelebilir. Bir devriye etrafında manevra yapabilir ve bir uçurumun göreceli güvenliğinden uzak mesafeden iğrenç bir şeyle onlara vurabilirsiniz. Ve benzeri.

Bunların hiçbiri mini oyunla metin çözümüne iyi bir şekilde yansımıyor. Öyleyse daha ileri gidelim.

Dördüncü deneme

Soyutlama düzeyini bir kez daha değiştireceğiz. Saf başlangıcımızda kare kare gitmek açıkçası yanlış hareketti. Ve “haydut öldür” ile gitmek, kavga ister metinde tanımlanmış ister bir mini oyunla temsil edilmiş olsun, açıkça soyutlama düzeyini çok yükseltti.

“Haydut öldür” den taktik temelli bir yaklaşıma biraz inelim. Bunun gibi bir şey:

Beyazın Dışı

Güneyden Whiterun’a varıyorsunuz. Sizi bekleyen, elinde baltalı ve savaşmaya hazır yalnız bir haydut var.

& gt; haydut öldür
koş

Haydutları tam olarak nasıl öldürmek istiyorsunuz?

… kılıçla
& gt; … Ok ve yayla

Yayı hızla bağlar ve uçmasına izin verirsiniz. Ok, haydutun kulağının hemen yanından dönüyor. & lt; Dövüşün geri kalanı açıklaması. & gt;

Bu yaklaşım “öldürmekten” daha fazla seçenek yaratır, ancak bir süre sonra pek eğlenceli olmaz. Her oyuncu belirli bir oyun tarzına (gizlilik, uzun menzil, yakın dövüş, sihir vb.) Doğru yönelir ve bu nedenle gerçekten çok fazla seçenek yoktur. Bir okçu için en iyi taktik neredeyse her zaman “yay ve ok” veya “gizlice dolaşmak” olacaktır. Başka bir oyuncu çok farklı dövüş sahneleri görecek, ancak bu deneyimi mutlaka eğlenceli hale getirmiyor.

Bu nedenle, oyunculara daha düşük düzeyde anlamlı seçimler sunmamız gerekecek.

Beşinci deneme

Pekala, tamam. Aksiyona dayalı seviye mücadele, D ve D tarzı mücadele ile başlayalım.

Beyazın Dışı

Güneyden Whiterun’a varıyorsunuz. Elinde balta ve savaşmaya hazır yalnız bir haydut seni bekliyor. Kılıcınızı çekip yaklaşıyorsunuz.

& gt; itme kılıcı
sallanan kılıç

Kılıcınız hızlı hareket ediyor ama haydutun göğsünün hemen solunda ıskalıyor. Haydut baltayı savurur ve deri serserinizi hafifçe keser.

itme kılıcı
& gt; kılıç sallamak

Kılıç, haydutun kalçasını keser ve acı içinde bağırır. Size yukarıdan vurmaya çalışır ama balta genişler.

& lt; Savaşın geri kalanı. & gt;

Bu, oyuncunun gerçek bir ajansı varmış gibi görünmeye başlar. Farklı oyun tarzlarına uyan birçok olası hareket vardır (bir kılıç ustası itme, sallanma, başa çıkma, başını kesme; bir okçu vücudun farklı kısımlarını hedef alabilir) ve bu hareketler sayısız farklı şekilde birleştirilebilir. Oyuncular kendi taktiklerini geliştirebilirler!

Ancak bu yaklaşımla ilgili sorunlar var.

Artık batmış gibi görünüyoruz. Tüm soyutlama yelpazesini ele aldık ve hiçbir şey istediğimiz oyunu işe yaramaz.

Bu, 5 yıl boyunca oyun üzerinde oynadıktan sonra kendimi bulduğum yer. Metinde Skyrim benzeri bir açık dünya oyunu inşa etmenin bir yolu olmadığını – en azından kendim için – kanıtladığımı düşünerek neredeyse pes ettim. Teoride bile değil.

Bu “Metinde Skyrim” projesine ara vermeye karar verdim. Bunun yerine tamamen farklı bir şey inşa etmeye başladım. Oyun hala metin tabanlıydı, ancak oyun daha prosedürel ve psikolojikti. Bir grupta hayatta kalmakla ilgiliydi.

Ve bu proje sırasında, metin öykülerinin fraktal olduğunu fark ettim. Video oyunlarında bağlantıyı kaldırın (sabit bir güncelleme yöntemi gerektirir), metinde aslında tek bir soyutlama seviyesine bağlı kalmamıza gerek yok.

Altıncı ve son deneme

Ne demek istediğimi size göstereyim:

Beyazın Dışı

Güneyden Whiterun’a varıyorsunuz. Sizi bekleyen, elinde baltalı ve savaşmaya hazır yalnız bir haydut var.

& gt; haydutta hücum etmek
ok ve yay kullanmak
koşmak

Kılıcını kaldırıyorsun ve haydut karşısında atıyorsun. Birkaç hızlı adım atıyor ve menzile girdiğinizde, hızla size doğru sallanıyor.

geri atla
& gt; kaçma
engelleme

Eğilirsiniz ve haydutun kılıcı başınızın bir inç üzerinde sallanır. Bu, haydutun zırhı olmayan tarafını kısaca ortaya çıkarır.

& gt; itme kılıcı
yumruk kanadı
görmezden gelin

& lt; Savaşın geri kalanı. & gt;

“Hücum” komutunun nasıl taktik bir komut olduğuna dikkat edin – eğik çizgi veya itmeden daha yüksek bir soyutlama düzeyindedir. Ardından haydutun ilk hamlesi, aksiyon-adım seviyesindedir. Ancak daha sonra, daha salıncak bitmeden, bir seviye daha derine ineriz ve oyuncu bu duruma kaçarak (veya blok yaparak veya geri zıplayarak) tepki verebilir. Ve bu başarılı olduğu için, o düşük seviyede kalıyoruz ve oyuncu, haydutun kaçtığı sırasında bir karşı hamle ekleyebilir.

Artık dövüş, taktiksel konumlandırmadan anlık eylemlere kadar tüm seviyelerde birçok seçeneği içeriyor. Tekrarlamak, oyuncu için daha eğlencelidir, çünkü aynı eylem çok farklı bağlamlarda gerçekleştirilebilir.

Ortaya çıkan düz yazı, bir insanın yazacağı bir şey gibi okur. Hasar alışverişinde bulunan sadece iki kişi değil, her adımında dinamik potansiyel sonuçları olan gerçek bir kılıç dövüşü. Oyun, tıpkı bir kitabın yapacağı gibi farklı soyutlama seviyelerinden geçer.

<Dikkatler

İşte karşınızda: IFCOMP’a sunduğum önemsiz Küçük Vermin, nispeten akıcı, okunabilir bir metin macerası üretmek için açık dünya simülasyonunda fraktal hikayeler konseptiyle çalışıyor. Hatta bazı oyuncular metnin, olduğunu bildiğim kısımlarda prosedürel olarak oluşturulmadığını varsaydılar. Daha da önemlisi, oyuncular çok eğlenme eğilimindedir.

Elbette her şey havai fişek ve alkış değil. Kısa oyun, böyle bir yaklaşımın sınırlamalarının ne olduğunu ve metinde ifade edilen tamamen açık bir dünya vizyonumu gerçekleştirmeden önce ne kadar çok iş yapılması gerektiğini bana açıkça gösterdi.

Her şeyden önce, bu oyun gerçekten de bu yöndeki ilk vuruş. Vermin’i geliştirirken yukarıdaki bilgilerin çoğunu keşfettim. Hiçbir oyun kitabı, en iyi uygulama, fraktal hikayeler veya “Metinde Skyrimler” hakkında hiçbir endüstri etkinliği yok. Neyse ki interaktif kurgu hakkında bol miktarda edebiyat var, ancak çoğu kurgunun peşinde olduğumdan çok farklı bir yönüne odaklanıyor.

Birincisi, Vermin’de olmasını istediğimden çok daha az içerik var. Bir AAA oyununun (Skyrim gibi) yakınına bile yaklaşamaz. Şu anda yalnızca sınırlı RPG ilerlemesi sunuyor (örneğin oyuncu karakteri yeni şeyler öğrenmiyor) ve savaş daha fazla değişkenlik kullanabilir. Ayrıca, eşleştirme yoktur.

Yine de, bu projeye daha fazla çalışma yaparak bunların hepsi kolayca çözülebilir.

Daha ilginç bulduğum şey, bu kadar kolay ortadan kalkmayacak sınırlamalar. Sistemin doğasından ve genel olarak metinden kaynaklananlar.

Açıklık ve (yüzey) basitliğe duyulan ihtiyaç

Metinde çok fazla bilgi vermek çok kolaydır. Tamamen kaotik bir etkileşim, 3B grafiklerde geliştiğinde iyidir, ancak düzyazı olarak işlendiğinde okunamaz. 10 oyunculu bir kılıç dövüşü parçalanmalı veya soyutlanmalıdır – olası bir çözüm Level of Detail (LoD) veya Limelight gibi bir şey olabilir; burada oyuncudan uzak olan oyuncuların eylemleri ya görmezden gelinir ya da sadece geniş vuruşlarla açıklanır.

Metinde, uzamsal ilişkileri açıklamak zor (ve sıkıcı). Herhangi bir kılıç ve büyücülük romanını okuyun ve Conan / Fafhrd / Elric’in her zaman korsana / kılıç ustasına / lich’e nasıl sallandığını ama asla “ileri ve sola” sallandığını göreceksiniz. Pozisyon her zaman yalnızca en genel şekilde açıklanır. Ne kadar net olduğunuzu düşünürseniz düşünün, oyuncunun herkesin nerede olduğunu ve ne yaptığını hızlı bir şekilde bilmesini sağlamak açısından 2D veya 3D grafikleri asla yenemezsiniz.

Metinde, isimler, kategoriler ve zamirler hakkında da düşünmeniz gerekir. Aslında, herhangi bir zamanda oyunda çeşitli cinsiyetlerin olmasına yardımcı olur, çünkü oyuncunun kime odaklandığımızı bilmesini sağlamak için zamir kullanmak daha kolaydır. Örneğin, bir erkek hırsız, bir kadın savaşçı ve bir örümceğin olduğu bir sahneniz olduğunda, doğal dil üretme algoritmanız çoğunlukla “o”, “kadın” ve “o” ile idare edecektir. Hangisi harika. Bunu, 3 erkek ork savaşçısı içeren bir sahne ile karşılaştırın ve muhtemelen “Soldaki ork harekete geçiyor” gibi birçok cümleye sahip olacaksınız. Sıkıcı ve okunması zor olan.

Metinde, sayısız karakter durumuyla çalışmak daha zordur. Oyuncunun, örneğin ork kolunun sola doğru uzatıldığını hatırlamasını bekleyemezsiniz.Neyse ki, insanların hayal gücü vardır (ve onu kullanmayı severler!), Bu nedenle temelde yatan simülasyonunuz olabilir – yalnızca en önemli şeyleri ön plana çıkardığınızdan emin olmanız ve gerisini okuyucunun almasına izin vermeniz yeterlidir. alt metinden.

Rahat hissetme ihtiyacı

Metinde, mekaniğinizi fazla istatistiklere dayalı veya rekabetçi olamazsınız. Bu yola giderseniz, er ya da geç, oyununuz bir anlatı sağlamak için üstüne serpilmiş bir metin içeren bir elektronik tablo haline gelir. Bu kötü bir şey olduğundan değil – bu tür oyunları seviyorum (bkz. Seedship). Fraktal hikayelerde istediğimiz şey bu değil.

Prosedürel içerik sihirli bir değnek değildir

Metinde, savaş (ve genel olarak prosedür içeriği) başka bir şeyle karıştırıldığında çok daha iyi sonuç verir. Bağlam, karakter ve anlatı gelişimi, bir oyunu eğlenceli kılan şeyin bir parçasıdır. Vermin’de, tüm dövüşlerin en azından bir miktar lezzet metni vardır (rakipler birbirleriyle konuşur) ve dünyayı dolaştığınız bölümler de öyle. Sadece prosedürel üretime erteleyemezsiniz – yine de çok fazla içeriğe sahip olmalısınız (sonuçta bu içerik prosedürel olarak kullanılsa bile). Ancak bu, prosedürel içeriğin “tembel geliştiriciler” için olmadığı genel kuralı izler. Sizi içerik oluşturmaktan kurtarmak için orada değildir. İçeriğin oynatıcıya tepki vermesine izin vermek için oradadır. Hâlâ çok fazlasına ihtiyacınız var.

Yazmak zordur

“Ork’u 15 can için vurdun” bulmak çok kolay. “Kılıcın orkları özlüyor” un birçok versiyonunu bulmak çok daha zor.

Doğal dil üretimi zordur

Modern 3D programlamadan daha kolaydır (en azından kişi-saatler açısından), ancak fazla değil. İnsan dili zengindir ve tuzaklarla doludur. Neyse ki, yapılması oldukça kolay olan bir doğal dil alt kümesi seçebiliriz (özellikle, şimdiki zaman eylemi). Yine de, böyle bir şeyin işe yaraması için, öncelikle yazar olan birinin oyunu başarıyla programlamasını bekleyemezsiniz. Bu bir sonraki İplik veya Bilgilendirme değildir . Bu, tek bir yazar için değil, bir geliştirme ekibi içindir.

Herhangi bir tür için değil

Son olarak, her tür içerik fraktal hikayeler için uygun değildir. Ya da en azından bazı türler bu yaklaşım için çok daha uygundur. Kılıç ve büyücülük harika çünkü şu:

Bunu, tanımlanması zor alanlarda, oyuncunun tarafında pek çok beceri içeren, hayal edilmesi zor eylemler içeren Portal gibi bir şeyle karşılaştırın. Ancak işe yaramayacak konuları bulmak için 3D bilmecelere kadar gitmemize gerek yok. Diğer savaş odaklı açık dünya oyunlarının bile, fantastik dövüşler yerine nispeten gerçekçi modern zaman atışlarını içerdiklerinde “metne aktarılması” çok daha zordur. Belki de sadece hayal gücümün eksikliğidir (ve silahlı kavgalarla ilgili literatürde neredeyse hiç deneyimim yok), ancak ateşli silahların yakınlığıyla çalışacak iyi bir dövüş teknisyeni göremiyorum.

Önemli bir notla bitirmek için

Bu yüzden burada fraktal hikayelerin sorunlarını açıklamak için oldukça fazla zaman harcadım. Yüksek bir notla bitirelim. Bu konuda neden bu kadar hevesli olduğumu açıklamak istiyorum.

Insignificant Little Vermin’in ortaya çıkardığı biçim faktörü, özellikle mobil cihazlarda gündelik oyunlar için çok uygun. Beceri açısından vergi vermez. Kısa oyunlarda veya bir bütün olarak tüketilebilir. Bir şans unsuru sağlar. Size özel bir hikaye okumanızı ve bir dünyayı kendi hızınızda keşfetmenizi sağlar. Ekranda neler olup bittiğini görmek için gözlerinizi kısmanızı gerektirmez – bu sadece metin ve birkaç statik resimdir.

Kısacası, okuyabileceğiniz & amp; otobüste beklerken oynamak.

Bunun birçok bağımsız oyun geliştiricisi için dönüşümsel olabileceğine gerçekten inanıyorum (bazıları henüz kendilerini oyun geliştiricisi olarak bile düşünmüyorlar). Daha önce de söylediğim gibi, bu tek bir yazar-yazar-geliştirici için bir sistem değil. Twine ile karşılaştırıldığında, giriş engeli çok yüksektir. Ancak en basit 2D platform oyunuyla karşılaştırıldığında nispeten düşüktür.

Oyun geliştirmeye yönelik bu yaklaşımın nereye varacağını görmek için sabırsızlanıyorum. İlerlememle bu blogu ve Twitter hesabımı güncelleyeceğim. Daha az gürültü istiyorsanız, sizi önemli anlardan haberdar etmek için oluşturduğum posta listesine abone olabilirsiniz.

Ve bağlantıyı kaçırdıysanız, işte Küçük Haşere ve IFCOMP’a gönderimi burada.