- Braindump, LLM'ler ve üretken yapay zekanın yeni dünyasında oyun geliştirmenin nasıl görünebileceğini hayal etmeye yönelik bir deneme
- Braindump ile yalnızca bir prompt girerek top-down/2.5D bir oyun ya da etkileşimli bir dünya oluşturmak mümkün
- Örneğin "lazer ateşleyebilen ve BB-8 bombaları bırakabilen bir starfighter yap" yazdığınızda, buna uygun 3D model, oyun verileri ve script'ler üretiliyor
İlk deneylerden bugüne
- Yaklaşık 6 ay önce basit bir prototip olarak başladı; ardından 3D model üretimi, çok oyunculu özellikler ve UX üzerinde birçok iyileştirme eklendi
- Şu anda Braindump şu temel yeteneklere sahip
- Birim, yetenek ve özellik tanımlama (ör. "HP'si 50 olan ve sihirli değnek düşüren bir ork")
- Oyun haritasına nesne yerleştirme (ör. "20 ork'u daire şeklinde yerleştir")
- Oyun kuralları ve mantığı üretme (ör. "Bir ork'un canı 0'a ulaştığında bulunduğu yerde bir hayalet ork oluştur")
- Yeni 3D model üretme (ör. "Ork'u pembe yap ve pofuduk kulaklar eklemek istiyorum", Meshy kullanılarak)
- Bunların hepsine birleşik bir doğal dil prompt arayüzü üzerinden erişilebiliyor
Zorluk 1: Prompt'lar için UX tasarlamak
- LLM kullanarak bir şey inşa ederken iki büyük sorun var
- LLM'in tutarlı biçimde istenen şekilde davranmasını nasıl sağlarsınız?
- LLM ile etkileşim için en iyi UX nedir?
- Çok sayıda prompt denemesinden sonra bugünkü yinelemeli yaklaşıma geçildi
- Oyunu tek seferde, bütünlüklü bir açıklamadan üretmek iyi sonuç vermedi
- Oyunu birden fazla prompt ile adım adım kurmak, daha ayrıntılı tarif etme ve yineleme fırsatı veriyor
- Prompt'lar ile mevcut kontroller arasındaki doğru dengeyi bulmak için deneyler sürüyor
Zorluk 2: LLM'ler için bir oyun API'si tasarlamak
- Mevcut oyun motorları için kod üretmek zorluydu
- LLM'ler kod parçacıkları üretmede başarılı olsa da daha büyük yazılım parçaları ile yazılım mimarisi kurma ve sürdürmede zorlanıyor
- Bunun yerine, LLM'in kod ve veri yazmaya odaklanabilmesi için mümkün olduğunca fazla yapı sağlayan, TypeScript ile yazılmış son derece sadeleştirilmiş bir "oyun API'si" kuruldu
- API'den üretilen tip tanımları (
.d.ts) GPT'ye sistem prompt'u olarak verildiğinde, GPT çoğu zaman ilk denemede API'yi tutarlı biçimde doğru kullanıyor
- Tip kontrolünün şaşırtıcı bir avantajı da görüldü: GPT hata bulduğunda bunları kendi başına düzeltmeye çalışıyor
Üretilen makrolar
- Oyun API'si, üretilen makrolar adı verilen başka ilginç bir UX akışının da önünü açıyor
- Genel olarak uygulamalarda makrolar, işleri otomatikleştirebilen küçük programlardır
- Braindump sisteminde her prompt kod üretir ve bu kod, oyun API'sinin kapsadığı neredeyse her şeyi otomatikleştirebilir
- Örneğin "kamp ateşinin yanına çadır yerleştir" gibi bir prompt girebilirsiniz
- Sıkıcı işleri de otomatikleştirebilir (ör. "farklı stat'lara sahip 5 farklı kedi oluştur")
- Hesaplama gerektiren sorulara yanıt vermesi de istenebilir (ör. "kuzeye bakan kaç çadır var?")
- Bu, çalışma biçimi için yeni bir yol açıyor
- İlk başta biraz tuhaf geliyor ama alışınca çok sıkıcı işleri saniyeler içinde yaratıcı biçimlerde tamamlamayı sağlıyor
AI ile ortak düzenleme
- Braindump'taki her şeyi çok oyunculu yapmak istediler
- Buna hem oyun üretimi hem de oynanış dahil
- Başta herkesin katkı yapabildiği tek bir büyük sohbet vardı ama bu kafa karıştırıcıydı
- Temel sorun, insanların çoğu zaman birbiriyle ilgisiz iki farklı şey üzerinde çalışmasıydı
- Birkaç çözüm denendikten sonra "Threads" adını verdikleri yapıda karar kılındı
- Dünyanın herhangi bir yerinden bir prompt başlatabiliyorsunuz; gerektiğinde onu ayrıntılandırabiliyor ya da eklemeler yapabiliyorsunuz
- Thread'lere başlangıçta oyunun en güncel durumu veriliyor ama projenin tüm geçmişi verilmiyor
- Aynı anda birden fazla thread "çalışıyor" olabilir, ancak her thread'de aynı anda yalnızca bir prompt çalıştırılabilir
- Şimdiye kadar bu yaklaşım oldukça iyi çalıştı
- Testlerde 5 kişi aynı dünya üzerinde aynı anda çalıştı; evet biraz kaotikti ama yine de işlevseldi
- Kullanıcıların etkili biçimde koordinasyon kurmasını sağlayacak yöntemler aktif olarak araştırılıyor
Benchmarking ve test
- Prompt motorunun performansını değerlendirmek için benchmarking aracı geliştirildi
- Bu araç, her birinin kendine özgü prompt'u olan onlarca senaryoyu çalıştırıyor, ardından GPT kullanarak bu prompt'ların başarılı olup olmadığını değerlendiriyor
- "Değerlendirici" olarak adlandırılan ikinci bir GPT'ye (kendi sistem prompt'u ile birlikte) bu koşullar, tamamlandığındaki simülasyon durumu ve oluşan tüm hatalar veriliyor; sonra testin başarılı olup olmadığına karar vermesi isteniyor
- Test paketi hâlâ erken aşamada, ancak yeni prompt stilleri ve başarısızlık örnekleri keşfedildikçe giderek daha fazla test ekleniyor
Neden Braindump yapılıyor?
- Kişisel olarak oyunlar ve yaratıcılık her zaman sevildi
- Üretken yapay zeka, verimlilik artışının doğal bir sonraki adımı
- Çünkü bununla basitçe daha fazla şey yapmak mümkün
- Büyük stüdyolar giderek daha muhafazakâr oyunlar yaptığı için, küçük ekiplerin hatta bireylerin bile hayallerindeki oyunu yapabilmesini mümkün kılmak heyecan verici
- İnsanların parmaklarının ucunda tam bir AI oyun stüdyosu olduğunda nasıl çılgın fikirler ortaya koyup gerçekleştireceklerini görmek isteniyor
Bundan sonra planlananlar
- Braindump daha yolun çok başında
- Şu anda "komut" yürütmede oldukça iyi ("kedi oluştur" gibi), ancak çok daha belirsiz ya da daha "büyük" görevleri de üstlenebilecek şekilde genişletilebileceği biliniyor
- Şu başlıklar araştırılıyor
- Planning ile daha "büyük" prompt'ları desteklemek
- GPT'nin tahmin yürütmeyi bırakıp bunun yerine kullanıcıdan açıklık getirmesini istemesini sağlamak
- Kod kalitesini artırmak için GPT'nin kendi çalışmasını eleştirmesini sağlamak
- Keşfedilebilirlik ve ilhamı iyileştirmek ("Bununla neler yapabilirim?")
- Oyun motoru özelliklerini LLM'lere uygun şekilde geliştirmek
Henüz yorum yok.