1 poin oleh GN⁺ 2024-05-14 | 1 komentar | Bagikan ke WhatsApp
  • Static Chess adalah eksperimen catur web statis yang membuat seluruh tampilan catur hanya dengan HTML dan CSS, dan setiap langkah dilakukan dengan mengklik tautan
  • Setelah satu pemain membuat langkah, ia mengirim tautan yang dihasilkan kepada teman, lalu lawan mengirim tautan kembali untuk melanjutkan permainan
  • Dengan antarmuka brutalist yang menyingkirkan animasi dan interaksi mulus, fokus diarahkan pada papan catur dan pemilihan langkah itu sendiri
  • Fiturnya masih cukup terbatas dan mungkin ada bagian yang rusak, sehingga masih ada batasan untuk permainan sungguhan
  • Ke depannya, ada kemungkinan perluasan seperti dukungan gameplay sungguhan, antarmuka sederhana khusus untuk permainan jangka panjang, dan lawan AI statis

Catur statis yang berjalan lewat tautan

  • Static Chess adalah situs web catur yang bertujuan menjadi “plain, brutalist, no bloat chess”
  • Tampilannya dibuat hanya dengan HTML dan CSS, dan langkah catur dijalankan dengan mengklik tautan
  • Permainan berlanjut dengan saling mengirim tautan
    • Satu pemain membuat langkahnya lalu mengirim tautan kepada teman
    • Temannya membuat langkah dari tautan itu, lalu mengirim tautan kembali untuk beralih ke giliran berikutnya
  • Animasi atau interaksi yang mulus sengaja ditiadakan
  • Situs ini juga menyisakan pertanyaan apakah Google, jika mengindeks situs tersebut, akan menghitung semua langkah catur yang mungkin

Batasan saat ini dan ide perluasan

  • Fiturnya masih terbatas, dan mungkin ada bagian yang rusak
  • Pembuatnya meminta agar diberi tahu jika menemukan bug
  • Terinspirasi oleh diskusi HN tentang situs yang memiliki semua status permainan tic-tac-toe yang mungkin
  • Ke depannya, ada rencana untuk memperluasnya agar mendukung gameplay sungguhan
  • Ini bisa berkembang menjadi antarmuka sederhana untuk permainan panjang bersama teman
  • Pembuatnya juga menilai akan menarik jika ditambahkan fitur bermain melawan AI statis
  • Jika ada fitur yang diinginkan, perubahan dapat diusulkan melalui PR

1 komentar

 
GN⁺ 2024-05-14
Opini Hacker News
  • Jika FEN ditempelkan ke URL, Chess960 (Fischer Random Chess) atau varian “posisi awal kustom” lain juga bisa dimainkan. Spasi tinggal diganti dengan garis bawah
    Contoh: https://chess.maxmcd.com/bbnqrknr/pppppppp/8/8/8/8/PPPPPPPP/...

    • Chess960 juga punya aturan castling yang berbeda dari catur biasa, dan sepertinya situs ini tidak bisa tahu hanya dari FEN bahwa ia harus memakai aturan itu
  • Saya tidak yakin apakah paragraf pertama yang menyebut “catur yang murni, kasar, dan tanpa embel-embel” itu dimaksudkan sebagai kelebihan atau kekurangan implementasi seperti ini
    Mempromosikannya sebagai implementasi dengan cara unik untuk mengeksplorasi kemungkinan berbeda dengan menggambarkan perangkat lunak yang dibuat dengan teknologi yang tepat sebagai bloat, animasi konyol, dan interaksi mulus yang mengganggu permainan
    Di paragraf kedua disebutkan fiturnya terbatas dan mungkin rusak, jadi batasan implementasi seperti ini jadi makin terlihat. Tentu saja bisa jadi semuanya satire dan saya yang terpancing. Tetap saja ini implementasi yang cerdas dan dibuat dengan baik

    • Sepertinya besar kemungkinan deskripsinya humoris, seperti mendorong suatu kelebihan sampai ke ekstrem yang tidak logis
      Keterbatasan fitur sepertinya merujuk ke fitur lain, bukan hal-hal yang mereka sebut bloat
    • Ini lebih terlihat seperti sesuatu yang dibuat “karena terpikir bahwa ini mungkin dilakukan”, dan menurut saya itu selalu alasan yang sah untuk membuat sesuatu yang agak unik
      Saya cukup suka ide bermain lewat tautan tanpa state, dan “keindahan” animasi serta interaksi, setidaknya bagi saya, tidak terasa sebagai keuntungan bersih
      “Teknologi yang benar” sangat bergantung pada pengalaman pengguna yang ingin dibuat. Untuk tujuan ini, HTML dan CSS adalah teknologi yang tepat, sama seperti kumpulan teknologi lain cocok untuk tujuan UX situs dengan fitur lebih banyak
    • Gagasan bahwa orang tidak menginginkan animasi dalam game cukup lucu. Entah itu lelucon, atau terlalu tenggelam dalam kubu yang menganggap web tidak seharusnya punya JavaScript
  • Secara ketat, ini bukankah bukan situs statis? Backend merendernya secara dinamis setiap kali ada request
    Sepertinya tidak ada 999999919291293923 halaman yang sudah dirender sebelumnya di suatu tempat di server

    • Secara teknis, untuk mencakup semua posisi catur yang legal dibutuhkan sekitar 4,8 * 10^44 halaman [1]
      Selain itu, posisi yang sepenuhnya ilegal seperti ini pun dilayani dengan baik: https://chess.maxmcd.com/rnbqkbnr/qqqqqqqq/8/8/8/8/QQQQQQQQ/...
      [1] https://github.com/tromp/ChessPositionRanking
    • Sepertinya yang dimaksud statis adalah tidak ada XmlHttpRequest
    • Halaman yang sudah dirender sebelumnya memang ada. Hanya saja dikompresi dengan skema kompresi khusus aplikasi
    • Backend bahkan nyaris tidak perlu merender apa pun. Kalau ini single-page app yang memakai pushState, secara harfiah bisa saja cuma satu file
  • Deteksi langkah legalnya bagus, tapi sepertinya tidak mengenali checkmate?
    https://chess.maxmcd.com/r1b1kRnr/p1ppB2p/n2P2p1/8/7P/1p6/PP...
    Bukankah seharusnya menampilkan checkmate?

    • Melihat bidak-bidaknya tidak bisa bergerak lagi, sepertinya checkmate terdeteksi, hanya tampilannya saja yang tidak benar
    • Kalau di halaman checkmate benar-benar tertulis ‘checkmate’, bot Google bisa mengindeks seluruh situs lalu menemukan checkmate
      Idealnya, tiap halaman juga memuat string ringkasan semua status papan sebelumnya yang mengarah ke posisi itu. Dengan begitu, kita bisa mencari status papan saat ini bersama ‘checkmate white’ untuk menemukan semua cara menang dari posisi tertentu
      Satu-satunya hal yang tersisa untuk menjadikan Google sebagai peramal catur pamungkas adalah meyakinkan lawan agar memainkan langkah yang ditemukan itu
    • En passant juga tidak diizinkan
  • Saya sempat berharap ini varian catur yang tidak ada satu pun bidak yang bisa bergerak

    • Saya juga begitu. Untuk sementara, kalau mau permainan yang mirip tapi lebih statis, coba Go. Pencarian akan lebih mudah dengan nama Tionghoanya, Weiqi, atau nama Koreanya, Baduk
    • Kalau tautannya tidak diklik, memang benar begitu jadinya
  • Karya yang keren. Menarik juga kalau ditaruh di belakang CDN seperti Cloudflare lalu melihat seperti apa rasio cache hit-nya

    • Opening explorer Lichess sepertinya bisa menjadi indikator yang cukup akurat untuk bagaimana rasio cache hit akan berkembang
      https://lichess.org/analysis#explorer
      Sepertinya akan lebih dekat ke database Lichess, yang cukup berbeda dari database Masters. Misalnya, di Masters, e4 dijawab dengan c5 sebanyak 46%, sedangkan di Lichess c5 hanya 19%
  • https://chess.maxmcd.com/rnbqk3/pppp2pB/2P1p3/1P1P2Bp/3n4/b2...
    Sangat keren, saya mencoba sampai akhir dan berhasil membuat checkmate

    • Akan bagus kalau URL berisi rantai langkah saja, bukan status papan. Dengan begitu, cukup tempelkan rantai langkah ke URL untuk mendapatkan status papan
  • Dulu saya juga pernah membuat halaman catur statis, lalu menambahkan koneksi P2P dengan WebRTC agar bisa bermain dengan teman

    • Try it
    • Fork it
    • Kadang saya melihat bug aneh ketika game otomatis menjalankan langkah alih-alih pemain. Terutama kalau ratu salah satu pihak menangkap sebuah bidak, lalu ratu lawan bisa menangkap ratu itu, sepertinya game otomatis memainkan langkah ratu menangkap ratu
    • Efek suaranya benar-benar bagus. Terutama suara check
  • Promosi pion dikunci menjadi ratu. Akan bagus kalau promosi lain juga didukung: https://www.chess.com/forum/view/game-showcase/checkmate-by-...

  • Sangat keren. Selain FEN, akan bagus kalau ada riwayat langkah, dan mungkin bisa dimasukkan sebagai fragment
    Contoh: https://chess.maxmcd.com/rnbqkbnr/ppp1pppp/8/3p4/3P1B2/8/PPP...