Edax - Le Bottin des Jeux Linux

Edax

🗃️ Specifications

📰 Title: Edax 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Puzzle 🚦 Status:
🏷️ Category: Puzzle ➤ Board Game ➤ Reversi 🍥️ Name:
🔖 Tags: Puzzle; Board Game; Reversi Engine 📦️ Arch:
🐣️ Approx. start: 🍥️ On Deb repo:
🐤️ Latest: 2017-06-11 📦️ Deb:
📍️ Version: Latest : 4.4 / Dev : 8e5da6d 📦️ RPM:
🏛️ License type: FOSS/Libre 📦️ AppImage:
🏛️ License: GPL-3 📦️ 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: 15410 🐛️ Created: 2018-04-27
🐜️ Updated: 2020-11-11

📖️ Summary

[fr]: Une IA libre, multi-plateforme, d'un très bon niveau pour le jeu de Reversi / Othello. Elle est rapide, multithread, fonctionne sur une représentation bitboard, à des capacités d'évaluation de milieu de partie et d'apprentissage de livre d'ouverture, et dispose du support multi-protocole pour se connecter à des interfaces graphiques ou jouer sur Internet (GGS). Un très bon moteur écrit en C avec un soin particulier apporté à sa portabilité et à sa modularité. [en]: A libre, multi-platform, and strong IA for Reversi / Othello. Its fast, multithreaded, runs on a bitboard representation, has midgame-evaluation and opens book learning capabilities, and has multi-protocol support for connecting to GUI or playing on the Internet. (GGS). A very good engine written in C with particular care given to its portability and its modularity.

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) ts(202xxx) gd(202xxx) id(202xxx) r(202xxx) lp(202xxx) g(202xxx) 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]

💵 Commercial : (empty)

🍩️ Resources
(empty) :
🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

🐘 Social
Devs (Richard Delorme (abulmo) [fr] [en]) : [Site 1 2] [twitter] [Facebook] [YouTube] [Linkedin] [Interview 1 2]
Game : [Blog] [Forums] [twitter] [YouTube]

🐝️ Related
[Wikipedia (Edax) [fr] [en] [de]]

📦️ Misc. repositories

🕵️ Reviews
[metacritic] [Edax 3.6 vs. Cyrano 3.1 [fr]]

🐘 Social Networking Update (on Mastodon)

🕹️ Title:
🦊️ What's:
🏡️
🐣️
🔖 #linux

🐧 Update:
💼️
📌️ Changes:
📖 Our entry: https://bit.ly/bottinLightOn
🐘 From:
🎥️🏝️ http://youtu.be/
🎥️🕵️ http://youtu.be/
🎥️🕹️ http://youtu.be/
🎥️🐧 http://youtu.be/

Source of this Entry:

📕 Description [fr]

Une IA très forte pour le jeu de Reversi / Othello, par Richard Delorme (abulmo).
En C.

Edax est une IA libre, multi-plateforme, d'un très bon niveau pour le jeu de Reversi / Othello. Elle est rapide, multithread, fonctionne sur une représentation bitboard, à des capacités d'évaluation de milieu de partie et d'apprentissage de livre d'ouverture, et dispose du support multi-protocole pour se connecter à des interfaces graphiques ou jouer sur Internet (GGS). Un très bon moteur écrit en C avec un soin particulier apporté à sa portabilité et à sa modularité.


Edax est un programme d'othello très fort. Ses principales fonctionnalités sont:

• moteur rapide et multithread basé sur une représentation bitboard (NdT : représentation relative et informatique du tablier par rapport à une pièce donnée).
• une fonction précise d'évaluation de milieu de partie.
• capacité d'apprentissage de livre d'ouverture.
• interface textuelle riche.
• support multi-protocole pour se connecter à des interfaces graphiques ou jouer sur Internet (GGS).
• support multi-OS pour fonctionner sous MS-Windows, Linux et Mac OS X.

Installation: Depuis la section release de github, vous devez à la fois décompresser l'exécutable correspondant à votre système d'exploitation préféré et les données d'évaluation (data/eval.dat) dans le même répertoire. Seul les exécutables 64 bits avec support popcount sont fournis.



🌍️ Wikipedia [en] (traduction du Bottin) :

Edax est un logiciel d'Othello régulièrement mis à jour et écrit par Richard Delorme en 1998. Les principaux algorithmes appliqués par le programme sont le générateur de mouvement bitboard, la recherche par arbre negascout, la recherche sélective multi-probabilités, la recherche parallèle utilisant le concept Young Brother Wait. Le code source d'Edax est disponible sous les termes de la licence publique générale GNU.

📕 Description [en]

Edax is a very strong othello program. Its main features are:

• fast bitboard based & multithreaded engine.
• accurate midgame-evaluation function.
• opening book learning capability.
• text based rich interface.
• multi-protocol support to connect to graphical interfaces or play on Internet (GGS).
• multi-OS support to run under MS-Windows, Linux and Mac OS X.

Installation: From the release section of github, you must 7unzip both an executable of your favorite OS, and the evaluation weights (data/eval.dat) in the same directory. Only 64 bit executable with popcount support are provided.



Edax is a very strong and fast Othello program. For the purpose of strength, I made the following choices:

1. Usage of the C language. This is a language that is simple, fast, portable, etc. I tried to conform to the iso-C99 standard, except where non- standard features were necessary, such as time management or multi-threading capabilities. In such cases, code was made to be easily portable, at least between MS-Windows and Unix. It does compile with most of the C compiler available under Windows, linux & mac OS X.

2. I used the C language as a very high language. I wrote very modular code. I privileged small functions over long pieces of code. I avoided global variables. Instead I organize data into structures passed to functions as pointers. Structure and function naming was carefully chosen to give an object-oriented-programming feeling. My purpose was to make the program as bug free as possible, and as clear as possible for me to understand it.

3. I used the best algorithms I know:
• fast bitboard-based move generators.
• Principal Variation Search (an enhanced alphabeta).
• Multi-way lock-free hash table.
• Pattern-based Evaluation function.
• MultiProbcut-like selective search.
• Parallel search using Young Brother Wait Concept (YBWC).


🌍️ Wikipedia:

Edax is a regularly updated Computer Othello program written by Richard Delorme in 1998. The main algorithms applied by the program are bitboard move generator, negascout tree search, multi-probcut selective search, parallel search using the Young Brother Wait concept, and pattern based evaluation function. Edax's source code is available under the terms of the GNU General Public License.

🚧️ Installation [fr]

INSTALLATION :

➥ Installation à partir du binaire du jeu :

Un binaire 64-bits est disponible (non testé).

➥ Installation à partir du source du jeu :
• Téléchargez le source sur GitHub et décompressez-le
• Dans son répertoire principal (au même niveau que les répertoires src/ et include/), créez le répertoire bin/
• Téléchargez sur GitHub le livre d'ouverture (dénommé "eval.7z"), il contient un répertoire data/ avec un fichier eval.dat. Copiez ce répertoire data/ dans le répertoire bin/ ci-avant (vous obtenez bin/data/eval.dat).
• Dans son répertoire src/ lancez successivement :
⚬ si votre OS est toujours en 32-bit : $ export ARCH=x86
⚬ ou si votre OS est en 64-bit : $ export ARCH=amd64
(à adapter en fonction de votre architecture, pour voir les commandes disponibles lancez : $ make help
$ export OS=linux
$ export COMP=gcc
$ make build
(le binaire produit se trouvera dans le répertoire bin/)


LANCEMENT DU JEU :

• En console dans son répertoire bin/ lancez :
- si vous disposez d'une architecture 32-bit : $ ./lEdax-x86
- si vous disposez d'une architecture 64-bit : $ ./lEdax-amd64
(à adapter, car en fonction de l'architecture que vous avez retenu le nom ne sera pas le même)

Nota : ce moteur seul en console n'a que peu d'intérêt, il s'utilise avec une interface externe tel que NBoard (testé : ok) ou Quarry.

Exemple, pour ajouter ce moteur sous l'interface NBoard :

• Ajout de l'IA :
Dans le menu Engine :
"Select Opponent"
Cliquez sur le bouton "Add engine..."
Et saisissez :
Edax
/mnt/DDprc/Download/edax-reversi-master/bin
lEdax-x86 -nboard
(à adapter en fonction du nom de votre moteur et de sa localisation, saisissez une adresse absolue, c'est à dire une adresse complète depuis la racine)

• Sélection de l'IA :
Dans le menu Engine :
"Select Opponent"
Sélectionnez Edax, puis le niveau souhaité.

🔍️ Test [fr]

🕵️ Test (source v4.4 de Richard Delorme, compilé sous Debian 64-bit) par goupildb :

(test de fonctionnement)

🕹️ Facilité d'installation

Le source se compile bien, il nécessite quelques manipulations complémentaires (création du répertoire bin/ et une copie séparée du livre d'ouverture).

Au lancement du moteur on obtient quelque-chose semblable à cet affichage :

A B C D E F G H BLACK A B C D E F G H
1 - - - - - - - - 1 0:00.000 1 | | | | | | | | | 1
2 - - - - - - - - 2 2 discs 4 moves 2 | | | | | | | | | 2
3 - - - . - - - - 3 3 | | | | | | | | | 3
4 - - . O * - - - 4 ply 1 (60 empties) 4 | | | |()|##| | | | 4
5 - - - * O . - - 5 Black's turn (*) 5 | | | |##|()| | | | 5
6 - - - - . - - - 6 6 | | | | | | | | | 6
7 - - - - - - - - 7 2 discs 4 moves 7 | | | | | | | | | 7
8 - - - - - - - - 8 0:00.000 8 | | | | | | | | | 8
A B C D E F G H WHITE A B C D E F G H

J'ai aussi testé testé ce moteur avec l'interface NBoard (voir la section "Installation" ci-avant) : il marche parfaitement.

Côté 🙂️ :
• Une IA puissante conçue avec soin
• Une documentation complète en HTML est fournie avec le livrable

Côté 🙁️ :
• Aucun (pas trouvé)

🕹️ Conclusion :
Une IA d'un très bon niveau, très bien conçue et qui fonctionne très bien sous Linux.
Un grand bravo et merci à son auteur !