-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrelease-notes.txt
107 lines (105 loc) · 6.49 KB
/
release-notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
This program and the accompanying materials are made available under the
terms of the MIT license (X11 license) which accompanies this distribution.
Version 2.0.0 (in development):
- Added a command line option to scale the graphical user interface by a
given percentage. The command line option is '--scale n', with 'n'
the % to scale, e.g., '--scale 110' to increase to 110% or '--scale 75'
to decrease all sizes to 75%. Native pmChess distributions ship with
a script to ease calling pmChess with command line arguments. For example,
on macOS calling '*.app' distributions for command line processing is
very awkward/user unfriendly, but the new 'pmChess.sh' script can be used
instead.
- To change the scale is also possible from within the graphical user
interface, via the "Scale"-group of the new "Settings"-tab of the main
window.
- Added support for automatic saving and restoring of the current game when
terminating/starting pmChess. In terms of the official laws of chess,
pmChess now supports adjourned games.
- Switched to latest rules, the "FIDE Laws of Chess taking effect from
1 January 2023":
1) Added support for en passant captures.
2) Added support for selecting a figure besides a queen when promoting
pawns.
3) Added draw rules (claimable and automatic) for repetition and
50/75-move rules. The current draw status, i.e., how close to a
claimable or automatic draw the game is, is summarized in the
graphical user interface, which provides a "Claim draw"-button to
claim draws.
- Added mouse support, besides the existing keyboard-based user interface,
for selecting and moving figures.
- The graphical user interface is now mode based; depending on the current
game status, interactive elements like buttons, lists, the cursor etc are
active (in case the action is possible, like undoing moves after the
computer resigned) or disabled (in case the action is not possible, like
claiming a draw while it is the computer's turn). Game modes distinguished
are, for example:
1) "normal human move" (active cursor to select a move, active pawn
promotion selection, active claim draw button, disabled undo and redo
buttons)
2) "history mode" (active undo and redo buttons and history to go back to
certain game situation, but all other elements disabled)
3) "normal computer move" (all elements disabled until the computer
finishes its move)
4) "computer resigned" (only undo, redo and history active)
- Added game history with algebraic notation as specified by FIDE.
The history can be used to undo moves, but only when the pause button is
switched on (i.e., the game is in history mode). To reset the game to a
previous position, select a move in the history using the up- and
down-keys and press space. The game will be reset to the state resulting
after executing the selected move. To continue the game, press the pause
button again to switch it off. While in history mode, previous moves
that would be discarded if the game continues in the current position are
marked red in the game history. As long as the game is not continued
(i.e., is in history mode) moves can be arbitrarily undone and redone.
You can also undo a single move or redo it with the new undo and redo
buttons left and right of the pause button.
The tab-key can be used to switch between pause, undo and redo buttons and
game history navigation.
- Removed "Undo move"-entry of the "Game"-menu; the new game history and
undo button can be used instead.
- Added algebraic notation to the chessboard, marking its files and ranks.
- Added release notes tab to "About pmChess"-window.
- Added contact form to "About pmChess"-window which can be used to report
bugs and give feedback. The form is also directly reachable via a new
"Contact and feedback"-entry of the "Help"-menu.
- Added taskbar icon and application logo.
- Added automatic adjustment of the search depth of computer players.
Computer players have a 15s time budget per move. The search depth is
increased when they conducted their move much faster and decreased
when they are too slow; also the number of possible moves is considered
in a simple prediction heuristic to avoid increases that would violate
the budget of future turns badly.
- Added native distributions for macOS and Windows. The distributions are
self-contained and do not require a locally installed 'Java SE Platform'.
- The portable jar-file distribution now requires the 'Java SE 21 Platform'.
Version 1.0.0 (10 December 2017):
- First public release on GitHub as portable jar-file (requires a
locally installed 'Java SE 9.0.4 Platform').
- Implements the official chess rules of the "International Chess Federation"
(FIDE, "Fédération Internationale des Échecs") -- the "Laws of Chess: For
competitions starting from 1 July 2014 till 30 June 2017" -- except for
en passant moves and the following draw rules:
1) Three and five repetition rules: The same position occurs at least
three times/five times (three times or more: claimable draw; five
times: automatic draw).
2) 50- and 75-move rules: The last 50/75 successive moves made by both
players contain no capture or pawn move (50-move rule: claimable draw;
75-move rule: automatic draw).
3) Dead position: Neither player can mate the opponent’s king with any
series of legal moves.
- Graphical user interface with chessboard, last move highlighting, status
message, castling overview and keyboard input for figure selection and
movement.
- Menu-bar with support for new game configuration, movement undoing,
about dialog and shortcuts. Supported are human vs. human or computer
player games.
- Computer players are implemented using a common min-max search with
alpha-beta pruning in combination with a simple scoring-heuristic for
figure-constellations; the search depth are four half-moves. The following
implementation constraints are satisfied:
1) The min-max search is heap memory allocation free. There exist no
dynamic memory allocations throughout a computer player's turn, for
which reason computer players have fixed memory requirements. Each
game situation, including the history of previous and possible moves,
fits in 32kB.
2) The min-max implementation is recursive.