Skip to content

Observers and Game Saves#357

Open
hopshackle wants to merge 26 commits into
masterfrom
Advisers
Open

Observers and Game Saves#357
hopshackle wants to merge 26 commits into
masterfrom
Advisers

Conversation

@hopshackle

Copy link
Copy Markdown
Collaborator

This has two main components:

  1. Addition of infrastructure for third-party observers to a game (players.observers package). These build on IGameListener and provide support for agents who are watching (and perhaps intervening in) a game. A new facility is enabled for one of these observers to intercept a move made by a player, and suggest one of its own. There is room to improve this co-ordination (or negotiation) between observer and player; this is a minimal first implementation.

Two advisers are provided. An Underdog adviser that will suggest better moves to players who are currently doing badly; and Tutor that is looking out for one specific player, and will suggest moves to them if they make one that the tutor thinks is particularly awful.

  1. Addition of infrastructure to save a game state, and then restart from this saved state. This will always require game-specific methods in the game state to allow this to be saved to a JSON format and then resurrected from this. Backgammon (and its ancient variants) are implemented as an example in this PR.
    Facility has also been added to RunGames to allow a specific JSON state to be specified, and then start all games in the tournament from this specific state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant