Moby Dam - Le Bottin des Jeux Linux

Moby Dam

Specifications

Title: Moby Dam Type: Status lost
Genre: Puzzle Status: Non-funct.
Category: Puzzle ➤ Board Game ➤ Draughts Commercial:
Tags: Draughts Engine; International Draughts; Puzzle; Board game; Draughts; DamExchange Protocol Demo:
Released: Latest : 20160703 / Dev : 60cc8d1 Package Name:
Date: 2019-05-25 Extern Repo:
License: GPL v3 Repo:
Perspective: Third person Package:
Visual: Text Binary:
Pacing: Turn-Based Source:
Played: Single PDA:
Quality (record): 5 stars Quality (game):
Contrib.: Goupil & Louis ID: 15348
Created: 2018-01-19 Updated: 2020-09-03

Summary

[fr]: Un moteur libre et multi-plateforme de jeu de Dame Standard (damier 10x10). C'est un moteur relativement puissant ayant participé à plusieurs concours internationaux "Computer Olympiad" (4ème sur 10 en 2016, 4ème sur 11 en 2017). Il est livré avec des tables de finales (2-6 pièces, bases de données de fin de parties) et communique avec le protocole DamExchange (DXP, utilisé par les interfaces modernes de jeu de Dame, similaire à l'UCI pour les échecs). Il se compile et démarre, mais pour l'instant je ne suis pas parvenu à l'utiliser en jeu. [en]: A libre and multi-platform International (10×10 squares) draughts game engine. Its a relatively powerful engine that has participated in several international competitions "Computer Olympiad" (4th out of 10 in 2016, 4th out of 11 in 2017). It comes with final tables (2-6 pieces, end-of-game databases) and communicates with the DamExchange protocol (DXP, used by Dame's modern game interfaces, similar to the UCI for chess ). It compiles and starts, but for now I have not managed to use it in a game.

Videos

Links

Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t ts gd id r lp g g[fr] g[de] g[ru] g[pl] g[cz] g[sp] g[pt] g[it] g[tr] g] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

Commercial : (empty)

Resources
• Endgame databases : [Harm Jetten's 10x10 draughts (endgame database) (Readme)]
Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

Social
Devs (Harm Jetten [fr] [en]) : [Site 1 2] [twitter] [YouTube] [Interview 1 2]
Game : [Blog] [Forums] [twitter] [YouTube]

On other sites
[Wikipedia (Dames / Draughts) [fr] [en] [de]]

Reviews
[metacritic]

News / Source of this Entry (SotE) / News (SotN)

Description [fr]

Un moteur libre et multi-plateforme de jeu de Dame, par Harm Jetten.
En C.

Moby Dam est un moteur libre et multi-plateforme de jeu de Dame Standard (damier 10x10). C'est un moteur relativement puissant ayant participé à plusieurs concours internationaux "Computer Olympiad" (4ème sur 10 en 2016, 4ème sur 11 en 2017). Il est livré avec des tables de finales (2-6 pièces, bases de données de fin de parties) et communique avec le protocole DamExchange (DXP, utilisé par les interfaces modernes de jeu de Dame, similaire à l'UCI pour les échecs). Il se compile et démarre, mais pour l'instant je ne suis pas parvenu à l'utiliser en jeu.

Voir aussi / See also (DamExchange compatibility) : Dam, Hub, Moby Dam, Scan,


Cela fait un moment que Dam 2.2 v.7 (NdT : sous Windows, dans le Bottin, fonctionne via Wine) a été publié (1999!), Mais récemment, j'ai travaillé sur un nouveau programme 64 bits nommé Moby Dam.

Ce n'est pas un programme autonome complet; c'est juste un moteur de Dame qui doit être contrôlé à partir d'une interface utilisateur graphique (GUI) séparée en utilisant le protocole DamExchange. L'utilisation de DamExchange permet à Moby Dam et à l'interface graphique de fonctionner sur la même machine ou sur des machines différentes, selon les besoins.
Il se trouve que Dam 2.2 est bien adapté pour une utilisation comme contrôleur GUI.

Moby Dam écrit beaucoup d'informations dans un fichier journal. Commodément, un petit outil appelé WinTail peut afficher et faire défiler le fichier journal en temps réel. Ou utilisez 'tail -f' sous Linux.

Vous utilisez l'interface graphique pour jouer contre Moby Dam

Caractéristiques de Moby Dam:

• Open Source (GPL v3.0)
• Compile et fonctionne sur les systèmes Linux et Windows 64 bits
• Le processeur doit prendre en charge l'instruction POPCNT
• Mono-thread (pas encore de recherche parallèle multi-coeurs)
• Utilise les bases de données de 2 à 6 pièces, disponibles ici (NdT : voir la section Resource ci-dessus).

Version initiale: mobydam-2015-07-05.zip. C'est la version qui a participé à la 18ème Computer Olympiad les 4 et 5 juillet 2015.

Deuxième version: mobydam-2016-07-03.zip. Ceci est la version qui a participé à la 19ème Computer Olympiad les 2 et 3 juillet 2016 et la 20ème Computer Olympiad les 1 et 2 juillet 2017.

Les changements sont:

• Support de Visual Studio 2015
• Ajout du support DXP BACKREQ (déplacement "take back" (NdT : "prise en arrière" ?))
• Correction de bug comptage du nombre de coups de l'adversaire dans le journal
• Augmentation de la force de jeu en ajoutant un élagage mauvais mouvement du type de celui du moteur Scan (NdT : dans le Bottin)

Les fichiers sources sont également accessibles en tant que dépôt Git sur le compte github de Rein Halbersma.

Pour plus de détails sur Moby Dam, vous pouvez voir et participer à la discussion sur le sujet de Moby Dam au World Drafts Forum.

Description [en]

It's been a while since Dam 2.2 v.7 was released (1999!), but lately I've been working on a new 64-bit program named Moby Dam.

This is not a complete stand-alone program; it's just a draughts engine that must be controlled from a separate graphical user interface (GUI) using the DamExchange protocol. The use of DamExchange allows Moby Dam and the GUI to run on the same machine or on different machines, as desired.
It just so happens that Dam 2.2 is well-suited for such a use as a GUI controller.

Moby Dam writes a lot of information to a logfile. Conveniently, a little tool called WinTail can display and scroll the logfile in real-time. Or use 'tail -f' under Linux.

You operate the GUI to play against Moby Dam

Features of Moby Dam:

• Open Source (GPL v3.0)
• Compiles and runs on Linux and Windows 64-bit systems
• The processor must support the POPCNT instruction
• Single-threaded (no multi-core parallel search yet)
• Uses the 2-6 piece endgame databases, available here (See the "Resources" section above).

Initial release: mobydam-2015-07-05.zip. This is the version that participated in the 18th Computer Olympiad on July 4 and 5, 2015.

Second release: mobydam-2016-07-03.zip. This is the version that participated in the 19th Computer Olympiad on July 2 and 3, 2016 and the 20th Computer Olympiad on July 1 and 2, 2017.

Changes are:

• Support Visual Studio 2015
• Added DXP BACKREQ (take back move) support
• Fixed opponent's move count in the log
• Increased strength of play by adding bad move pruning a la Scan

The source files are also accessible as a Git repository at Rein Halbersma's github account.

For more details of Moby Dam you are welcome to view and join the discussion in the Moby Dam topic at the World Draughts Forum.


DAM - 10x10 draughts endgame database
=====================================

damend2.zip = all 2-piece files; not needed for DAM 2.2, is needed for Moby Dam

damend3.zip = all 3-piece files

damend4.zip = all 4-piece files

damend5.zip = all 5-piece files

the 6-piece files:
end_33a.zip
end_33b.zip
end_42a.zip
end_42b.zip
end_42c.zip
end_51.zip

Un-zip all zip files into a folder on the hard disk, e.g. into C:\Damend.
The space needed is approx. 1.5 GB for all files, or 70 MB without the 6-piece files.

Then start Dam, and select menu Options - Properties, tab Database.
Fill in the folder name (C:\Damend) in the top line, and press button Validate, then Dam will check that all files are present and correct.

Enjoy,

Harm Jetten.

Installation [fr]

INSTALLATION :

Moby Dam est un moteur de jeu de dames. Pour y jouer de manière confortable il vous faudra une interface (voir l'interface "Hub" dans le Bottin).
Vous pouvez néanmoins tester son fonctionnement en console, sans interface.

➥ Installation à partir du binaire du jeu :

Pas de binaire disponible.

➥ Installation à partir du source du jeu :

• Décompressez son source, puis dans son répertoire main/ lancez :
$ make
(ou, pour accélérer la compilation, "$ make -j8" si vous disposez d'un processeur 8 threads, à adapter pour vous)
• Copiez le binaire mobydam dans le répertoire racine (car celui-ci contient le répertoire book/)


LANCEMENT DU JEU :

• En console dans son répertoire racine lancez : $ ./mobydam

Test [fr]

Test (3bc2aa7) de goupildb :

(test de fonctionnement)

Le jeu se compile facilement.

J'ai commencé un début de documentation ci-dessous.
Ensuite j'ai fais plein de tentatives - y compris avec l'interface "Dam (de Harm Jetten's), mais toutes se sont soldées par un échec.

Test avec l'interface Hub (voir la fiche dans le Bottin) :
• Copiez dans le répertoire racine de l'interface Hub :
- le binaire mobydam
- son répertoire book/
- au moins une base de données de fin de parties : (à minima celle-ci) damend2.zip
• Modifiez le fichier de configuration "Hub.ini" de l'interface Hub pour sélectionner le bon moteur à utiliser :
engine-command = ./mobydam hub
• En console dans son répertoire racine lancez : $ java -jar hub.jar

Contrairement au moteur de jeu de Dame "Scan", Moby Dam n'est pas très loquace en console (par exemple il n'affiche pas le damier en console).
Tout ce dont on a le droit c'est un :
$ ./mobydam -c localhost
Moby Dam: 10x10 draughts engine with DamExchange protocol
Copyright 2015 Harm Jetten
This program is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License.
connected to localhost on port 27531
ready (type h for help)
h
Available console commands are:
exit terminate program
end force sending a gameend
chat send chat text to opponent
indb in-database position ends game (toggle)
draw regulation draw ends game (toggle)
wipe wipe transposition table before each game (toggle)
delay short delay before first move (toggle)
depth set iterative search depth limit (0=no limit)
time set hard time limit per move (in ms) (0=no limit)
checkend check endgame database files
verbose log extra search info (toggle)
help show this help text

Malgré différents tests avec l'interface hub, tout ce dont j'obtiens c'est le démarrage de hub avec son interface, et en console j'ai :
$ java -jar hub.jar
---
init ###
start
init done
>1 hub
<1 Moby Dam: 10x10 draughts engine with DamExchange protocol
<1 Copyright 2015 Harm Jetten
<1 This program is free software: you can redistribute it and/or
<1 modify it under the terms of the GNU General Public License.
<1 connected to localhost on port 27531

Mais la partie ne démarre pas, je ne peux jouer un seul coup. J'ai copié les bases de données, tenté différents paramètres, mais rien à faire, Moby Dam ne réagit pas.
Ensuite j'ai tenté de le faire fonctionner avec l'interface Dam (du même auteur). Mais malgré mes paramétrages (dans Partie ➜ DamExchange ➜ Connecter (ou Attente de Connexion) 127.0.0.1 (en console j'avais lancé : $ ./mobydam -c localhost -e endmob/, endmob/ étant le nom du répertoire où j'ai copié les fichiers de fin de partie, j'ai aussi essayé de décompresser ceux-ci car il n'est indiqué nulle part s'il faut les copier compressés ou décompressés) je ne pense pas que cela ait fonctionné. "je ne pense pas" car l'interface intègre elle-même nativement le moteur, et l'on peut jouer contre une IA sans le moteur externe en cliquant sur un bouton avec une icône de PC.
Enfin j'ai essayé de jouer avec l'interface Dam et le moteur Scan, mais n'y suis pas arrivé non plus.
Bref, j'abandonne pour l'instant.
À noter que Moby Dam a une fâcheuse tendance à continuer à tourner en mémoire même après l'avoir fermé en console. J'ai dû le killer via le moniteur système pour éviter qu'il ne consomme inutilement de la ressource processeur.

Côté ☺ :
• Un bon moteur.

Côté ☹ :
• Je n'arrive pas à le faire fonctionner.
• Le moteur n'est pas très communicant (les fichiers de logs eux-mêmes ne sont pas très loquaces)
• Même avoir avoir interrompu son utilisation en console, il a tendance à rester en mémoire (à surveiller avec la commande top).

☯ Conclusion :

A suivre. Une autre fois. Pour l'instant, si le moteur semble fonctionner, en revanche je n'arrive à jouer avec lui.
Statut : Non-funct. Si vous arrivez à le faire fonctionner, n'hésitez pas à me contacter sur le site.