1 puan yazan GN⁺ 2024-07-06 | 1 yorum | WhatsApp'ta paylaş
  • Çocukken herkesin beklediği “DVD logosunun ekranın köşesine tam denk geldiği an”ı 45 saniyelik bir PICO-8 arcade oyununa dönüştüren bir proje
  • Tek bir şakaya odaklanan küçük kapsamı sayesinde, önceki çalışma ReShape’e kıyasla UI karmaşıklığı ve üretim yükü azaldı; PICO-8 öğrenmek için iyi bir deney oldu
  • PICO-8, çarpışma işlemlerinden parçacıklara kadar her şeyi doğrudan ele almayı gerektiren çok kısıtlı bir fantasy console olduğu için küçük oyunlara bile tutarlı bir his kazandırıyor
  • Yerleşik kod editörünün rahatsızlıkları, VS Code’daki pico8-ls eklentisi ve include code.pb yapısıyla aşıldı; ancak dil referansında arama hâlâ eksik kalan bir nokta
  • Basit mekanikler bile güçlü bir tema olduğunda açıklaması ve paylaşması kolaylaşıyor; PICO-8’in kısıtları da küçük çıktıları olduğu gibi yayımlamayı kolaylaştırıyor

45 saniyelik DVD logosu oyunu

  • “Put the DVD Logo in the Corner”, DVD logosunu ekranın köşesine değdirmeye çalıştığınız kısa bir arcade aksiyon oyunu
  • PICO-8 ile yapıldı; geliştirme süresi 27 Haziran 2023’ten 30 Haziran’a kadar 4 gün sürdü
  • Oynanış süresi yaklaşık 45 saniye; daha uzun olması amaçlanmadan, bir şaka ve çocukluktan gelen bir arzu etrafında tasarlandı
  • Oyun itch’te yayımlandı; kodu GitHub’da görülebilir
  • Arkadaşlarının yüksek skorlarını göndermesi keyifliydi; yazıldığı sırada bir arkadaşının en yüksek skoru 21, geliştiricininki ise 26 puandı

PICO-8 ile yapılan ilk oyun

  • PICO-8, gerçekte var olmayan bir konsol için emülatör gibi çalışan bir fantasy console
    • 1980’lerin konsollarını taklit eden grafik, ses, kod boyutu ve işlem hızı sınırları var
    • Konsolun içinde sprite, müzik ve ses efektleri oluşturup kod yazılabiliyor
  • Modern oyun motorlarına kıyasla araçları daha basit ve ilkel
    • Çarpışma işlemlerini piksel düzeyinde doğrudan ele almak gerekiyor
    • Parçacık efektlerini de ekrana piksel çizerek kendiniz uygulamanız gerekiyor
  • Bu basitlik ve kısıtlar PICO-8 oyunlarında görece tutarlı bir his yaratıyor; kısıtların yaratıcılık doğurduğu fikrini olumlu karşılamayı sağlıyor
  • En bilinen PICO-8 oyunlarından biri, bir game jam’de yapılan Celeste’in orijinal sürümü
    • Celeste’nin PICO-8 sürümü, tam oyunun içinde bir easter egg olarak oynanabiliyor

PICO-8 geliştirme araçları deneyimi

  • PICO-8 içinde sprite editörü, ses efekti editörü, müzik editörü ve kod editörü bulunuyor
  • Sprite editöründe Aseprite aransa da, sprite’ları doğrudan PICO-8 içinde düzenleyebilmek güzeldi
  • Ses efekti editörü ilk başta pek sezgisel değildi; ancak Gruber videosu izlendikten sonra hızlıca alışıldı
  • Müzik editörü klavye çalmaya alışkın bir geliştirici için çok rahat olmasa da görece sezgiseldi
  • Kod editörü en rahatsız edici bölümdü
    • Editör genişliği artırılsa bile satır uzunluğu artmıyor, yalnızca yazı tipi büyüyordu
    • PICO-8 geliştiricileri belirli bir konsol hissini hedeflemişti ve bu amaç için uygundu; ancak kendisi için başa çıkması zor bir yöntemdi

VS Code ile dolaylı kod yazma akışı

  • Yerleşik kod editörü yerine VS Code kullanmak için pico8-ls eklentisi kuruldu
    • Bu eklenti sözdizimi renklendirme ve API referansı sağlıyor
  • Ana PICO-8 dosyasına yalnızca include code.pb kondu; gerçek kod code.pb içinde yazıldı
  • Bu yapının gerekmesinin nedeni, PICO-8’in kodu ve sprite/müzik verilerini aynı dosyada saklaması
    • Aynı dosyayı VS Code ve PICO-8 içinde aynı anda düzenlemek istemedi
  • Bu çalışma biçiminden genel olarak memnun kalındı; ancak PICO-8 dil referansında daha kolay arama yapmanın bir yolu eksikti
    • PICO-8 manual, yalnızca fonksiyon adlarında arama gibi sınırlı aramaları yapmakta yetersizdi

Kısıtlar küçük oyun yayımlamayı kolaylaştırıyor

  • Geliştirme sırasında akla birçok genişletme fikri geldi
    • Süreyi artıran token’lar toplamak
    • TV veya DVD logosu yükseltmeleri
    • Logoya engel olan düşmanlar
    • Vampire Survivors klonu gibi bir yön
  • Godot ile yapılsaydı bu dürtüleri daha çok denemiş olabileceğini düşünüyor
  • PICO-8 basit olduğu için, mevcut hâliyle çok küçük bir oyunu itch’e yüklemek doğal geldi
  • PICO-8’in basitliği, basit bir çıktı üretmenin de kabul edilebilir olduğuna dair bir izin gibi işledi

Tema oyunu açıklamayı kolaylaştırıyor

  • Bir oyun oyuncusu olarak çoğu zaman hikâyeyi veya temayı atlayıp mekaniklere odaklanıyordu
    • Çocukken ara sahneleri geçerdi; Path of Exile’ı yüzlerce saat oynamış olsa da hikâyesini anlatamayacağını söylüyor
    • Buna karşılık sevdiği oyunlardan Outer Wilds’ta hem hikâye hem mekanikler önemliydi
  • Oyun yaparken de bir dönem temanın çok önemli olmadığını düşünmüştü
  • “Put the DVD Logo in the Corner” bunun tam tersiydi
    • Mekanik yalnızca “küçük bir dikdörtgeni büyük bir dikdörtgenin köşesine değdirmek”ten ibaret
    • Mekaniğin kendisi heyecan verici değil; ama tema sayesinde insanlara anlatması en keyifli şey oldu
  • Gelecekte oyun yaparken bunu hatırlamak istiyor

Sonraki çalışma

1 yorum

 
GN⁺ 2024-07-06
Hacker News yorumları
  • Recurse Center hakkında okuyunca şaşırdım. Programcılar için bir sanatçı rezidansı gibi görünüyor.
    Bir sanatçı olarak rezidansta kalmıştım; yeni bakış açıları açma konusunda çok yardımcı olmuştu. Bilim alanında da daha fazla “mantıksız” şey, yani ticari olmayan ve rekabete dayanmayan işler deneme fırsatı olsa keşke. Toplum için yararlı olur; en azından şans eseri içeri giren birey için kesinlikle yararlı gibi görünüyor.
    https://www.recurse.com/

    • Yazının yazarıyım. Recurse kulağa eğlenceli ve sihirli geliyorsa gerçekten öyle; başvurmayı düşünmeye değer.
      Kabul edilseniz bile zamanı uygun olana kadar erteleyebilirsiniz ve ücretsiz. Gelirleri işe yerleştirmeden geliyor ama başvururken iş aramadığımı açıkça söylemiştim.
      Recurse’un bana yaptığı en büyük şey, beni kendi zevkimle yeniden bağlamasıydı. İlk gittiğimde puanları ve zayıf bir teması olan sıradan Flash tarzı bir oyun yapıyordum; orada çok daha tuhaf bir yöne gittim. İlk projelerimden biri, OpenSearch spesifikasyonunu kötüye kullanarak Firefox adres çubuğunda çalışan bir Wordle yapmaktı.
      https://eieio.games/nonsense/implementing-wordle-in-the-fire...
      Böyle şeyler yapmak için mükemmel bir yerdi. İnsanlar cesaretlendiriyor, destekliyor ve ilgi gösteriyordu; böylece gerçekten yapmak istediğim türden işlerin de insanlara ilginç geldiğini fark ettim. RC’de 12 hafta içinde sanırım 8 oyun yayımladım; RC olmasaydı bugün yaptığım türden işlere başlayamazdım gibi geliyor. Sadece oyunlarda değil, çeşitli teknik alanlarda da pek çok kişi benzer deneyimler yaşıyor olmalı. Kendi ilgi alanlarınız için ürün-pazar uyumunu (product-market fit) bulmak gibi bir his.
      RC beni benzer işler yapan insanlarla da tanıştırdı. Topluluk büyük, nazik ve iyi anlamda tuhaf. Programlama yapmak ve daha iyi programcı olmak isteyenler için bir yazar atölyesi gibi.
      RC’yi fazla tanıtıyormuşum gibi görünebilir; aslında bir bakıma öyle, ama bunun için para almıyorum, sadece minnettar bir mezunum. Bunu hâlâ RC mekânında yazıyorum; ara sıra uğrayıp dönem katılımcılarıyla konuşuyor ya da çalışıyorum.
    • Birkaç yıl önce Recurse Center’a katıldım ama bana pek uymadı; herkes olumlu deneyimlerden söz ettiği için bu şaşırtıcıydı.
      Hâlâ neden değerli gelmediğini tam olarak açıklamakta zorlanıyorum.
      Belki de konum yüzündendi. New York City pahalı; ücretsiz izin almayı karşılayacak birikimim vardı ama pek çok şey akıl almaz derecede pahalı görünüyordu. New Yorkluların kaba olduğuna dair ün de araya mesafe koydu. Başkalarının övgülerini duydum ama bazı ziyaretçilerin şehirde kendini tam olarak hoş karşılanmış hissetmemesi gibi, Recurse Center ortamına da iyi uyum sağlayamadım.
      Yine de iyi yanı, bazı sakinlerin ve mezunların teknoloji sektöründe epey tanınır hâle gelmiş olması. Mekânda tesadüfen karşılaşmak derin sohbetlere dönüşebiliyor. Benim dönemimde Robert Lefkowitz ve Filippo Valsorda gibi insanlarla tanışmak mümkündü; oldukça güzel bir deneyimdi.
      https://www.recurse.com/residents
      https://www.linkedin.com/in/r0ml
      https://filippo.io
    • https://sfpc.study/ de bakmaya değer.
      School for Poetic Computation, New York City’de ve çevrimiçi faaliyet gösteren deneysel bir okul; sanat, kod, donanım ve eleştirel teori arasında gidip gelen öğrenmeyi destekliyor. Öğrenmek ve öğrenilenler üzerine düşünmek için bir yer.
  • https://youtu.be/QOtuX0jL85Y?si=Kwo8OZSYOVzoI-Uh
    Olmazsa olmaz The Office göndermesi.

    • Tam doğru açıyla köşeye çarparsa, sonrasında çapraz karşı köşeler arasında sürekli sekip sıkışıp kalmaz mı diye düşünüyorum.
      Aslında köşeye tam olarak çarpmanın nasıl mümkün olduğundan da pek emin değilim.
    • Başta “Ha?” dedim ama bağlantıya tıklayınca The Office’in Amerikan versiyonunu kastettiğini anladım.
      Birkaç saniyeliğine kafayı yiyen ben miyim sandım.
  • Geliştiricisiyim. Bunun ana sayfaya çıkması eğlenceli bir sürpriz oldu. Karşılık bulmasına sevindim; PICO-8’i de bir denemenizi isterim.
    Sorunuz varsa yanıtlayabilirim. O zamandan beri tamamlanmış bir PICO-8 oyunu yapmadım ve işlerim daha da tuhaflaştı ama PICO-8’i özlüyorum; Playdate ve Picotron fikirleriyle oynayıp duruyorum.
    https://news.ycombinator.com/item?id=40800869

  • Böyle şeyler PICO-8’i gerçekten sevmemi sağlıyor. Macromedia Flash MX’te ActionScript’i ilk keşfettiğimden beri kullandığım en eğlenceli kodlama ortamlarından biri.

    • Pek çok kişi için retro tarzı tümleşik geliştirme ortamı büyük çekicilik ama benim için çalışma zamanının sınırlı kısıtları daha güzel.
      Kodu, sesi ve grafikleri yüksek çözünürlüklü modern editörlerle hazırlayıp; çözünürlük, CPU gücü ve API gibi kısıtların aynen kalmasını isterdim.
    • PICO-8 gerçekten büyüleyici küçük bir platform. Bitiremediğim birkaç projem var; bunu görünce geri dönmek istedim.
  • DVD logosunun ekran köşesine bir türlü değmemesinden doğan psikolojik ve sosyal acıyı ele alan bu hikâyeden de söz etmeye değer: https://www.youtube.com/watch?v=_ws0QtAiiXQ

  • Sadece ekran koruyucuyu görmek istiyorsanız, eskiden yaptığım bir şey var.
    https://stanchak.github.io/dvd/

  • Bu, Playdate üzerinde gerçekten eğlenceli olurdu. Küçük krankla zamanı ilerletip doğru ritmi koruyunca ekstra puan vermek gibi şeyler de mümkün görünüyor.

  • Pam, toplantı odasında yalnızken DVD logosunun köşeye değdiğini gördüğünü iddia ediyor. Kendisi gerçekten gördüğüne inanıyor gibi.

  • Oyunu doğrudan çalıştırma bağlantısı: https://itseieio.itch.io/dvdlogo
    Kaynak kodu (PICO-8): https://github.com/nolenroyalty/put-the-dvd-logo-in-the-corn...

  • Gerçekten eğlenceliydi ve PICO-8 ortamı açıklaması da iyiydi. 19 puan aldım; sonlarda şansım yaver gitti sanırım.