Page 9 of 62

Re: Bug reports

PostPosted: 26 Oct 2011, 04:48
by jeffwadsworth
melvin wrote:
jeffwadsworth wrote:AI had a Raging Ravine in play. It animated it, but used the RR's own mana ability to pay for it, thus tapping it. We had a similar issue in Forge.
Which AI were you playing against? and did the AI have sufficient mana to activate Raging Ravine without tapping it?

I asked this because we used a simple trick to avoid the AI tapping RR to activate it by requiring the AI to have at least 1RRGG free before it can activate the ability (the actual cost is 2RG). Note that this does not actually prevent the AI from tapping Raging Ravine to pay the cost, just that it should always have an alternative that does not involve tapping Raging Ravine, and hopefully the alternative should be scored higher.
I was playing against the masterful min/max...default. I played the same deck several other times, and it did not animate RR incorrectly again. I will take a screenshot if it happens again. Thanks for the quick response.

Re: Bug reports

PostPosted: 27 Oct 2011, 22:37
by jeffwadsworth
Elesh Norn, Grand Cenobite gives itself a bonus. It should only give other creatures you control the bonus.

Re: Bug reports

PostPosted: 28 Oct 2011, 03:12
by beholder
jeffwadsworth wrote:Elesh Norn, Grand Cenobite gives itself a bonus. It should only give other creatures you control the bonus.
Fixed. Thank you!

Crash report

PostPosted: 28 Oct 2011, 10:45
by Aswan jaguar
I had this crash 3,4 times after playing for some hour when trying to play a card the game crashed it is not a particular card though,anyway you know better crash report bellow:

| Open
CRASH REPORT FOR MAGARENA THREAD Thread[Thread-2770,1,main]
CREATED ON 2011/10/28 13:40:20
Turn : 4 Phase : FirstMain Step : ActivePlayer Player : asi Score : 312
0] Player : asi Life : 20 Delayed : Total=0
- Hand : Ashcoat Bear
- Hand : Garruk's Companion
- Hand : Mountain
- Hand : Rhox Charger
- Hand : Fervor
- Hand : Rootwalla
- Hand : Akoum Boulderfoot
- Permanent : Savage Lands
- Permanent : Rupture Spire Tapped Summoned
1] Player : Computer Life : 18 Delayed : Total=0
- Hand : Solemn Offering
- Hand : Divination
- Hand : Sunblast Angel
- Hand : Sea Eagle
- Hand : Air Servant
- Permanent : Hallowed Fountain Tapped Summoned
- Permanent : Seachrome Coast Tapped
- Permanent : Mistral Charger Power : 2 Toughness : 1 Damage : 0 Summoned
Stack : 1
- Name : Rupture Spire Player : asi
1. MagicRemoveCardAction (Seachrome Coast) = 500
2. MagicPlayCardAction (Seachrome Coast) = -805
3. MagicRemoveCardAction (Savage Lands) = -650
4. MagicPlayCardAction (Savage Lands) = 954
5. MagicTapAction (Savage Lands) = 0
6. MagicRemoveCardAction (Hallowed Fountain) = 500
7. MagicPlayCardAction (Hallowed Fountain) = -804
8. MagicChangeLifeAction (Computer,-2) = 400
9. MagicTapAction (Hallowed Fountain) = 5
10. MagicTapAction (Seachrome Coast) = 5
11. MagicRemoveCardAction (Mistral Charger) = 190
12. MagicPutItemOnStackAction (MagicCardOnStack,Mistral Charger) = 1
13. MagicPlayCardFromStackAction (Mistral Charger) = -1059
14. MagicUntapAction (Savage Lands) = 5
15. MagicRemoveCardAction (Rupture Spire) = -900
16. MagicPlayCardAction (Rupture Spire) = 1203
17. MagicPutItemOnStackAction (MagicTriggerOnStack,Rupture Spire) = -1
18. MagicTapAction (Rupture Spire) = 0
Score = 314

Exception from controller.runGame: com.sun.java.swing.plaf.nimbus.DerivedColor$UIResource cannot be cast to java.awt.Font
java.lang.ClassCastException: com.sun.java.swing.plaf.nimbus.DerivedColor$UIResource cannot be cast to java.awt.Font
at com.sun.java.swing.plaf.nimbus.NimbusStyle.getFontForState(Unknown Source)
at javax.swing.plaf.synth.SynthStyle.installDefaults(Unknown Source)
at com.sun.java.swing.plaf.nimbus.NimbusStyle.installDefaults(Unknown Source)
at javax.swing.plaf.synth.SynthStyle.installDefaults(Unknown Source)
at javax.swing.plaf.synth.SynthLookAndFeel.updateStyle(Unknown Source)
at javax.swing.plaf.synth.SynthPanelUI.updateStyle(Unknown Source)
at javax.swing.plaf.synth.SynthPanelUI.installDefaults(Unknown Source)
at javax.swing.plaf.basic.BasicPanelUI.installUI(Unknown Source)
at javax.swing.plaf.synth.SynthPanelUI.installUI(Unknown Source)
at javax.swing.JComponent.setUI(Unknown Source)
at javax.swing.JPanel.setUI(Unknown Source)
at javax.swing.JPanel.updateUI(Unknown Source)
at javax.swing.JPanel.<init>(Unknown Source)
at javax.swing.JPanel.<init>(Unknown Source)
at magic.ui.choice.MayChoicePanel.<init>(MayChoicePanel.java:38)
at magic.model.choice.MagicMayChoice.getPlayerChoiceResults(MagicMayChoice.java:134)
at magic.ui.GameController.getPlayerNextEventChoiceResults(GameController.java:385)
at magic.ui.GameController.executeNextEventWithChoices(GameController.java:396)
at magic.ui.GameController.runGame(GameController.java:488)
at magic.ui.GamePanel$9.run(GamePanel.java:241)

Re: Bug reports

PostPosted: 28 Oct 2011, 11:11
by beholder
I see you reported this earlier and if I'm not mistaken, that crash was fixed shortly after your first report but it was never mentioned here that it was fixed.
Hopefully I'm correct and 1.19 will get rid of this crash.

Anyway, thanks for reporting it.

Re: Bug reports

PostPosted: 28 Oct 2011, 17:04
by jeffwadsworth
I included a snapshot of the situation. The AI attacked with a creature that will die a certain death with no gain. Verified by playing through turn.

AI attacked with unmodified Scroll Thief.
I will block with a Master of Etherium.

The issue is probably related to the */* power and toughness of the MoE.

Re: Bug reports

PostPosted: 29 Oct 2011, 13:09
by Milod
skill lvl 5 the AI just attacks most of time with fiend hunter with no reason even if i got stronger monsters on my side the ai just kamikaze it and i get back my card from fiend hunter's ability

Re: Bug reports

PostPosted: 29 Oct 2011, 23:25
by theguyver
It could be my imagination but I swear v1.19's minmax AI is more suicidal than v1.18. I mean the computer attacks way too often when the only possible outcome is for it to lose it's attacking creatures.

Thanks for this awesome piece of work =D>

Re: Bug reports

PostPosted: 30 Oct 2011, 01:58
by melvin
jeffwadsworth, Milod: thanks for the feedback and observations.
theguyver: welcome to the forum :) and thanks for your comments.

I think we may have been a little too aggressive with tweaking the minimax AI to avoid slow downs when there are many creatures around.

The bottleneck for us has always been computing blocking options, in 1.19 we reduced the threshold where we switch to a randomized blocking options generator. Below the threshold we evaluate almost all blocks exhaustively. This probably lead to the AI missing certain blocks that will kill its attackers.

Re: Bug reports

PostPosted: 30 Oct 2011, 02:52
by Milod
melvin wrote:jeffwadsworth, Milod: thanks for the feedback and observations.
theguyver: welcome to the forum :) and thanks for your comments.

I think we may have been a little too aggressive with tweaking the minimax AI to avoid slow downs when there are many creatures around.

The bottleneck for us has always been computing blocking options, in 1.19 we reduced the threshold where we switch to a randomized blocking options generator. Below the threshold we evaluate almost all blocks exhaustively. This probably lead to the AI missing certain blocks that will kill its attackers.
oke but the AI block often enough already to make field less crowded and he block pretty good and argresifly :shock: dont make AI just lose an important creature just by reckles attack gives me a feeling of the carelesnes of the AI :(

Re: Bug reports

PostPosted: 30 Oct 2011, 05:57
by melvin
The "recklessness" is actually the result of the AI not considering sufficient ways the player could block its attack. In order to decide on the effectiveness of an attack, the AI considers the different ways the attack could be blocked by the player. If the AI missed some of the possible blocks, it mistakenly thinks that the attack is successful when in reality there is a way to block that would nullify the attack.

Re: Bug reports

PostPosted: 30 Oct 2011, 10:38
by Aswan jaguar
I just want to confirm the above mentioned AI malfunction to attack more often with a suicidal attack in Magarena 1.19.But I can't decide if I prefer it like this which the AI is(noticeably faster in my old pc) even if now and then it will make a suicidal attack or AI being at it's best. :?

1)A crash report when I tried to load a save game:
| Open
CRASH REPORT FOR MAGARENA THREAD Thread[AWT-EventQueue-0,6,main]
CREATED ON 2011/10/30 12:53:57
MAGARENA VERSION 1.19, JRE 1.6.0_26, OS Windows XP_5.1 x86

Exception from controller.runGame: null
java.lang.NullPointerException
at magic.GraphicsUtilities.scale(GraphicsUtilities.java:58)
at magic.ui.theme.PlayerAvatar.<init>(PlayerAvatar.java:17)
at magic.data.AvatarImages.loadAvatar(AvatarImages.java:38)
at magic.data.AvatarImages.loadAvatars(AvatarImages.java:50)
at magic.data.AvatarImages.getAvatarIcon(AvatarImages.java:61)
at magic.ui.theme.AbstractTheme.getAvatarIcon(AbstractTheme.java:137)
at magic.ui.theme.CustomTheme.getAvatarIcon(CustomTheme.java:46)
at magic.ui.DuelPanel.<init>(DuelPanel.java:201)
at magic.ui.MagicFrame.showDuel(MagicFrame.java:372)
at magic.ui.MagicFrame.loadDuel(MagicFrame.java:414)
at magic.ui.VersionPanel.actionPerformed(VersionPanel.java:115)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


Edit In fact it crashes in new duel,too.I tried several times and had equal crashes I closed some other programs that might cause the conflict but I still get the crashes. :(

2)AI attacks with Anaba Bodyguard and I block with my animated Kor Firewalker which dies despite his protection from red. Protection from red doesn't work.
3)Giant Growth wrongly costs W instead of G.

Re: Bug reports

PostPosted: 30 Oct 2011, 15:26
by beholder
Thanks for doing so much testing.

I hope Melvin can tune the AI blocking to maybe be a bit less aggressive.
I personally don't mind to wait a few seconds longer if it means the AI's behavior is better.

1. I have no idea what that crash is about and I can't reproduce it on my end. Maybe it is something with the theme you were using?

2. Kor Firewalker was missing it's protection from red. I fixed it.

3. That is too weird! I checked the card text and play tested it and in both cases Giant Growth needs to be payed with G.

Re: Bug reports

PostPosted: 30 Oct 2011, 17:29
by Aswan jaguar
Is it possible your Magarena 1.19 version is different than the one I have?Because the Giant Growth bug is really strange.Did you cast it with green mana land or green-white?

Yes,my crash was theme or highlighted-theme thing the strange is I played several games like this yesterday with no problem,anyway problem solved.

On a second thought I prefer wait little more to have a better AI,too.Besides I do need a new and faster PC. :lol:

Re: Bug reports

PostPosted: 30 Oct 2011, 18:09
by beholder
Well I tested this with my latest compiled version so it's not exactly the same as 1.19, but I looked through the changes made since then and none of them involve anything related to lands or mana.
I may misunderstand what the bug you describe is. When I click on Giant Growth, a message asks me to "Choose a mana source to pay {G}". So I don't see how a {G} {W} mana producing land would actually show that bug. I tried it nevertheless and I can't reproduce it with any of those {G} {W} lands.

Aswan jaguar wrote:Yes,my crash was theme or highlighted-theme thing the strange is I played several games like this yesterday with no problem,anyway problem solved.
Solved how? If there are themes that can cause crashes like you had then I'd love to know which.
Aswan jaguar wrote:On a second thought I prefer wait little more to have a better AI,too.Besides I do need a new and faster PC. :lol:
Heh yeah, I'm actually about to buy a new pc somewhere in November. Hooray!! :D