Daydreamer - Le Bottin des Jeux Linux

Daydreamer

🗃️ Specifications

📰 Title: Daydreamer 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Puzzle 🚦 Status:
🏷️ Category: Puzzle ➤ Board Game ➤ Chess ➤ Engine ➤ UCI only 🍥️ Name:
🔖 Tags: Puzzle; Board Game; Chess Engine; Chess960; UCI Protocol 📦️ Arch:
🐣️ Approx. start: 2009-08-16 🍥️ On Deb repo:
🐤️ Latest: 2016-09-27 📦️ Deb:
📍️ Version: Latest : 2.0.0-pre2 / Dev : 97e5c32 (aka 2.0.0-pre2) 📦️ RPM:
🏛️ License type: Free/Free price 📦️ AppImage:
🏛️ License: Free (unspecified) 📦️ Snap:
🏝️ Perspective: Third person 📦️ Flatpak:
👁️ Visual: Text ⚙️ Generic bin.: ✓
⏱️ Pacing: Turn-Based 📄️ Source: ✓
👫️ Played: Single 🌍️ Browser-based:
🎖️ This record: 5 stars 📱️ PDA support:
🎖️ Game design: 5 stars 👫️ Contrib.: Goupil & Louis
🎰️ ID: 10751 🐛️ Created: 2010-08-20
🐜️ Updated: 2021-02-02

📖️ Summary

[fr]: Une IA de jeu d'échecs (une IA spécialisée dans ce type de jeux) gratuite (licence non précisée), assez puissante (puissance estimée à 2890 ELO pour la v.2.0.0-pre2 classée 104ème sur 693 candidats au CCRL 40/15, classement "CCRL 404 - All engines - best versions only" du 16 janvier 2021) mettant l'accent sur la recherche, et communiquant avec le protocole UCI (les protocoles les plus courants sont CECP aka Winboard/Xboard, et UCI). Son algorithme utilise une représentation bitboards et la génération de mouvements par phases. [en]: A free (license not specified) chess AI (an AI specialized in this type of games), quite powerful (power estimated at 2890 ELO for the v.2.0.0-pre2 ranked 104th out of 693 candidates at the CCRL 40/15, ranking "CCRL 404 - All engines - best versions only" of January 16, 2021) focusing on search, and communicating with the UCI protocol (the most common protocols are CECP aka Winboard/Xboard, and UCI). Its algorithm uses a bitboards representation and phased move generation.

🎥️ Videos

🎮️ Quelques exemples / Some examples (Showcase) : v.2.0.0-pre2

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) ts(202xxx) gd(202xxx) gu(202xxx) id(202xxx) r(202xxx) lp(202xxx) d(v.2.0.0-pre2) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💵 Commercial : (empty)

🍩️ Resources
• (empty) :
🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [Chess Programming Wiki] [Computer Chess Rating Lists (CCRL 404 - All engines - best versions only)]

🐘 Social
Devs (Aaron Becker 1 2 [fr] [en]) : [Site 1 2] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
Game : [Blog] [Forums] [mastodon] [twitter] [PeerTube] [YouTube]

🐝️ Related


📦️ Misc. repositories

🕵️ Reviews
[metacritic] [OpenCritic] [iGDB]

📰 News / Source of this Entry (SotE) / News (SotN)
[Changes with v. 2.0.0-pre2 (20160927)]

📕 Description [fr]

Une IA de jeu d'échecs libre et assez puissante, par Aaron Becker.
En Rust.

Daydreamer est une IA de jeu d'échecs (une IA spécialisée dans ce type de jeux) gratuite (licence non précisée), assez puissante (puissance estimée à 2890 ELO pour la v.2.0.0-pre2 classée 104ème sur 693 candidats au CCRL 40/15, classement "CCRL 404 - All engines - best versions only" du 16 janvier 2021) mettant l'accent sur la recherche, et communiquant avec le protocole UCI (les protocoles les plus courants sont CECP aka Winboard/Xboard, et UCI). Son algorithme utilise une représentation bitboards et la génération de mouvements par phases.


Ressources et documentations disponibles : voir les fiches "Ressources - Echecs" et "Ressources - Echecs Orientaux".


Un moteur d'échecs, axé sur la recherche, w̶r̶i̶t̶t̶e̶n̶ ̶i̶n̶ ̶C̶ écrit en Rust.

Daydreamer est un programme de jeu d'échecs que j'ai écrit pendant mon temps libre. Je l'ai nommé Daydreamer après qu'un bug dans une première version l'ait fait suivre de temps en temps un jeu très fort par des bourdes bizarres, comme s'il avait perdu sa concentration sur le jeu et que son esprit errait sans but.

Passage de 1.75 à 2.0

La version 2.0 est une réécriture totale de Rust. J'ai profité de l'occasion pour moderniser les internes de Daydreamer également. Les plus grandes différences sont le passage de la représentation 0x88 aux bitboards et l'introduction de la génération de mouvements progressifs. Il y a également de grands changements dans le traitement des entrées et la gestion du temps, en grande partie à cause des différences entre C et Rust.

La fonction d'évaluation est pratiquement inchangée, mais il y a quelques ajustements dus aux changements de représentation du tablier, et il y a également un certain nombre de fonctionnalités que je n'ai pas du tout portées, notamment le support des livres et les bases de tableaux de fin de partie.

J'ai mis à jour et optimisé la recherche de manière significative. Les changements les plus importants sont une meilleure fenêtre d'aspiration et un élagage beaucoup plus agressif.

La version 2.0 n'est pas encore complète ; la version actuelle est un aperçu.

📕 Description [en]

"A free (license not specified) chess AI, quite powerful (power estimated at 2891 ELO) focusing on search" (Serge Le Tyrant, Le Bottin des Jeux Linux / The Linux Games Book).

A chess engine, focused on search, w̶r̶i̶t̶t̶e̶n̶ ̶i̶n̶ ̶C̶ written in Rust.

Daydreamer is a chess-playing program I have been writing in my spare time. I named it Daydreamer after a bug in an early version caused it to occasionally follow up very strong play with bizarre blunders, as though it had lost its focus on the game and its mind was wandering aimlessly.

Changes from 1.75 to 2.0

2.0 is a total rewrite in Rust. I took the opportunity to modernize Daydreamer's internals as well. The biggest differences are a move from 0x88 board representation to bitboards and the introduction of phased move generation. There are also big changes to input handling and time management, largely due to differences between C and Rust.

The evaluation function is mostly unchanged, but there are some tweaks due to board representation changes, and some terms that I haven't ported, including material balance calculations and endgame scaling. There are also a number of features that I haven't ported at all, notably support for books and endgame tablebases.

I've updated and tuned the search significantly. The biggest changes are better aspiration windowing and much more aggressive pruning.

Version 2.0 isn't complete yet; the current release is a preview.


Chess Programming Wiki (CC BY-SA 3.0) :

Daydreamer prior to 2.0 pre-release used piece-lists and a 16x16 vector attacks board around a 0x88 board inside its middle 16x8 slots. Move generation of pieces is unrolled over directions, capture generation of sliding pieces for quiescence uses the leading efficient blocker loop, i.e. for one vertical direction (...)

Search

The search is PVS alpha-beta with transposition table, IID, null move pruning combined with mate threat extensions, razoring, futility pruning and late move reductions inside an iterative deepening framework with aspiration windows and floating point fractional ply depth, the latter credited to Ivan Bonkin and his Bison program.
Opening Book

Daydreamer supports PolyGlot and ctg opening books, the huffman codes and ctg move decoding based on Stephan Vermeire's ctg code for Brutus.

🚧️ Installation [fr]

INSTALLATION :

Pour la compilation de la version 1.0.1, dans le fichier src/Makefile commentez les lignes 5 à 9 et décommentez la ligne 10 puis lancez : $ make.

Pour jouer avec ce moteur, utilisez une interface graphique de jeu telle que (testé & validé) : Scid.

🔍️ Test [fr]

🕵️ Test (1.0.1) :
Il fonctionne correctement.