Page 4 of 11

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 19 Dec 2012, 00:08
by Chris H.
I guess that a little background might be helpful for some people. :)

In the early days people noticed that a sizable portion of the cards included in forge (about 1000 to 1500 at the early stages) could not be used by the AI. If these cards were included in a deck for the AI the AI would draw these cards and not be able to use them. These cards were in essence a dead card for the AI.

The AI tends to be a weaker opponent than a knowledgable and experienced human being. Place 5 to 10 or more dead cards into the AI's deck and we are now facing an even weaker opponent. :(

The AI flags are meant to be used as an aid in helping the AI play with cards that it can understand how to use. Writing code to improve the AI is time consuming and is difficult to accomplish. The AI has improved over time but it is a slow process.

It should also be pointed out that the devs are only human. We sometimes fail to add in these flags and we sometimes forget to remove a few flags when we improve the AI. Tis' a work in progress.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 19 Dec 2012, 02:57
by Vecc
Hello all,

I've been away from Forge for quite some time, so pardon me if this is a known issue reported somewhere else already.

When playing against more than one opponent (in the particular case I verified this, it was Archenemy), "each player" and "all players" effects only affect one of the opposing players & the human. Also, when playing "chose a player" effects (in my case it was the "no untap" scheme on the first turn), only one of the opponents will be available on the list (the one who appears on the opposite side of the field -- only tested this vs. 2 opponents so far). Annihilator also affects the opponent on the opposite side of the field even if you attack the other one.

EDIT: Also, I think you're supposed to play first & draw on your first turn everytime when you're the Archenemy. And the scheme "The Pieces Are Coming Together" should also draw two cards.

EDIT 2: Also, Sleight of Hand doesn't seem to be working in Quest Mode. And maybe your preferences regarding last summoned Plant + Pets could be saved for the next time you load the game? That'd be sweet.

Best regards! Thanks for all the hard work, Forge has grown amazing.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 19 Dec 2012, 21:18
by yagi
Hi, I've noticed that when I steal AI's Thragtusk and it leaves play, AI gets the 3/3 Beast token instead of me. I think the correct ruling is that I get the 3/3 Beast token.

Keep up the good work btw, have been enjoying the progress of forge thus far.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 19 Dec 2012, 21:46
by schnautzr
It seems to me that the second and third images for any given mana card in a set never appear during gameplay. Is there a bug in how the mana card image is selected when there are three images available for a set?

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 20 Dec 2012, 01:27
by saturnine
Code: Select all
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
   http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.

For input string: ""


Version:
Forge version 1.3.3-r18714

OS: Windows 7 Version: 6.1 Architecture: x86

Java Version: 1.6.0_37 Vendor: Sun Microsystems Inc.

Detailed error trace:
java.lang.NumberFormatException: For input string: ""
   at java.lang.NumberFormatException.forInputString(Unknown Source)
   at java.lang.Integer.parseInt(Unknown Source)
   at java.lang.Integer.parseInt(Unknown Source)
   at forge.card.abilityfactory.ai.DrawAi.targetAI(DrawAi.java:166)
   at forge.card.abilityfactory.ai.DrawAi.chkAIDrawback(DrawAi.java:48)
   at forge.card.abilityfactory.CommonDrawback.chkAIDrawback(CommonDrawback.java:77)
   at forge.card.abilityfactory.SpellAiLogic.canPlayAIWithSubs(SpellAiLogic.java:13)
   at forge.card.abilityfactory.CommonSpell.canPlayAI(CommonSpell.java:47)
   at forge.game.player.ComputerUtil.canBePlayedAndPayedByAI(ComputerUtil.java:461)
   at forge.game.player.ComputerUtil.playSpellAbilities(ComputerUtil.java:115)
   at forge.game.player.ComputerAIGeneral.playSpellAbilitiesStackEmpty(ComputerAIGeneral.java:84)
   at forge.game.player.ComputerAIGeneral.playSpellAbilities(ComputerAIGeneral.java:340)
   at forge.game.player.ComputerAIInput.think(ComputerAIInput.java:118)
   at forge.game.player.ComputerAIInput.showMessage(ComputerAIInput.java:78)
   at forge.gui.GuiInput.setInput(GuiInput.java:71)
   at forge.gui.GuiInput.update(GuiInput.java:54)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.control.input.InputControl.resetInput(InputControl.java:140)
   at forge.control.input.InputControl.resetInput(InputControl.java:136)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:772)
   at forge.game.player.ComputerAIGeneral.playSpellAbilitiesStackEmpty(ComputerAIGeneral.java:87)
   at forge.game.player.ComputerAIGeneral.playSpellAbilities(ComputerAIGeneral.java:340)
   at forge.game.player.ComputerAIInput.think(ComputerAIInput.java:118)
   at forge.game.player.ComputerAIInput.showMessage(ComputerAIInput.java:78)
   at forge.gui.GuiInput.setInput(GuiInput.java:71)
   at forge.gui.GuiInput.update(GuiInput.java:54)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:510)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:764)
   at forge.gui.GuiInput.update(GuiInput.java:57)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.control.input.InputControl.resetInput(InputControl.java:140)
   at forge.control.input.InputControl.resetInput(InputControl.java:136)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:772)
   at forge.gui.GuiInput.update(GuiInput.java:57)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.control.input.InputControl.resetInput(InputControl.java:140)
   at forge.control.input.InputControl.resetInput(InputControl.java:136)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:772)
   at forge.gui.GuiInput.update(GuiInput.java:57)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.control.input.InputControl.resetInput(InputControl.java:140)
   at forge.control.input.InputControl.resetInput(InputControl.java:136)
   at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:772)
   at forge.gui.GuiInput.update(GuiInput.java:57)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:510)
   at forge.control.input.InputMulligan.end(InputMulligan.java:185)
   at forge.control.input.InputMulligan.selectButtonOK(InputMulligan.java:75)
   at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
   at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:51)
   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.AWTEventMulticaster.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$400(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.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.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)
Several other bugs:

3> opponents in Archenemy/Vanguard has this bug where it greys out the OK/Cancel buttons during the mulligan prompt. Totally unable to proceed from thereon out, save for quitting.

Furthermore, Vanguard and Archenemy do not remember the skipped or unskipped steps beyond the first AI. Going from Archenemy or Vanguard to Constructed also results in the other AI's play/command area lingering. Only a restart removes the extraneous AI areas.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 20 Dec 2012, 02:42
by friarsol
Saturnine,

If you are posting a crash report, please post as much as you can tell was happening at the time so there is more context.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 20 Dec 2012, 04:42
by Fallen
 Turnabout taps/untaps lands for both players instead of target player.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 20 Dec 2012, 06:43
by Xitax
A couple of bugs regarding Scalpelexis.

I have 2 in play. When I attack with both and damage the AI with both, I'm asked to choose the order. Nothing appears in that selection box, but the two effects went on the stack and worked as they should. Invisible effects?

If you deck the AI with a Scalpelexis you get a crash.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 20 Dec 2012, 11:26
by monodron
Hello,
Simic Basilisk should cost 4GG, but his mana cost in Forge is 3GG.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 20 Dec 2012, 13:05
by saturnine
friarsol wrote:Saturnine,

If you are posting a crash report, please post as much as you can tell was happening at the time so there is more context.
Sorry. That one was a 3v1 Archenemy game, which crashed immediately upon loading.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 21 Dec 2012, 00:57
by schnautzr
[War Barge] has the sentences for its text ability out of sequence, causing it to make very little sense unless you actually consult either the image or the Gatherer database. The one I'm looking at is the DRK copy.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 21 Dec 2012, 01:33
by jwallstone
In Quest Mode, after winning a match, I am sometimes prompted for a prize pack twice. What is the second pack for?

However, it may be buggy, because every time this has happened, I have only received one pack of cards.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 21 Dec 2012, 08:09
by Lexusex
 Manamorphose draws you 2 cards instead of 1 in addition to mana gen effect.


In Quest Mode, after winning a match, I am sometimes prompted for a prize pack twice. What is the second pack for?

However, it may be buggy, because every time this has happened, I have only received one pack of cards.
Did you have two victory triggers happen at the same time? Because it sometimes happens to me when I get opponent to 0 life and 10 poison after combat resolve.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 21 Dec 2012, 12:57
by Andy9973
AI used Windswept Heath to fetch a land. When its library got shuffled my Cosi's Trickster got two +1/+1 counters instead of only one since the ability was put twice on the stack.

Re: Forge Beta: 12-14-2012 ver 1.3.3

PostPosted: 21 Dec 2012, 12:58
by gos
I had 2 Ronin Warclub on the battleground attached to a Blastoderm.

I then cast an Argothian Wurm, causing 3 triggers to go on the stack, the Wurm's and the Warclubs'. The Wurm's resolved first and my opponent chose to sacrifice a land to cause the Wurm to go back on top of my library. The Warclubs' triggers then resolved, and they detached themselves from the Blastoderm.

I know that attaching isn't inherently targeted, but is this correct behavior?