-
Notifications
You must be signed in to change notification settings - Fork 21
Perfect Database
This Wiki is tailored to guide users through the process of downloading and employing the perfect database for Nine Men's Morris and Twelve Men's Morris, with support extended to Android, iOS, Windows, and Linux versions. It should be noted that the database is optimized for the standard rules of the game; applying it to non-standard rule sets may result in diminished playing strength.
Database Download Link: Click the link below for the torrent file to download the perfect database.
- Standard Ultra-strong Database (12 GB compressed, 78 GB uncompressed) - This full database file is quite large. For an initial experience, you may start with this smaller version: strong.zip (a tiny version).
- Morabaraba (FBD) Ultra-strong Database (41 GB compressed, 324 GB uncompressed) (FBD means that a Full Board results in a Draw)
Download the File: Use the downloaded torrent file to complete the download and access the database files.
Transfer to Device: Copy the downloaded .secval
, .statistics
and .sec2
files to the Android\data\com.calcitem.sanmill\files\strong
directory on your Android device's storage. Ensure that the copied files are placed directly within the strong
directory, which should be named exactly as strong
(NOT Strong
) if it does not already exist. Additionally, ensure that there are no subdirectories within the strong
directory itself.
Warning: The Android\data\com.calcitem.sanmill
directory will be deleted if you uninstall the app. Consider backing up the strong
directory before uninstalling. However, this directory will not be deleted if you are only upgrading the app version.
Transfer to Device: Follow these steps to transfer the .secval
, .statistics
, and .sec2
files to your iOS device:
-
Unzip and Rename: After downloading, unzip the files. Rename the containing directory to
strong
. Ensure that the name is exactlystrong
(case-sensitive, NOTStrong
). -
Move to iOS Device:
- Open Finder on your Mac.
- Connect your iPhone or iPad to your Mac.
- Your device should appear in the Finder sidebar under “Locations.”
- Click on your device to open it.
- From the top menu in the Finder window, select
Files
. - Scroll down to find the
Mill
app in the list. - Drag and drop the
strong
directory into theMill
folder.
-
Verify Directory Level: Ensure that the
strong
directory is placed directly under theMill
folder. It should be at the same directory level as theSanmill
folder, if such a folder exists.
Reminder: Ensure that your device is unlocked and that you have given your Mac permission to access your device if prompted. If you don't see your device in Finder, disconnect and reconnect it, and make sure you trust the computer on your iOS device.
File Transfer: Copy the downloaded .secval
, .statistics
and .sec2
files to the strong
folder located in the "Documents" directory. If the strong
folder does not exist, create one, ensuring the name is exactly strong
(NOT Strong
), and make sure there are no subdirectories within the strong
folder.
Handling Insufficient Space with Symbolic Links: If the disk space where your "Documents" folder resides is insufficient, you can create the actual strong
folder on another disk and create a symbolic link to it in the "Documents" directory.
For example:
-
Create a folder on another drive (such as
E:
drive), with the pathE:\Std_DD_89adjusted
. -
Place the
.secval
,.statistics
, and.sec2
files inE:\Std_DD_89adjusted
. -
Open Command Prompt (as an administrator).
-
Assuming the actual path of your "Documents" is
D:\users\user\Documents
, execute the following command:mklink /D "D:\users\user\Documents\strong" "E:\Std_DD_89adjusted"
This command creates a symbolic link named
strong
inD:\users\user\Documents
, pointing to thestrong
folder on theE:
drive atE:\Std_DD_89adjusted
.
File Transfer: To transfer the .secval
, .statistics
, and .sec2
files on a Linux system, follow these steps:
-
Locate or Create the
strong
Folder: Thestrong
folder should be located in your user's home directory, typically under~/Documents
. If this folder does not exist, create it using the following command in the terminal:mkdir -p ~/Documents/strong
Ensure that the folder name is exactly
strong
(NOTStrong
). The case is important in Linux file systems. -
Copy Files: Copy the downloaded files to the
strong
folder. You can do this using the command line or a file manager. For command line, use:cp Std_DD_89adjusted/*.secval Std_DD_89adjusted/*.statistics Std_DD_89adjusted/*.sec2 ~/Documents/strong/
Replace
Std_DD_89adjusted
with the actual path where your files are located. -
No Subdirectories: Make sure there are no subdirectories within the
strong
folder. All files should be directly within this folder.
Handling Insufficient Space with Symbolic Links: If you are dealing with limited space in your home directory, you can create a symbolic link to the strong
folder located in another partition or drive. Here’s how:
-
Create a folder in another location (e.g., in another mounted drive or partition). For example:
mkdir /mnt/other_partition/Std_DD_89adjusted
-
Move or copy your
.secval
,.statistics
, and.sec2
files to this new location. -
Create a symbolic link in your
~/Documents
directory pointing to this newstrong
folder:ln -s /mnt/other_partition/Std_DD_89adjusted ~/Documents/strong
This command links the
strong
folder in/mnt/other_partition/Std_DD_89adjusted
to a symbolic link in your~/Documents
directory. The system will treat the symbolic link as if it were the actual folder.
Note: Ensure that you have the necessary permissions to create folders and symbolic links in the locations you choose. If required, use sudo
for administrative privileges. Also, remember to replace the example paths with actual paths relevant to your system.
If you have limited disk or storage space, you can opt to copy only a part of the .sec2
files to the directory. The game will use data from the .sec2
files if they are found. If the .sec2
files are not present, the game will revert to using traditional AI.
Once you've completed the above steps, the Mill game will automatically load the perfect database, enhancing your gameplay experience with higher precision.
When the option General Settings -> AI's playstyle -> Algorithm
is not set to Random
, the program will first use the specified Algorithm to calculate a move. This calculation often takes some time, depending on the Difficulty level
and AI thinking time
settings. Once the result is obtained, it is checked against the Perfect Database. If it is a move considered perfect by the Perfect Database, then that move is executed, and a +
sign is added to the lower right corner of the robot icon. If the Perfect Database does not consider it a perfect move, then the perfect move, rather than the AI-calculated move, is executed. In this case, a bucket icon replaces the robot icon. If, due to missing files, the Perfect Database cannot be used to verify whether the move is perfect, then the original robot icon is displayed without change.
If the Algorithm option is set to Random
, the program will not use the traditional algorithm for calculation but will directly consult the Perfect Database. When the option General Settings -> AI's playstyle -> Passive
is not enabled, the program will try to ensure that at the end of the game, the number of its pieces is as many as possible compared to the opponent’s pieces, while ensuring a no-loss situation. If the Passive
option is enabled, then the program, while ensuring a no-loss situation, will not actively try to maximize the number of its pieces relative to the opponent’s pieces.
- Ensure the database files are in the correct directory.
- If the game does not load the database, please verify your file path.
The perfect database was developed by third parties, specifically Gábor Gévay and Gábor Danner.
By following these instructions, you can effectively utilize the perfect database, significantly enhancing your gameplay experience.
For any questions or further assistance, please feel free to contact us.
Project Management
Contributing
- How to Contribute
- Submitting Bugs and Suggestions
- Feedback Channels
- Source Code Organization
- Coding Guidelines
- Design Principles
- Translation and Localization
- Thanks
Documentation
- Rules of Mill
- Perfect Database
- Programmer's Guide
- Development White Paper
- Entwicklung White Paper
- Fejlesztési-Fehér-Könyv
Legal