JPortal 1.3beta

April 2012

There are few things to consider / know. I write them down as they come into my mind... no particular order.

  • The Helpfile
    although updated - is in many places not up to date.

  • V 1.2 In order to not break the "old" JPortal (and the quests etc...). The old AIs are kept as they were. Quests and the like - are the same.

  • Quests / Set: Starter 2000
    For the 1.3beta update no new quests are available yet. This also means the new cards from the "Starter 2000 Set" (which for the first time have real instants, artifacts, enchantments, kickers...) are - without cheating - not available for persistent players. In order to play with these cards you must play a "quick" game - and build a deck beforhand.

  • New enhanced AI
    As there are no new Quests and all old ones use the old configuration. The only way to play against the new AI ist to play agains eMalban. eMalban is per default the only named AI that as of yet uses the new code! (Amongst other things: The old AI does not know about new card types: artifact / enchantments)

  • Autosave
    (See Configuration Screen image below) Per default autosaving is switched on. This means befor each players turn the gamestate is saved to a directory xml/autosave. If you play many games, that directory may get quit crowded. If you do not want those saves anymore - remove the tick in configuration for autosave. See also: Help with crashes

  • OOM
    Out Of Memory
    The new AI can be a memory monster. The default settings reduce the amount of memory it uses and should not cause any Out of memory exceptions (heap memory of 1 Gig expected). If you fiddle with settings this will/may change. Follwing switches are dangerous to change:

    • (Config) full vmatch in branches

    • (Config) Clean non highscore leafs

    • (EAI Config) Enable OOM Prevention

    • if above is disabled → allmost ALL EAI config settings are dangerous!

  • Debug EAI Window
    If you play against an EAI, you can press CTRL/Right Mouse button on any card of that AI - to open the EAI Debug Window. Per default the game pauses after each EAI evaluation. You can switch the pausing of by removing the "tick" on the first screen of the debug window.

  • Mana Pooling
    Although no "real" mana pools are implemented (although I wanted to) - some things changed here.
    Befor -
    you had to pay a card "after" you played it. For that reason it was possible to collect the mana for paymnet of a card AFTER you played it out.

    Now -
    You have to have the mana in the pool befor you play a card in order to be able to pay the playing out.

    It does not seem like that big a difference, especially since I still allow mana generation of Basic Lands "on the fly" - which means you are still able to fill the mana pool from basic lands after you played out a card. For "Portal"-Players no visble change occured. Conceptionally it does make a difference in the inner workings of JPortal.

    Since Mana generation (see below) is now an activated ability. Such an ability goes on the stack. After the stack is resolved the activation takes place. This means the mana is only available AFTER resolving the stack. But - in order to play or activate a card, and to be able to put it on the stack you must pay for it BEFOREHAND. Thus if you want to play/activate a card it is not possibly to pay for it with mana generated AFTER the payment is needed, which somehow does make sense. (Right now Basic lands have "direct" mana generation, they do not go on stack - don't know if that is allright - comments anybody? But the playing is smoother this way :-) )

  • Cards can not be tapped anymore
    This might sound strange for any "Portalers" out there. But I think the correct view of things in MTG is:
    You can activate cards. To activate a card you have some sort of payment for the activation. Tapping a card is (sometimes) the payment (or part of it) to activate it. For that reason, players can not tap cards any longer but only activate cards. If cards have the "paymenttype" "TAP", and the card is untapped - it will be tapped "by the game" not by the player.

    For that reason it is not longer possible to untap a just tapped basic land. In general it is possible to activate an ability - but it is not possible to "unactivate" an ability.

    Think befor you do something :-)!

  • UI
    In order to do the above, I decided to change the mouse button meanings.
    Now it goes as follows:

    → targets a card in any way, playes out a card appoints an attacker or a blocker

    → activates cards (also activates (former taps) lands)

    MIDDLE CLICK (or alternatively SHIFT LEFT CLICK)
    → sends the card to the information panel

    SHIFT RIGHT CLICK (not changed)
    → expands graveyard and libraries (and shrinks them again)

    ALT RIGHT CLICK (you probably did not use that) (not changed)
    → PAUSE the game

    While we are at it:
    If available → show HQ picture of a card.

    If player is an enhanced AI → show debug window

  • Artifact and Enchantments
    Are new to JPortal. They are displayed in the battlefield like creatures. Enchantments that are set to a creature are put on that creature. Creatures are displayed (as befor) left bounded in the battlefield display. "global" enchantments - or artifacts are displayed right bounded in the battlefield display, this way you can discern the visually.

  • New in JPortal 1.3 (all little stuff I can think of):

    • new AI

    • Achievements (about 50 different as of now)

    • HQ-Card support (CTRL Left click on image)

    • Theme support

    • player avatar

    • Hint Button (Found in player Info Panel: "Hint")

    • Starter 2000 set (artifacts, enchantments, etc)

    • Stack arrows

    • Weighting mechanism (also included in Match stats)

    • Card Shop picture changed

    • EAI Debug Window with Schedule / Plan / Stack CTRL RIGHT on Player that is EAI

    • EAI Debug Window with Match Interpreter

    • AI Battle Sim - Menu (Fun feature ... not where usefull anymore)

    • Import Special

    • Import Set & Join with JPortal known cards

    • Edit Set - Card Flags (not used)

    • Edit Set - Enhanced hints

    • Heap - only Cards with OK Flag = Y

    • Edit Set - enhanced hints

    • Edit Set "next / previous" buttons

    • Debug matches from Play gamelist → more options on start

    • Weighting can be shown

    • Configuration

      • Debug → Show EAI Scoring

      • Player → autoTap Lands (not done)

      • Player → use space to draw

      • Visuals → alpha settings for deatch / sickness

      • Sound → Maps, + Card Activated / Achievment award

      • Rules → completely new → not done

    • AI → Configure AI → enhanced AI included

      • Card collections shows number of cards

      • Card sets shows number of cards

      • Option: # Cards in Hand → Excess discarded

      • Option: Stack Targeting.

      • Option: Legendary support

      • Test "automation" for AI, including some testcases

      • free configurable Weighting / Scoring for situation evaluation

Help with crashes

There is no absolute failsave. I tried debugging and provoking JPortal to produce errors - and I can honestly say IMHO it is very well tested. Nonethless errors/ crashes can happen. It is also a fact that changing some of the settings will result in the game running OOM etc. Anyway, if you run into reproducable errors I would like to know about them. The keyword in the last sentence was reproducable . Which I know can be hard in a game with random elements.

Things you can do to help - or which can help you helping me.

  • If something is wrong - make a screenshot.

  • log / debuglog
    JPortal has two different log files, the "normal" log, which is more a protokoll of actions. And the debug-log which shows many additional information. Each game session produces its own set of log files in the subdirectory jportal/log. The default verbosity setting for a beta distribution is "3", which provides already much information (you can go up to level five - which explodes the output dramatically).

  • Autosave
    In the beta distribution autosave is switched on. Which means in the beginning of each turn the card state of the game is saved to the directory jportal/xml/autosave. The first file of each series is saved with the remark "START" somewhere in the filename. If you order the files produced by date - I need all files after the last "START" autosave. These resamble in "single turn steps" the state of the game - and will if at all possible - enable me to reproduce the error.

  • If for some reason autosave was switched off - if the game still reacts - try doing a "normal" save (Menu: AI→AI Test Center → Save gamelist). Since this is than the save AFTER the problem I also need more info on what happened... (the file is found in the directory JPortal/xml/debugmatches)

  • What were the prerequisites of the fault? (what card was played...)

  • If you are adventurous, you can than try to reproduce the fault by yourself - all you need are the entries in the menu: AI→AI Test Center...

  • If not - pack the data up in a ZIP and send it to me.