Statik Satranç Oyunu
(val.town)- Static Chess, satrancın tüm ekranlarını yalnızca HTML ve CSS ile oluşturan ve her hamlenin bağlantıya tıklanarak yapıldığı statik bir web satrancı deneyi
- Bir oyuncu hamlesini yaptıktan sonra oluşturulan bağlantıyı arkadaşına gönderiyor, karşı taraf da tekrar bağlantı göndererek oyunu sürdürüyor
- Animasyonları ve akıcı etkileşimi geri plana atan brütalist arayüz, satranç tahtasının ve hamle seçiminin kendisine odaklanıyor
- Özellikler hâlâ oldukça sınırlı ve bazı kısımlar bozuk olabilir; bu yüzden gerçek oyun deneyiminde kısıtlar sürüyor
- İleride gerçek oynanış desteği, uzun süreli oyunlara uygun basit bir arayüz ve statik bir yapay zeka rakip gibi genişleme olasılıkları açık bırakılıyor
Bağlantılarla ilerleyen statik satranç
- Static Chess, “plain, brutalist, no bloat chess” hedefiyle hazırlanmış bir satranç sitesi
- Ekranlar HTML ve CSS ile oluşturuluyor ve satranç hamleleri bağlantıya tıklanarak yapılıyor
- Oyun, bağlantıların karşılıklı gönderilmesiyle devam ediyor
- Bir oyuncu kendi hamlesini yaptıktan sonra bağlantıyı arkadaşına gönderiyor
- Arkadaşı bu bağlantıda hamlesini yapıp yeni bağlantıyı geri göndererek sırayı devrediyor
- Animasyonlar ve akıcı etkileşimler bilinçli olarak dışarıda bırakılmış
- Google siteyi dizine eklerse mümkün olan tüm satranç hamlelerini hesaplayıp hesaplamayacağı sorusu da ortaya atılıyor
Mevcut sınırlamalar ve genişleme fikirleri
- Özellikler şimdilik sınırlı ve bazı kısımlar bozuk olabilir
- Hata bulunursa bildirilmesi isteniyor
- Mümkün olan tüm tic-tac-toe oyun durumlarını içeren bir site hakkındaki HN tartışmasından ilham almış
- İleride gerçek oynanışı destekleyecek şekilde genişletilmesi planlanıyor
- Arkadaşlarla uzun süren oyunlar için basit bir arayüze dönüşebilir
- Statik bir yapay zeka rakibe karşı oynama özelliğinin de eklenmesinin eğlenceli olabileceği düşünülüyor
- İstenen özellikler varsa PR ile değişiklik önerilebileceği belirtiliyor
1 yorum
Hacker News yorumları
URL’ye FEN eklerseniz Chess960 (Fischer Random Chess) veya başka “özel başlangıç konumu” varyantları da oynanabiliyor. Boşlukları alt çizgiyle değiştirmeniz yeterli.
Örn: https://chess.maxmcd.com/bbnqrknr/pppppppp/8/8/8/8/PPPPPPPP/...
İlk paragraftaki “saf, kaba saba ve yalın satranç” ifadesinin böyle bir uygulamanın avantajı mı dezavantajı mı olduğundan pek emin değilim.
Olasılıkları keşfetmek için alışılmadık bir şekilde uyguladığını söyleyerek tanıtmak başka; uygun teknolojiyle yapılmış yazılımları şişkinlik, komik animasyonlar ve oyunu engelleyen pürüzsüz etkileşimler diye nitelemek başka.
İkinci paragrafta özelliklerin sınırlı ve bozuk olabileceği söylendiği için bu uygulamanın sınırları daha da ortaya çıkıyor. Elbette bunların hepsi hicivdi ve ben oltaya gelmiş olabilirim. Yine de iyi yapılmış, zekice bir uygulama.
Özellik sınırlamaları yine de şişkinlik diye adlandırılan şeylerden farklı özelliklere işaret ediyor gibi.
Durumsuz bağlantı paylaşımıyla oynama fikri epey hoşuma gidiyor; animasyon ve etkileşimin “güzelliği” en azından bana net bir kazanç gibi gelmiyor.
“Doğru teknoloji”, oluşturmak istediğiniz kullanıcı deneyimine büyük ölçüde bağlı. Bu hedef için HTML ve CSS doğru teknolojiydi; daha fazla özelliğe sahip bir sitenin UX hedefleri için başka bir teknoloji demetinin doğru olması gibi.
Bu, kesin konuşmak gerekirse statik site değil, değil mi? Her istekte arka uç dinamik olarak render ediyor.
Sunucunun bir yerinde önceden render edilmiş 999999919291293923 sayfa olduğunu sanmıyorum.
Üstelik tamamen yasa dışı şu konumları da düzgünce servis ediyor: https://chess.maxmcd.com/rnbqkbnr/qqqqqqqq/8/8/8/8/QQQQQQQQ/...
[1] https://github.com/tromp/ChessPositionRanking
Yasal hamleleri algılaması güzel ama şah matı bilmiyor gibi?
https://chess.maxmcd.com/r1b1kRnr/p1ppB2p/n2P2p1/8/7P/1p6/PP...
Şah mat diye göstermesi gerekmiyor mu?
İdeal olarak her sayfa, o duruma kadar gelen tüm önceki tahta durumlarını özetleyen bir dize içermeli. Böylece mevcut tahta durumu ile ‘checkmate white’ aramasını birlikte yapıp belirli bir konumdan kazanmanın tüm yollarını bulabilirsiniz.
Google’ı nihai satranç kahinine dönüştürmek için geriye kalan tek şey, bulduğunuz hamleyi rakibin aynen oynamasına ikna etmek.
Hiç hareket edebilen taşın olmadığı bir satranç varyantı sanıp beklentiye girmiştim.
Harika iş. Cloudflare gibi bir CDN arkasına koyup önbellek isabet oranının nasıl çıktığını görmek güzel olurdu.
https://lichess.org/analysis#explorer
Masters veritabanından çok, oldukça farklı olan Lichess veritabanına daha yakın olur gibi. Örneğin Masters’ta e4’e c5 ile yanıt verme oranı %46 iken Lichess’te c5 yalnızca %19.
https://chess.maxmcd.com/rnbqk3/pppp2pB/2P1p3/1P1P2Bp/3n4/b2...
Çok güzel; sonuna kadar gidip şah mat bile yaptım.
Ben de eskiden statik bir satranç sayfası yapmıştım; bir arkadaşla oynanabilsin diye WebRTC ile P2P bağlantı eklemiştim.
Piyon terfisi vezire sabitlenmiş. Başka terfileri de desteklese iyi olurdu: https://www.chess.com/forum/view/game-showcase/checkmate-by-...
Çok güzel. FEN’e ek olarak hamle geçmişi de olsa iyi olurdu; muhtemelen fragment olarak eklenebilir.
Örn: https://chess.maxmcd.com/rnbqkbnr/ppp1pppp/8/3p4/3P1B2/8/PPP...