need assist toolbox like card hints helper, but for AI;
user must able to see history of latest AI decisions (cast/activates, choices, battle);
must be simple and useable for real game and for non developers (there are details ai logs, but it hard to use in real game, only for debugging and unit testing);
must be compatible with another potential AI implementations;
its a cheating toolbox (allows to see hidden data like abilities in hand cards);
Whats to do:
extract battlefield score system from computer to common (it will be part of another toolbox assist with game stats) or maybe two types of it (public for GameView context and non public for Game)
create ai assist toolbox:
filter data by turns/steps; computer players; event types;
show events and all related data: what ai must do, possible actions, ai score (results), and what ai tried to do in real game;
possible event types (ai endpoints):
play priority (simulations)
choose targets for cast/activate (simulations)
choices (non simulations)
mana payments (non simulations, ignore)
choose attackers (non simulations)
choose blockers (non simulations);
all data must be compatible with text/html;
Implement ai decision api for ComputerPlayer (it must collect all decision events and send to client side);
Later improvements:
it can be a part of third party AI supporting;
implement decisions API for HumanPlayer and store it as readable logs/data (for third party AI and training);
simplify and organize player decisions endpoints (current Player interface has dozen of choose methods, many duplicates or rare used, inheritance and complexity, its hard to inject/replace new ai logic without full ai rework — see #10154);
Reason:
Whats to do:
Later improvements: