It is currently 05 May 2024, 20:38
   
Text Size

How to make Forge a much more fun game

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: How to make Forge a much more fun game

Postby ArsenalNut » 10 Feb 2012, 19:49

Papagelos wrote:You dont need to code, imo. You already done more than enough. My quest mode is TONS more fun now that the shop has 25 boosters worth of cards.

Even though I still only found 4 cards to my tinker deck after playing some 40 matches.

Anywyas, I dont know if its your patches fault or not, but now the green dungeon challenge crashes (the one where computer starts with card that allows mana to carry between phases).
It crashes when he has about 6-7 lands out and tries to play something, with the error msg "Mana not needed G to play this spell" or something similar in the log.
I suspect this related to some work I did on the computer mana pool utilities back at the end of December. Unfortunately, I don't really play the quest mode so I am not familiar with this area of the code. Is there good way to debug this? Can I get to the AI deck somehow to play it in constructed mode? Or maybe someone can post a quest data file that is at a point where I could straight into this battle?
So many cards, so little time
User avatar
ArsenalNut
 
Posts: 512
Joined: 08 Jul 2011, 03:49
Has thanked: 27 times
Been thanked: 121 times

Re: How to make Forge a much more fun game

Postby Chris H. » 10 Feb 2012, 20:20

ArsenalNut wrote:
Papagelos wrote:You dont need to code, imo. You already done more than enough. My quest mode is TONS more fun now that the shop has 25 boosters worth of cards.

Even though I still only found 4 cards to my tinker deck after playing some 40 matches.

Anywyas, I dont know if its your patches fault or not, but now the green dungeon challenge crashes (the one where computer starts with card that allows mana to carry between phases).
It crashes when he has about 6-7 lands out and tries to play something, with the error msg "Mana not needed G to play this spell" or something similar in the log.
I suspect this related to some work I did on the computer mana pool utilities back at the end of December. Unfortunately, I don't really play the quest mode so I am not familiar with this area of the code. Is there good way to debug this? Can I get to the AI deck somehow to play it in constructed mode? Or maybe someone can post a quest data file that is at a point where I could straight into this battle?
`
This archive includes the green dungeon quest deck and a setup file which requires the dev mode to be active. I hope that this helps to track this bug down. :)


Edit:

I was able to reproduce the above crash report. I assigned the quest deck to the computer and I choose a random generated deck for myself. I had to stall for a number of turns until the crash report displayed.

Crash Report | Open
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.

ManaCost : addMana() error, mana not needed - G


Version:
Forge version 1.2.4-SNAPSHOT-r13939

OS: Mac OS X Version: 10.7.3 Architecture: x86_64

Java Version: 1.6.0_29 Vendor: Apple Inc.

Detailed error trace:
java.lang.RuntimeException: ManaCost : addMana() error, mana not needed - G
at forge.card.mana.ManaCost.addMana(ManaCost.java:382)
at forge.card.mana.ManaCost.payMana(ManaCost.java:295)
at forge.ComputerUtil.payManaCost(ComputerUtil.java:861)
at forge.ComputerUtil.payManaCost(ComputerUtil.java:602)
at forge.card.cost.CostMana.payAI(CostMana.java:192)
at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:309)
at forge.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:190)
at forge.ComputerUtil.playSpellAbilities(ComputerUtil.java:125)
at forge.ComputerAIGeneral.playCards(ComputerAIGeneral.java:93)
at forge.ComputerAIGeneral.main1(ComputerAIGeneral.java:60)
at forge.ComputerAIInput.think(ComputerAIInput.java:98)
at forge.ComputerAIInput.showMessage(ComputerAIInput.java:71)
at forge.GuiInput.setInput(GuiInput.java:68)
at forge.GuiInput.update(GuiInput.java:54)
at java.util.Observable.notifyObservers(Observable.java:142)
at java.util.Observable.notifyObservers(Observable.java:98)
at forge.MyObservable.updateObservers(MyObservable.java:38)
at forge.gui.input.InputControl.resetInput(InputControl.java:144)
at forge.gui.input.InputPassPriority.selectButtonOK(InputPassPriority.java:76)
at forge.GuiInput.selectButtonOK(GuiInput.java:86)
at forge.control.match.ControlInput.btnOKActionPerformed(ControlInput.java:105)
at forge.control.match.ControlInput.access$000(ControlInput.java:32)
at forge.control.match.ControlInput$1.actionPerformed(ControlInput.java:52)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener$Actions.actionPerformed(BasicButtonListener.java:287)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1645)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2886)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)
at java.awt.Component.processEvent(Component.java:6150)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4735)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4607)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:638)
at java.awt.EventQueue$1.run(EventQueue.java:636)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:652)
at java.awt.EventQueue$2.run(EventQueue.java:650)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


`
Attachments
Archive.zip
(1.75 KiB) Downloaded 245 times
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: How to make Forge a much more fun game

Postby ArsenalNut » 11 Feb 2012, 03:34

Chris H. wrote:
ArsenalNut wrote:
Papagelos wrote:You dont need to code, imo. You already done more than enough. My quest mode is TONS more fun now that the shop has 25 boosters worth of cards.

Even though I still only found 4 cards to my tinker deck after playing some 40 matches.

Anywyas, I dont know if its your patches fault or not, but now the green dungeon challenge crashes (the one where computer starts with card that allows mana to carry between phases).
It crashes when he has about 6-7 lands out and tries to play something, with the error msg "Mana not needed G to play this spell" or something similar in the log.
I suspect this related to some work I did on the computer mana pool utilities back at the end of December. Unfortunately, I don't really play the quest mode so I am not familiar with this area of the code. Is there good way to debug this? Can I get to the AI deck somehow to play it in constructed mode? Or maybe someone can post a quest data file that is at a point where I could straight into this battle?
`
This archive includes the green dungeon quest deck and a setup file which requires the dev mode to be active. I hope that this helps to track this bug down. :)


Edit:

I was able to reproduce the above crash report. I assigned the quest deck to the computer and I choose a random generated deck for myself. I had to stall for a number of turns until the crash report displayed.

Crash Report | Open
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.

ManaCost : addMana() error, mana not needed - G


Version:
Forge version 1.2.4-SNAPSHOT-r13939

OS: Mac OS X Version: 10.7.3 Architecture: x86_64

Java Version: 1.6.0_29 Vendor: Apple Inc.

Detailed error trace:
java.lang.RuntimeException: ManaCost : addMana() error, mana not needed - G
at forge.card.mana.ManaCost.addMana(ManaCost.java:382)
at forge.card.mana.ManaCost.payMana(ManaCost.java:295)
at forge.ComputerUtil.payManaCost(ComputerUtil.java:861)
at forge.ComputerUtil.payManaCost(ComputerUtil.java:602)
at forge.card.cost.CostMana.payAI(CostMana.java:192)
at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:309)
at forge.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:190)
at forge.ComputerUtil.playSpellAbilities(ComputerUtil.java:125)
at forge.ComputerAIGeneral.playCards(ComputerAIGeneral.java:93)
at forge.ComputerAIGeneral.main1(ComputerAIGeneral.java:60)
at forge.ComputerAIInput.think(ComputerAIInput.java:98)
at forge.ComputerAIInput.showMessage(ComputerAIInput.java:71)
at forge.GuiInput.setInput(GuiInput.java:68)
at forge.GuiInput.update(GuiInput.java:54)
at java.util.Observable.notifyObservers(Observable.java:142)
at java.util.Observable.notifyObservers(Observable.java:98)
at forge.MyObservable.updateObservers(MyObservable.java:38)
at forge.gui.input.InputControl.resetInput(InputControl.java:144)
at forge.gui.input.InputPassPriority.selectButtonOK(InputPassPriority.java:76)
at forge.GuiInput.selectButtonOK(GuiInput.java:86)
at forge.control.match.ControlInput.btnOKActionPerformed(ControlInput.java:105)
at forge.control.match.ControlInput.access$000(ControlInput.java:32)
at forge.control.match.ControlInput$1.actionPerformed(ControlInput.java:52)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener$Actions.actionPerformed(BasicButtonListener.java:287)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1645)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2886)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)
at java.awt.Component.processEvent(Component.java:6150)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4735)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4607)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:638)
at java.awt.EventQueue$1.run(EventQueue.java:636)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:652)
at java.awt.EventQueue$2.run(EventQueue.java:650)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


`
I found the problem. It should be fixed in r13954. Thanks for the setup file, it helped a lot.
So many cards, so little time
User avatar
ArsenalNut
 
Posts: 512
Joined: 08 Jul 2011, 03:49
Has thanked: 27 times
Been thanked: 121 times

Re: How to make Forge a much more fun game

Postby Chris H. » 11 Feb 2012, 14:11

ArsenalNut wrote:I found the problem. It should be fixed in r13954. Thanks for the setup file, it helped a lot.
`
Glad that I could help.

I updated to ver 13957 and ran forge with those two files and stalled for a number of games turns. I did not see the crash report.

And I could see the green mana adding up in the computer's mana pool. :)
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: How to make Forge a much more fun game

Postby Papagelos » 12 Feb 2012, 08:35

So, seeing all you legendary coders in here, I might as well ask my noobie questions;

Do all future updates include the patch to the code that Rou did, that allows me to set the maximum amount of shop boosters? (and can you please up it from the max value of 25 to atleast 50? Why limit this, money is the limiting factor anyways, not card availability)

Also, when upgrading to a new version, am I supposed to unpack the files to my old forge-directory and overwrite old files, or install to a new dir?

Edit: And is there a way to Skip turn? My ENTER button is getting worn out by having to press it 500 times per match. Also, When I want to skip my turn I press enter quickly, and I always miss instants the computer plays. there should be an "OK" button to acknoledge the instant he plays, and it should not be the enter button :)
Papagelos
 
Posts: 8
Joined: 03 Feb 2012, 14:00
Has thanked: 0 time
Been thanked: 1 time

Re: How to make Forge a much more fun game

Postby Chris H. » 12 Feb 2012, 12:34

Papagelos wrote:Do all future updates include the patch to the code that Rou did, that allows me to set the maximum amount of shop boosters?
`
yes

Papagelos wrote: (and can you please up it from the max value of 25 to atleast 50? Why limit this, money is the limiting factor anyways, not card availability)
`
We limit changing the values using the In-Game-Method due to play balance issues. You can also increase these values to a much higher value by editing the values in a text editor outside of the game.

Papagelos wrote:Also, when upgrading to a new version, am I supposed to unpack the files to my old forge-directory and overwrite old files, or install to a new dir?
`
We advise people to read the included README.txt file and to then follow the instructions. :wink:
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Previous

Return to Forge

Who is online

Users browsing this forum: Google [Bot] and 44 guests


Who is online

In total there are 45 users online :: 1 registered, 0 hidden and 44 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: Google [Bot] and 44 guests

Login Form