1 puan yazan GN⁺ 2024-11-09 | 1 yorum | WhatsApp'ta paylaş
  • TIGSource forumu

    • TIGSource resmi bir Discord sunucusu açtı.
    • Forumda çeşitli konular ve tartışmalar var ve çok sayıda üye katılıyor.
  • Return of the Obra Dinn

    • Oyunun grafik stili ve dithering sorunları üzerine bir tartışma sürüyor.
    • Titreme sorununu çözmek için daha yüksek çözünürlükte render alıp ardından downscale etme denemeleri yapılıyor.
    • Hareket sırasında kararlılık sağlamak için dithering desenini sabitleme yöntemi tartışılıyor.
  • Dithering süreci

    • Obra Dinn, 8 bit grayscale olarak render edildikten sonra 1 bite dönüştürülüyor.
    • Çeşitli görsel efektler sağlamak için iki farklı dithering deseni kullanılıyor.
    • Hareketli görüntülerde dithering deseni sorun yaratabiliyor.
  • Dithering kararlılığı

    • Kararlılığı artırmak için dithering desenini geometriye sabitleme yöntemi araştırılıyor.
    • En iyi sonucu bulmak için çeşitli mapping yöntemleri deneniyor.
  • Sonuç

    • Dithering sorununu çözmek çok zaman aldı, ancak sonuçta oyunun görsel stilini koruyarak sorun çözüldü.
    • Nihai oyunun iki farklı görüntüleme modu sunması planlanıyor.

1 yorum

 
GN⁺ 2024-11-09
Hacker News yorumları
  • 10 yılı aşkın süredir grafik programlama yapmama rağmen oyunu oynarken bunu fark etmemiştim. Oyunun genel görsel dili düşünüldüğünde, o 100 saatin gerçekten iyi harcandığını düşünüyorum.
    Bu çalışma, gerçekçi olmayan render işlemede zamansal tutarlılık konusu olarak SIGGRAPH'a gönderilse bile olurmuş.

    • Sahneyi dolaşırken dithering kararlılığı kesinlikle göze çarpıyordu, ama bunun için bu kadar çok emek harcandığını hiç tahmin etmemiştim. Bu yazıyı okuduktan sonra bundan böyle çok daha fazla hayran kalacağım gibi görünüyor.
  • Bilmeyenler için ekleyeyim: Return of the Obra Dinn ve Papers, Please ikisi de Lucas Pope'un oyunları ve çok sayıda ödül almış, kesin klasikler olarak görülüyor.
    Normalde oyun oynamayı pek sevmiyor olsanız bile göz atmaya kesinlikle değer. İkisi de tipik oyunlar değil.

    • Papers, Please bir başyapıt. Obra Dinn'de sanırım bir yerde hata yaptım; diğer ipuçlarıyla karşılaştırmak için çok az hikâye anlatıldıktan sonra artık hiç ipucu vermedi.
    • Papers, Please tüm zamanlardaki en sevdiğim oyunlardan biri. Temel bilgileri ezberlemek için flashcard bile hazırladım, denetim becerimi artırmak için tekrar tekrar alıştırma yaptım.
      Beni bu kadar ileri götüren oyun sayısı çok azdır. Obra Dinn'i sanat tarzı bana çekici gelmediği için denemedim; ama dedektiflik oyunlarını seviyorsanız Curse of the Golden Idol'a da bakmaya değer. Yaratıcılık açısından bu oyunlara yakın ve oldukça eğlenceli.
    • Web sitesinde game jam'lerde yaptığı harika projelerden çok var. Gerçekten eğlenceli ve yaratıcı fikirler; içlerinden bazıları tam oyun hâline geldi.
    • Wolfenstein 3D zamanından beri birinci şahıs nişancı oyunları oynuyorum, ama Return of the Obra Dinn bana hareket hastalığı yaşatan tek oyun oldu.
      Yine de sonuna kadar bitirdim.
  • Güçlü 1 bit dithering gerçekten ilginç bir konu. 2D'de bile birçok yöntem var; her birinin artıları, eksileri ve ödünleşimleri bulunuyor.
    80'ler bilgisayar deneyiminin merkezinde olan bir şeyin modern donanımda aksine epey zor olması şaşırtıcı. Kendi projemde[0], offscreen pikselleri tarayıcının sağladığı canvas ile 1:1 eşlemek neredeyse imkânsız çıktı.
    [0] https://sheep.horse/2023/1/improved_web_component_for_pixel-...

    • Oldukça yeni nVidia kartlarının çözünürlük değiştirmesinin birkaç saniye sürmesi, ama 35 yıllık Atari'nin tek bir ekran yenilemesi içinde bile çözünürlüğü birkaç kez değiştirebilmesi hâlâ komik geliyor.
      Eskiden yaptığım basit bir oyunda ekranın 3/4'ü düşük çözünürlüklü renkli gösterim kullanıyordu; alt kısım ise daha fazla metin sığdırmak için 4 renk ve yatayda 2 kat çözünürlük kullanıyordu. Bu yüzden çözünürlüğü saniyede 120 kez değiştirirken bile CPU belirgin biçimde yavaşlamıyordu.
  • Önerilen yaklaşımların hiçbirinin pek iyi işlemediği anlaşılıyor ve bu problem göründüğünden çok daha karmaşık duruyor.
    Düzgün çalışma ihtimali olan şeyler şunlar olabilir: yakınlaştırma/uzaklaştırmanın pürüzsüz ve ölçekten bağımsız olması için “fraktal” bir dither deseni kullanmak; hem kamera hareketi hem nesne hareketi doğru çalışsın diye bunu texel uzayında işlemek; bilinear filtreleme ya da dither deseninin süper örneklemeli render edilmesinden sonra ekran uzayında compute shader ile bir tür hata yayılımı pass'i uygulamak.
    Yine de pratikte iyi çalışacağından emin değilim. Bu yeterli olmazsa, ekran uzayında basitçe işleyip sonucu çözünürlüğü koruyacak biçimde texel uzayına geri eşlemek; sonraki karede texel uzayı bilgisini kullanarak uyumlu bir ekran uzayı çözümü üretmek ve bunu tekrar texel uzayına eşlemek gibi, çalışma zamanında texel başına fraktal desenleri aşamalı olarak biriktiren bir alternatif de mümkün görünüyor. En iyi yol bu olabilir, ama bellek, hesaplama yükü ve karmaşıklık açısından çok pahalı görünüyor.

    • Geçen hafta itibarıyla fraktal yaklaşımı oldukça iyi çalışır hâle getirdim.
      https://x.com/dgant/status/1851840125065453894
      https://x.com/dgant/status/1851835968342446576?t=kCUSWCtJEc_...
      Çalışma biçimi şöyle: dünya uzayı dithering kullanıyor, triplanar eşlenmiş yüzeylere 2D dithering uyguluyor, derinliğe göre koordinat ölçeğini seçerek dither deseninin [1px, 2px) aralığında kalmasını sağlıyor ve yeterince uzak yüzeyleri küresel koordinatlarla boyuyor. Derinlik eşiklerinde bazı yerler yeniden boyanıyor, ama pratikte çok rahatsız etmiyor.
  • İlgilenenler için biraz daha kurcalayınca, onun bu konuda daha önce yayımladığı geliştirme günlüklerini buldum [1] [2].
    Özellikle Scale2X adlı upscaling algoritmasını ele alan bölüm dikkatimi çekti; oldukça havalı [3].
    [1] https://forums.tigsource.com/index.php?topic=40832.260
    [2] https://forums.tigsource.com/index.php?topic=40832.msg121719...
    [3] https://www.scale2x.it

  • Bu kişinin forumda her şeyi paylaşmasını gerçekten seviyorum.
    Papers, Please'in erken dönem çalışmalarını gördüğümü hatırlıyorum; çalışma sürecini paylaşmak ve geri bildirime açık hâle getirmek konusunda güzel bir şey var.

    • Çalışırken belli ölçüde bir izleyici kitlesi olması gerekiyor galiba. Yoksa boşluğa bağırıyormuşsun gibi hissettiriyor.
    • Tigsource, bilgi ve tasarım belgeleri açısından bir hazine. Spelunky ve Dead Cells gibi pek çok ünlü oyun da oradan doğdu.
  • O zamanki tartışma: https://news.ycombinator.com/item?id=15766249

  • Şimdiye kadar gördüğüm dithering yazıları arasında en üst düzeylerden biri. Ben Return to Dark Castle'ın siyah-beyaz dithering işi üzerinde çalışmıştım.
    Atkinson dithering kullanmak istiyordum, ama komşu piksel değerlerinin birbirine akma biçimi nedeniyle shader'da uygulaması zordu; o dönemde stres ve yorgunluk da fazlaydı. Deseni sahnenin offset'ine sabitleme fikri aklıma gelmemiş sanırım; bu yüzden yeraltı mezarları ya da helikopter paketi gibi kaydırmalı seviyelerde parıldama olabilir. Belki de yapmışımdır ama hatırlamıyorum. Her hâlükârda harika.

  • Kısa süre önce GOG'dan alıp 5K Studio Display'de oynamayı denedim, ama güzel piksellerin bulanıklaşmadığı bir sonuç elde edemedim. Gerçekten üzücü.
    Ayarlar menüsündeki her şeye baktım.

    • Oyunun çözünürlüğünün tam sayı katı olan bir çözünürlükte, ekranı letterbox yaparak gösterme yolunu bulmanız gerekiyor.
  • Eğlence olsun diye ekleyeyim, oyunun soundtrack'i burada:
    https://www.youtube.com/watch?v=8qvdAWLcPyU