You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Added Player.sequences as the collection of sequences available to a player.
Implement GameSubgameRep (C++) and Subgame (Python), a first-class object representing a subgame. (#585)
Games can be materialised directly from OpenSpiel games if pyspiel is installed. (#917)
Magnify events are now supported in GUI for zooming in/out on trees.
Fixed
Corrected resizing of row and column index labels in strategic form so pivoting works correctly. (#844)
Corrected incorrect output of strategic game tables to .nfg files if strategies have previously been
deleted in the game (#875)
Fix incorrect row index checking in swapping rows of a rectangular array (leading to errors in
for example simpdiv_solve) (#868)
In GUI, typing a payoff with a trailing slash is now interpreted as a whole number
(previously this led to a validation error dialog)
Improved initial zoom and centering of display of game trees on initial load, and focusing behavior
on currently-selected node or jumping to the root. Also adjusted the initial size of the
game window to a more comfortable size. (#569)
In the GUI, tab-traversal on tables (such as the strategic form payoff table) now works
as expected (TAB moves one cell to the right, wrapping if appropriate; SHIFT-TAB moves
to the left, wrapping if appropriate).
Max regret is calculated correctly for strategy and behavior profiles on games with zero player
strategies or actions (is defined to be 0 trivially) (#904)
Corrected calculation of total number of actions for a player in pygambit (#938)
Corrected a regression in action graph games that left the internal data structure not fully initialised,
leading to segmentation faults.
Corrected handling of malformed AGG/BAGG files: files with an invalid or degenerate header
(for example a wrong file type, or a header declaring zero players) are now rejected with a ValueError instead of causing a segmentation fault while constructing the game.
Changed
Added a new welcome/landing window on launching the GUI without a game. This has the effect of
avoiding creating a window with a trivial extensive game which the user then has to dismiss if
they do not require it. (#80)
Clarified handling of .efg/.nfg/.gbt file types in graphical interface and refined warnings about
unsaved work. (#12)
Created and documented right-click context menu in the normal form pivot table, which makes the
mechanism for deleting a strategy more clear. (#855)
Payoff editing in extensive games in the graphical interface is now done via a context popup window
rather than text controls drawn (not always well!) over the game tree display. (#947)
In pygambit, indexing game object collections by integer position has been removed. (#942)
Validity of game object labels is enforced (printable ASCII and spaces only, no leading/trailing or
double spaces); invalid labels raise ValueError in pygambit. (#944)
Nonempty labels are now required for all players, outcomes, actions, and strategies.
Labels must be unique within the game for players and outcomes, within the player for
strategies, and within the information set for actions.
Refined and clarified the graphical interface's handling (and persisting) of "workspaces", and
improved warning messages on closing windows for games or workspaces with unsaved changes.
In pygambit, the .outcome, .player, and .infoset attributes are now treated as predicates
that are evaluated on-demand, to align with the behaviour of collections. (#946)
Removed
Built-in plotting of logit QRE for strategic games has been removed in the GUI (#809)