Internal AI - Debug Window

To activate the EAI-Debug window - the EAI used must be the internal AI. If that is the case, a CTRL/Right Mousclick on any card of that player will open the debug window.

Following Window will pop up:



EAI Debug Window


General

Here you see basic information about the current AI. Name, Deck, Decksize.

Teh second half of the windows - will not be explained here. (small Info: here you can change the current game if you do some java-programming and know what to do. You might also look at the small help-button and/or examples (ComboBoxes)

On the top right half you see two interesing buttons:

  1. Checkbox: Pause game after plan generation If active this *surprise* will pause the game each time EAI did a new plan.
    Hint:
        For a quick pause/unpause ALT/LeftClick any card on the screen.

  2. ScoreNow
    Will pop up a window with the current score of the game. Like this:



Scoring


Per row a different scoring formular. Weight scores are EAI scores, gray the score of the opponent.

Action

The second tab of the window is the one where "the music plays":

Current Schedule

This will become easily clear once you know how to handle the second tab. Therefor I will not explain anything here :-)! Except: At the moment you must select the actual current phase "manualy" using the comboBox.

Treeview

This is my baby!



Scoring


The window might in its default size be to small - you can resize it to your needs - do so!

The tree in the first third of the window represents the current EAI reasoning. Following structure is used:

Example: the highlighted branch in the image:
-58()→First Main Phase[ACTION PLAY CARD → Mountain(1235), ACTION PLAY CARD → Natural Spring(1204) ]
Means:

Changes
- leafs are sorted by their local scores (top score is first)
- [0] or [1] indicate which players turn is (after the local score)
- (x) after the player number where "x" is the current extended phase count


Expand all

Expands the complete tree (or colapses the whole tree)

Branch count

Number of all branches displayed

Leaf count

Number of all leafs displayed (actually all current "deepest" levels of branches)

Break

If EAI is still in the process of collecting branches, one can "break" the current collection (ESCAPE-Button).

Plan / Stack

This one is updated each time a branch is selected in the above tree. It displays the current active branch in terms of its actions".

This actions usually are cards which can be displayed. The card image can be right click to swicth two display modes:

  1. Action display This displays all action relevant data of the card:

    1. Name and Image of card

    2. Status of play (upper left corner) either "finnished" or "unborn!" which means a) action was played, or b) action was not played yet

    3. Phase of the action

    4. Number of action within that phase (which is not needed anymore and thus no correctly filled)

    5. Type of action (PLAY CARD, ACTIVATE CARD, BLOCK, ATTACK, PAY MANA...)

    6. Type of internal play out handling(FO1, FI1, VA - Forced, Fixed, Variable)

    7. Target (cards) of card (if any) in brackets the Tap status of the card (U - untapped, T - tapped)

    8. Target player (0 or 1)

    9. Mana sources used to "pay" for the action

    10. Blockers, if card is an attacker and is being blocked

  2. The current "usual" card information. Like card text, type, subtype, color etc. "current" Also means these are the current stats of the card in that situation. Meaning, added abilites, changed colors, damage, bufs - are displayed here! If a creature took damage during a fight, that the toughness displayed here is the "damaged" toughness! You can right click a card to switch to a second "tab" of information. (tooltip of the Cards ID shows the current "abilities")

Note:
The above used display for actions can be found in different places of EAI Debug window - these displayes all share the same implementation, therefor the above also is correct for all other places "actions" appear - and will not be repeated!

The third Third

If one of the actions displayed in the Plan/Stack section has mana source or targets, these can be displayed in the third section. Also much additional information about the current game can be gathered here:

Mana sources

By left clicking the image of the action in the Plan / Stack display the mana sources (if any) will be displayed in this tab. The display itself is again an action display list.

Target sources

By left clicking the image of the action in the Plan / Stack display the target-sources (if any) will be displayed in this tab. The display itself is again an action display list.

Virtual Match

Each time a branch is selected in the tree the VirtualMatch section is updated. Within this section you can inspect the game information of that branch (when all actions were executed). Thus you inspect all effects of the cards played out...



Virtual Match


On the left side you see basic stats of both players like:

For Each player there is a comboBox where you can chose from the usual game lists:

Upon selection of such a list, on the left side that list is displayed as an action card list. Clicking on one such card displays the (usual) action item in the middle of the tab.

Changes

Other

Here "overall" information can be found, like used / unused memory. Tree information, Blocker count informaion, cache usage etc.

Scoring

The scoring of the current selected tree branch.

Note:
Due to optimization!
Branches, which only consist of one single subbranch share the same VirtualMatch entity. In that case VirtualMatch entity is the one of the lowest single branch (a VirtualMatch takes quite a lot of memory if counted in "thousands"...) So if you inspect a branch with only one single child - the information gained in close inspection resambles that of the last single branched child.
(This can now be configured. Configuration→Debug "Full vMatch in branches")

Note 2:
Due to optimization!
Many branches do not have actions at all!
These branches allways end with "null" - meaning no actions are available.
If a "null" branch is selected, not all tabs in the third part are updated. This means that possibly "old" information of the last selected branch where actual information was available is displayed!

Note 3:
Due to the way I programmed it (:-)!
Some targetting / actions can not be seen in a branch. These targettings are vMatch inherent and not done "activly" by the AI (e.g. blocking of an "alured" creature). The effect of such targettings are inspectable in subsequent branches, but not the action itself. If in doubt, check the current vMatch stats in the bottom Virtual Match - TAB.