1 puan yazan GN⁺ 2026-01-07 | 1 yorum | WhatsApp'ta paylaş
  • Sınırlı sayıda duvarla atı kapatma üzerine kurulu bir bulmaca oyunu; amaç mümkün olduğunca geniş bir çit alanı oluşturmak
  • Oyuncu çim karolarına tıklayarak duvar yerleştirir ve at çapraz ya da suyun üzerinden hareket edemez
  • Kirazlar (Cherries) çitin içine dahil edilirse ek puan kazanılır; çit ne kadar büyükse puan da o kadar yüksek olur
  • Seviye editörü, liderlik tablosu, günlük bulmacalar ve kullanıcı yapımı seviyeleri keşfetme özelliğini destekler
  • Basit bir fikirle başladı, ancak Leetcode/Advent of Code tarzı bir optimizasyon problemine dönüşen bir oyun

Oyun genel bakışı

  • enclose.horse, sınırlı sayıda duvar kullanarak bir atı kapatmaya dayalı bir bulmaca oyunu
    • Amaç, mümkün olan en geniş alanı çitle çevirmek
    • Puan, çitin büyüklüğüne ve içine alınan kiraz sayısına göre belirlenir
  • Kontroller, çim karolarına tıklayarak duvar dikme şeklinde işler
    • At çapraz hareket edemez ve suyun üzerinden geçemez
    • Kirazları çitin içine dahil ederseniz +3 puan kazanırsınız
    • Gönderim yalnızca bir kez yapılabilir

Oyun arayüzü ve özellikler

  • Seviye bilgileri bölümünde boyut (12x14), duvar bütçesi (12), oynanma sayısı (4455 kez) ve seviye kimliği (ZtiI9g) gibi bilgiler gösterilir
  • Ayarlar menüsünde isim, ızgara çizgileri, tema ve gelişmiş ayarlar düzenlenebilir
  • Liderlik tablosunda isim kaydedilir ve diğer oyuncuların puanlarıyla karşılaştırma yapılabilir
  • Seviye editörü ile doğrudan kendi bulmacalarınızı oluşturup paylaşabilirsiniz
  • “Browse” sayfasında diğer kullanıcıların oluşturduğu seviyeler keşfedilebilir ve oynadıktan sonra oy verilebilir

Güncelleme geçmişi

  • 29 Aralık 2025: İlk sürüm yayımlandı, seviye editörü ve liderlik tablosu eklendi
  • 30 Aralık: Günlük bulmacalar (Daily puzzles) ve geçmiş bulmacalar (Past Puzzles) özelliği eklendi
  • 31 Aralık: Güncellemeler sekmesi eklendi
  • 1 Ocak 2026: Seviye editörüne Solver eklendi, kullanıcı yapımı seviye keşfi ve oylama özelliği getirildi
  • 2 Ocak: Oyun sırasında en yüksek alanı takip etme özelliği eklendi
  • 3 Ocak: Kiraz unsuru eklendi
  • 4 Ocak: Kiraz hatası düzeltildi ve arama filtreleri iyileştirildi

Geliştirme arka planı

  • Geliştirici, bu oyunu başlangıçta Leetcode veya Advent of Code tarzı bir optimizasyon problemi olarak tasarladı
  • Daha sonra bizzat oynadıktan sonra, bunun yüksek kalitede bir bulmaca oyununa dönüştürülmeye değer olduğuna karar verdi
  • Oyun Shivers tarafından geliştirildi ve resmî site ile X (Twitter) hesabı üzerinden duyuruldu

Diğer unsurlar

  • “Horse Tip” özelliği, elde hâlâ duvar kaldığında gönderim konusunda uyarı verir
    • “Bir daha gösterme” seçeneği sunulur
  • Hata bildirim özelliği ile uygunsuz ya da çözülemez seviyeler raporlanabilir
  • Kirazlara isim verme (Name Five of Cherries) gibi bazı mizahi unsurlar da bulunur

1 yorum

 
GN⁺ 2026-01-07
Hacker News yorumları
  • Gerçekten eğlenceli bir oyundu. Geliştirici verileri iyi topluyorsa, zorluk sırasına göre 100 seviyeyi paketleyip Steam’de yayımlaması güzel olabilir.
    Yalnız kapının yukarı doğru yükseldiği animasyon 2D görsel mantığını bozduğu için kafa karıştırıcı.
    İleride yeni oyun mekanikleri eklenmesini bekliyorum. Örneğin

    • Yem: at her tur yeme doğru hareket eder. Bir saman balyası ya da şeker küpü yem olarak kullanılabilir
    • Hedef nokta: atı çitle belirli bir kareye yönlendirdiğiniz bulmacalar
    • Sel: su kenarlardan yükselir; hem atı hapsetmeniz hem de suyu durdurmanız gerekir
    • Bazıları bu tür veri toplamadan rahatsız olduğunu söylemiş. Dünyada gözetim olmadan safça keyif alınabilecek oyunlara da ihtiyaç olduğunu düşünüyorum
    • Bu oyunda tur bazlı bir mini oyun potansiyeli var. At çıkışa doğru ilerlerken duvar yerleştirip rotasını değiştirmek ve sınırlı sayıda duvarla mümkün olduğunca çok kare hareket ettirmek ilginç olurdu
    • Kapının yukarı hareket etmesinin genel estetikle uyuşmadığı görüşüne katılıyorum. Yine de harika bir oyun
    • Ben bu animasyonu üstten görünümlü RPG bakış açısı gibi yorumladım. Görsel olarak kafa karıştırıcı değildi ama mobilde yanlış kareye dokunmak kolay olduğu için rahatsız ediciydi
    • Bence oyun ne kadar basitse o kadar iyi. Programlama biliyorsanız birkaç hafta sonu ayırıp bunu kendiniz yapmak da güzel bir öğrenme projesi olabilir
    1. gün bulmacasının optimal çözümünü elle bulmayı denedim ve oldukça eğlenceliydi.
      En küçük çözümden başlayıp adım adım genişleyerek, her duvarı yeniden yerleştirdiğimde geçerli bir çözümü koruyacak şekilde ilerledim.
      Sonunda 15 dakika içinde optimal skoru buldum
    • Bunun düşünme biçimi olarak TDD (test güdümlü geliştirme) ile benzer olduğu yorumu vardı
    • Ben de aynı algoritmayı kullandım. Yukarıdan aşağı yaklaşım pek işe yaramadı ama gerçekten çok eğlenceliydi
  • Kirazı pille değiştirip oyunun adını Correct Horse Battery Stable yapmak eğlenceli olabilir

    • Ya da kirazı çörek ya da PBJ atıştırmalığıyla değiştirip Collect Horse Buttery Stable yapmak da sevimli olurdu
    • Duvar yerine zımba telleri (staples) kullanma fikri de ortaya atıldı
    • Kirazı şeker parçasıyla değiştirip My Lovely Horse demenin iyi olacağını söyleyen de vardı
    • Bu şaka xkcd 936'a gönderme yapıyor
  • Oyun çok iyiydi. Ama “Show optimal”a basınca kendi çözümümle karşılaştıramamak üzücüydü.
    Duvarların bir buçuk kare kaplaması kafa karıştırıyor ve dinozor çiti gibi bir tasarım yerine at çiti gibi görünmesi daha iyi olurdu

    • “Show optimal”ın aç/kapat düğmesi olup kendi çözümümle sırayla gösterilmesi iyi olurdu. Mobilde duvarların üst üste gelmesi yüzünden dokunmanın zor olduğu fikrine de katılıyorum
    • Hızlı geçiş yapacak bir düğmeye ihtiyaç var. Ben geçmiş tarihler menüsü üzerinden kendi çözümüme dönmenin yolunu buldum
    • Ata tıklayınca iblis tanrı hakkında konuşması, belki daha fazlası olabileceğini düşündürüyor
  • Skorun başlangıç değeri N/A yerine N/EIGH olsa at temasına daha uygun olurdu

    • Bu bana daha önce gördüğüm at meclisi (neigh) çizimini hatırlattı
    • Birinin bunu düşünecek kadar yaratıcı olmasına hayran kaldım
  • Kendi çözüm bulucumu yaptım

    1. Izgaranın ekran görüntüsünü alın
    2. enclosure-horse-solution.onrender.com sitesine yükleyin
    3. Duvar sayısını kontrol ettikten sonra Solve’a tıklayın
      Ücretsiz sürüm olduğu için bazen çöküyor ama önbellek ekledim.
      GitHub deposundan yerelde çalıştırabilirsiniz
    • Seviye düzenleyicide özel haritalar oluşturup optimal çözümü görebilirsiniz. Resmî haritaları yeniden üretirseniz geliştiricinin niyetini de anlayabilirsiniz
    • Ön belleği bellekte mi yoksa diskte mi tuttuğunu soranlar da vardı. Redis gibi bir şey kullanmak daha sağlam olabilir
    • Sunucu sık sık çöktüğü için sonuç çıkmazsa yerelde çalıştırmanız öneriliyor
  • Kendi çözümümle optimal çözümü aynı anda karşılaştırabileceğim bir özellik olmasını isterdim

    • Ben de karşılaştırmak için iki ekran görüntüsü aldım
    • Yan yana (diff) görüntüleme özelliği olsaydı mükemmel olurdu
  • Bu problemin optimal çözümünü algoritmik olarak nasıl bulabileceklerini merak ediyorum. Factorio’da da benzer bir problemi çözmeye çalışmıştım ama hızlı bir yöntem bulamamıştım

    • Sitede Answer Set Programming (ASP) ve Clingo motoru kullanıldığı yazıyor. Bu tür ızgara maksimizasyon problemleri muhtemelen NP-hard. SAT/SMT çözücüleri flood-fill hesabında verimsiz kalıyor
    • Kısıt programlama yaklaşımının uygun olduğu görüşü de vardı. Duvar konumlarını değişken yapıp atın ulaşabildiği kareleri kısıt olarak tanımlayabilirsiniz
    • Bazıları bu problemi görünce graph cut, SAT/SMT, ACSP gibi çeşitli optimizasyon yaklaşımlarını düşündüğünü söyledi
    • İlgili tartışma CS StackExchange'de de var
    • Bunun NP-hard bir problem olduğu ve Sparsest Cut'tan türetilebileceği yönünde bir görüş de vardı. En küçük kesiti bulup kapasiteyi ayarlayarak yinelemeli arama yapma önerildi
  • horse alan adını her gördüğümde traceroute bad.horse çalıştırıp gülümsüyorum

    • Bu şakaya gerçekten çok güzel diyenler de vardı
  • Günlük meydan okumanın zaman dilimlerine göre farklı saatlerde açıldığı anlaşılıyor. Arkadaşım 9. günü görürken ben sadece 8. günü görebiliyorum.
    Dünya genelinde aynı yayın saatinin olması, arkadaşlarla rekabet etmek için daha iyi olurdu