Top-level Files of tip
Not logged in

Files in the top-level directory from the latest check-in


chess_cache

This is my hobby project of combining a chess engine like Stockfish, with a database that stores the results of position analysis, to make it more effective when used. All (or almost all) comments and documentation in this repo are written in Bahasa Indonesia, because I am Indonesian, and the only one who interacts with this code is me. I use formal/semi-formal language, so it shouldn't be difficult to translate the text I write into your language using a translation engine (like DeepL or Google Translate). Some things are not yet documented, as they are not yet “stable”.

Apa ini?

Ini adalah proyek sampingan saya, untuk membuat GUI(?) mesin catur yang masuk akal untuk saya. Ada beberapa cerita yang menjadi alasan utama saya membuat ini: saya membiarkan komputer menghabiskan waktu panjang menganalisa suatu posisi, tapi tiba-tiba, secara tidak sengaja mouse-slip sehingga GUI (dan Stockfish) memulai analisa posisi baru (dan menghapus analisa lawas); Ouch. Atau ketika saya membuat analisa di Nibbler, saya tidak bisa mengonversi semua data analisa (semua PV dan sebagai) tersebut di EnCroissant (kecuali menganalisa kembali dari awal). Oh atau, mengapa saya perlu menunggu Stockfish menghabiskan ulang waktu menganalisa posisi yang sudah pernah dianalisanya? Setidaknya tampilkan saja singgahan analisa yang lalu. Selain hal-hal itu, saya juga menggunakan ini sebagai kesempatan belajar menjadi developer; dengan kata lain, duga ada beberapa scope-creeps di proyek ini. Beberapa yang sedang/telah saya kembangkan adalah analisa terdistribusi (komputer lain dapat membantu menganalisa posisi) dan hal-hal terkait database.

Jika Anda mengakses repo ini di Github/Gitlab, Anda sebenarnya mengakses cermin (mirror) dari repo Fossil self-hosted saya. Saya menggunakan Fossil karena, setidaknya untuk proyek ini, Fossil adalah SCM yang jauh lebih sesuai ketimbang Git. Saya tidak menerima kontribusi dalam bentuk kode, karena sifat proyek ini yang "just for fun"; Anggaplah repo ini sebagai public source ("sumber tersedia") dan bukan open source ("sumber terbuka"). Namun pastinya, Anda dapat mem-fork repo ini dan mengembangkannnya sesuai kebutuhan Anda.

Proyek lain yang mirip

Instalasi

  1. Jika Anda belum punya Fossil, install atau unduh executable Fossil, mana yang lebih nyaman bagi Anda.
    1. Eksekusi fossil clone https://fossil.kekavigi.xyz chess_cache.
    2. Buat folder tempat Anda ingin membuka repo. Sebagai contoh jika Anda men-clone repo ke folder ~/Backup dan ingin membuka repo di folder ~/Project/cc, maka eksekusi perintah fossil open ~/Backup/chess_cache.fossil di folder cc. (Berbeda dengan Git, tidak ada paksaan untuk harus menyimpan data fossil di folder yang sama dengan konten dari proyek tersebut).
  2. Jika Anda belum punya uv, install uv terlebih dahulu. Lalu eksekusi uv init.
  3. Sebagian besar waktu saya dihabiskan di-branch playground, Anda dapat mengakses versi ini dengan menjalankan fossil update playground.
  4. Salin .env.base ke .env.prod, lalu ubah env-vars menyesuaikan kebutuhan Anda.
  5. Eksekusi run.sh untuk menjalankan web.py dan worker.py. Kunjungi localhost:9901 untuk mengakses GUI.
  6. Setelah Anda melakukan modifikasi, jalankan pre-commit.sh untuk mengecek jikalau ada galat yang terlewat.

Selayang pandang

Niatan selanjutnya