10 puan yazan GN⁺ 2025-06-08 | 1 yorum | WhatsApp'ta paylaş
  • Programlama deneyimi az olan kullanıcıların da kolayca video oyunu yapabilmesi için tasarlanmış hafif bir JavaScript kütüphanesidir
  • Anlatı odaklı oyunlar, yani hikâye anlatımı merkezli oyunlar geliştirmek için uygundur
  • Sezgisel kod yapısı ve sade API sayesinde karmaşık programlama gerektirmeden oyun geliştirme deneyimi sunar
  • Her şey (sprite'lar, diyaloglar, sesler, etkileşimler) kodla oluşturulduğu için tüm oyun tek bir dosyada saklanabilir

Başlıca özellikler ve avantajlar

  • Başlangıç seviyesindeki geliştiriciler veya geliştirici olmayanlar bile basit JavaScript kodu ile anlatı odaklı oyunlar üretebilir
  • Büyük framework'lerin aksine çok küçük boyut ve kullanım kolaylığı sunar
  • Seçim tabanlı oyunlar, etkileşimli içerik ve görsel geliştirme deneyimi gibi alanlarda hikâye ve etkileşim açısından güçlüdür

Kimler için uygun?

  • Oyun geliştirmeye yeni başlayanlar veya hızlıca prototip oluşturmak isteyen startup'lar, IT profesyonelleri, geliştiriciler ve üreticiler için uygundur
  • Karmaşık grafikler ya da büyük ölçekli oyunlardan ziyade fikir denemeleri, etkileşimli içerik ve hikâye akışı için uygun bir araçtır

Oyun geliştirmeye createGame() ile başlayın

createGame({  
  player: {  
    sprite: 7,  
    position: [2, 5]  
  },  
  map: `  
    ########  
    #......#  
    #..X...#  
    #......#  
    ########  
  `,  
  templates: {  
    X: {  
      sprite: 4,  
      dialog: 'Hello, adventurer!'  
    }  
  }  
})  

1 yorum

 
GN⁺ 2025-06-08
Hacker News yorumları
  • Başlığın neden ‘...for narrative games’ olduğunu merak ettim
    Kütüphanenin resmi sayfasında ‘narrative’ oyunlara dair bir ifade olmadığını fark ettim
    ‘Narrative game’ ifadesinin ne anlama geldiği konusunda kafam karıştı
    Örnek oyunlar benim anladığım ‘narrative game’ tanımına uymuyor
    Google aramalarında çıkan ‘narrative game’ sonuçlarıyla örnek oyunlar arasında güçlü bir bağ göremedim
    Eğer ‘narrative game’ için genel kabul gören bir tanım varsa, bu kütüphanenin diğer oyun motorlarına kıyasla ‘narrative game’ yapımını özellikle destekleyen hangi özellikleri sunduğunu merak ediyorum

    • Dün gece aklıma metin tabanlı bir macera oyunu fikri geldi
      Yetişkin olup vergi ödemek, işe gitmek, evi temizlemek gibi gündelik görevleri yerine getirdiğin bir konsept
      Bunları daha az yaparsan hayat zorlaşıyor, daha fazla yaparsan kolaylaşıyor
      Nihai amaç ise borçsuz şekilde hayatı tamamlamak

    • Bu aracın fikrinin, metin ve diyalog kullanarak basit macera oyunlarını deklaratif biçimde yapmayı mümkün kılması olduğunu düşünüyorum
      Pico-8 gibi genel amaçlı oyun motorlarında olduğu gibi mekanik odaklı üretim için değil
      Harita oluşturmak, haritalar arasında geçiş yapmak, NPC eklemek, diyalog ve metin tetikleyicileri kurmak kolay
      Programcı olmayanlara yönelik motorlar da (RPGMaker vb.) benzer; oralarda da çoğu kullanıcı ayrı karmaşık mekanikler olmadan, ağırlıkla harita ve tetikleyiciler üzerinden metin ve diyalog merkezli oyunlar yapıyor
      Bu aracın da bu tür ‘narrative’ oyunları yapmayı kolaylaştırdığını vurguladığını düşünüyorum

    • Resmi tanıtım belgesinde şöyle deniyor:
      ‘Odyc.js, pikselleri, sesi, metni ve biraz mantığı birleştirerek narrative oyunlar oluşturmanıza olanak tanımak üzere tasarlanmış küçük ve hafif bir JavaScript kütüphanesidir’

    • Bunun açıkça bir metin macerası motoru olduğunu düşündüm

    • Fransızca sürüm sitede yalnızca iki ek ‘narrative’ örneği daha var
      Tur bazlı yapısı ve mesaj, prompt ve diyalog odaklı yaklaşımı nedeniyle ‘narrative’ ya da metin tabanlı oyunlara uygun olacağını düşündüğüm için bu terimi kullandım
      Ama daha iyi bir etiket fikri varsa memnuniyetle değiştiririm

  • The Magic Mushroom oyunu harika
    bağlantı

    • Şu ana kadar en çok hoşuma giden bu
      bağlantı

    • John Wick oyunu, sanki son filmin özeti gibi hissettiriyor
      bağlantı

  • Bu yapıyı gerçekten beğendim
    Bir sürü JavaScript oyun motoru geliştirirken çeşitli deneyler yaptım; bu, ‘2 saat içinde çocuklar için hızlıca bir şey bitirmem gerektiğinde’ olan nokta ile ‘yapıyı derinlemesine anlamak istediğimde’ olan nokta arasında mükemmel bir yerde duruyor
    Düşük bant genişlikli ortamlarda çocukları oyalamak için bununla birkaç oyunu hızlıca yapmayı umuyorum

  • Tatlı küçük bir araç gibi duruyor
    Özellikle çocuklar için, öğrenme amaçlı (bugünün pygame’i gibi) iyi olduğunu düşünüyorum
    Scratch ve benzerleri 5 yaşındakilere göre tasarlandığından programlama içeriği fazla basit kalıyor
    Bu araç ise yaklaşık 10 yaşındaki öğrenciler için tam uygun
    Basit string işlemleri, birkaç sözdizimi hilesi öğrenip temel bir yandan kaydırmalı oyun ve NPC’ye kadar bir şeyler yapılabilir
    Sonrasında hazır olduklarında kontrol akışını öğrenme deneyimi de kazanabilirler
    Bunu öğrenip çocuklara yönelik ders açmayı ya da bir oyun alanına yatırım yapmayı düşünürsen, pratikte satılabilir de
    Başka bir açıdan bakarsak, bu araçla temel düzeyde prosedürel oyun varlığı üretimini denemek de ilginç olabilir

  • game.prompt("Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?", "Yes", "No"); kod örneği paylaşıldı

    • await game.openDialog("Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?")
      game.prompt( "Yes", "No") kullanım örneği

    • Ortada bir yumurta vardı, nasıl kırk oldu?

  • Gerçekten ilham verici bir proje olarak değerlendirildi
    Açık kaynak olduğunu gördüm ama lisans eksik; bu da geliştiricilerin neyi fork edip değiştirebileceğini ve dağıtabileceğini anlamasını zorlaştırıyor
    Bunu ana dilime çevirdiğim bir fork olarak yayımlamak istiyorum (atıf bırakmaya hazırım), bunun sorun olup olmadığını sormak istedim
    Benim ülkemde insanların %5’inden azı İngilizce konuşuyor

    • Teşekkürler, yakında bir lisans ekleyeceğim; muhtemelen MIT benzeri olur
      Ana dilinizin ne olduğunu merak ettim
      Soldan sağa yazılan diller için çeviri uygulamak oldukça kolay
      İstediğiniz zaman fork atabilir, PR gönderebilir veya erişilebilirliği iyileştirmeye katkı sunabilirsiniz; memnuniyetle karşılarım
  • Bu müthiş
    Tam 12 saat önce buna kesinlikle ihtiyacım vardı
    Tesadüfen dün gece ilk kez tek oyunculu, 3 seviyeli, narrative bir flört oyunu için varlık üretirken uyuyakaldım
    Oyun geliştirme konusunda yeniyim
    Sabah HN’de narrative oyunlar için bir JS kütüphanesinin 1 numaraya yükseldiğini gördüm
    FTR benim oyunum bir simp oyunu ve uzun süredir görüştüğüm kişiye resmi olarak çıkma teklif etmek için kullanıyorum

    • Harika bir fikir gibi geliyor
      Benzer bir deneyim yaşamıştım: yakın zamanda birine nostalji yaşatmak için 2005 MSN sohbet arayüzünü HTML ile baştan yaratmıştım
      Gerçekten çok iç ısıtan bir deneyimdi

    • Güzel fikir
      Keşke daha fazla yardımcı olabilseydim
      Bunun bu araç için gerçekten biçilmiş kaftan bir kullanım örneği olduğunu düşünüyorum
      Umarım iyi gider

    • Birini sevip onunla zaman geçirmek istemenin ya da ilgini göstermenin ‘simp’ diye adlandırılması gerektiğini düşünmüyorum
      Bana çok sıcak ve düşünceli bir teklif gibi geliyor

  • puzzlescript ile benzer bir havası var

    • PuzzleScript gerçekten harika, aynı küçük motor ailesinden crisp-game-lib’i de tavsiye ederim
  • Gerçekten çok hoş bir araç

  • Bunun kütüphaneyle doğrudan ilgisi yok ama playground’da kullanılan canvas video recorder’ın nasıl çalıştığını merak ediyorum
    Bunu kendim de uygulamak isterim