Edax - Le Bottin des Jeux Linux

Edax

🗃️ Specifications

📰 Title: Edax 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Puzzle 👁️ Visual: Text
🏷️ Category: Puzzle ➤ Board Game ➤ Reversi 🏝️ Perspective: Third person
🔖 Tags: Puzzle; Board Game; Reversi Engine ⏱️ Pacing: Turn-Based
🐣️ Approx. start: 👫️ Played: Single
🐓️ Latest: 2017-06-11 🚦 Status: 05. Tested & Working (status)
📍️ Version: Latest: 4.4 / Dev: 8e5da6d ❤️ Like it: 9. ⏳️
🏛️ License type: 🕊️ Libre 🎀️ Quality: 2. 🏅️⭐⭐⭐⭐ (good)
🏛️ License: GPL-3 ✨️ (temporary): 5 stars
🐛️ Created: 2018-04-27 🐜️ Updated: 2024-06-22

📦️ Deliverables

📦️ Package name: ..... 📦️ Arch:
📄️ Source: ✓ ..... 📦️ RPM:
⚙️ Generic binary: ✓ ..... 📦️ Deb:
🌍️ Browser version: ..... 📦️ AppImage:
📱️ PDA support: ..... 📦️ Flatpak:
✨️ Not use: ..... 📦️ Snap:

🚦 Entry status

📰 What's new?: 👻️ Temporary:
💡 Lights on: 🎨️ Significant improvement:
👔️ Already shown: 💭️ New version published (to be updated):
🎖️ This work: 4 stars 🚧️ Some work remains to be done:
👫️ Contrib.: goupildb & Louis 🦺️ Work in progress:
🎰️ ID: 15410

📖️ Summary

📜️[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. 📜️[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é.

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(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, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
Devs (Richard Delorme (abulmo) [fr] [en]): [Site 1 2] [Chat] [mastodon] [Facebook] [PeerTube] [YouTube] [Linkedin] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

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

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

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

🕊️ Source of this Entry: [Site (date)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title:
🦊️ What's:
🏡️
🐣️
🔖
📦️
📖 Our entry: (homeless)

🥁️ Update:
⚗️
📌️ Changes:
🦣️ From: 🛜️

🏝️ https://www.youtube.com/embed/
🦉️ https://www.youtube.com/embed/
🦝️ https://www.youtube.com/embed/
🦝️ https://www.youtube.com/embed/
🕵️ https://www.youtube.com/embed/
🕯️https://www.youtube.com/embed/
🕯️https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️[fr] https://www.youtube.com/embed/
🎮️ https://www.youtube.com/embed/
🎮️ https://www.youtube.com/embed/
🐧https://www.youtube.com/embed/
🐧https://www.youtube.com/embed/

🕶️

📚️ Name is a

📕 Description [en]

📜️ "blabla" 📜️


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.

📕 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.

🚧️ Installation ➜ 🚀️ Launching [fr]

⚙️ Installation à partir du binaire

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

✔ 📄️ Installation à partir du source

• 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 :

🎯️ Objectif : Mise à jour de son fonctionnement/évolution.

🫕️ 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.

‣ 🌞️ J'ai aimé
• Une IA puissante conçue avec soin
• Une documentation complète en HTML est fournie avec le livrable

‣ 🌤️ Axes d'amélioration
• Rien à signaler.

🧭️ Conclusion :

🕵️ Impression globale : 👍️
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 !