Next beta, 2011 third release
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
33 posts
• Page 1 of 3 • 1, 2, 3
Next beta, 2011 third release
by Chris H. » 09 Feb 2011, 13:18
I would like to release a new beta this weekend. The change file is getting fairly long. We currently have 425 new cards. Fnoed has made some changes to quest mode. The AI has improved.
The java heap space errors that I and several people have noticed concern me. I have not been able to find the time recently to play a quest mode match. I remember Fnoed stating that he believes that java heap space errors are not a problem for quest mode.
The java heap space errors that I have seen over the last week are in the new game screen, the constructed mode deck editor and the new or old style battlefield when playing a constructed mode match. The errors that I have seen take place when a dialog is displayed. The error mentions the icon for the dialog and no icon is displayed in the dialog.
The java heap space errors that I and several people have noticed concern me. I have not been able to find the time recently to play a quest mode match. I remember Fnoed stating that he believes that java heap space errors are not a problem for quest mode.
The java heap space errors that I have seen over the last week are in the new game screen, the constructed mode deck editor and the new or old style battlefield when playing a constructed mode match. The errors that I have seen take place when a dialog is displayed. The error mentions the icon for the dialog and no icon is displayed in the dialog.
-
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: Next beta, 2011 third release
by Zirbert » 09 Feb 2011, 15:08
Yes, please! I still haven't started using the SVN, and I'm looking forward to trying out all the new cards and AI improvements!Chris H. wrote:I would like to release a new beta this weekend. The change file is getting fairly long. We currently have 425 new cards. Fnoed has made some changes to quest mode. The AI has improved.
-Zirbert
Re: Next beta, 2011 third release
by Chris H. » 09 Feb 2011, 18:13
`Zirbert wrote:Yes, please! I still haven't started using the SVN, and I'm looking forward to trying out all the new cards and AI improvements!
I am currently trying to test the new quest mode enhancements and I am getting error exceptions.

If I feel that the project is stable enough to release a beta this weekend, I will probably have to remove the background jpg pic for the new game window.
-
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: Next beta, 2011 third release
by Zirbert » 09 Feb 2011, 19:01
If there are showstopper bugs, then by all means hold back. I'm looking forward to the new version, but if it needs more time to squash any big problems, then so be it.Chris H. wrote:I am currently trying to test the new quest mode enhancements and I am getting error exceptions.![]()
If I feel that the project is stable enough to release a beta this weekend, I will probably have to remove the background jpg pic for the new game window.
-Zirbert
Re: Next beta, 2011 third release
by Jaedayr » 09 Feb 2011, 19:54
The heap space errors I was getting was in quest mode using the new UI. Since I have added the run-time allocation parm I have seen no errors. Is that parm going to be an ongoing part of each release, or should I do some testing without it to see if there is still an issue?Chris H. wrote:I would like to release a new beta this weekend. The change file is getting fairly long. We currently have 425 new cards. Fnoed has made some changes to quest mode. The AI has improved.
The java heap space errors that I and several people have noticed concern me. I have not been able to find the time recently to play a quest mode match. I remember Fnoed stating that he believes that java heap space errors are not a problem for quest mode.
The java heap space errors that I have seen over the last week are in the new game screen, the constructed mode deck editor and the new or old style battlefield when playing a constructed mode match. The errors that I have seen take place when a dialog is displayed. The error mentions the icon for the dialog and no icon is displayed in the dialog.
Re: Next beta, 2011 third release
by Chris H. » 09 Feb 2011, 20:48
`Jaedayr wrote:The heap space errors I was getting was in quest mode using the new UI. Since I have added the run-time allocation parm I have seen no errors. Is that parm going to be an ongoing part of each release, or should I do some testing without it to see if there is still an issue?
Hard to say. I don not have the knowledge to fix this type of problem myself. I do think that it is important to be aware of these types of problems. I hope that someone will be able to resolve this issue. I can not predict when.

Removing the background image appears to lower the risk of a java heap space error while using the default heap size setting.
-
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: Next beta, 2011 third release
by Chris H. » 10 Feb 2011, 02:28
I have run a number of tests today.
I was able to duplicate the error in the deck editor.
Removing the background picture helps to reduce the number of java heap space errors experienced by people who do not set the java heap space above the default value. Even with the picture removed the game quickly slows down, even when using the old style UI. The deck editor has become slow and jerky. My computer has a 3.06 GHz Intel Core 2 Duo.
I have had no luck with quest mode. Can't start a match or continue a match using the new UI. I am having better luck with the old UI.
I have decided that it would be best to hold off of releasing the next beta until things improve somewhat. We have all worked very hard over the recent months. A lot of good work has been done. We just need a little time to work out these three issues.
I was able to duplicate the error in the deck editor.
Removing the background picture helps to reduce the number of java heap space errors experienced by people who do not set the java heap space above the default value. Even with the picture removed the game quickly slows down, even when using the old style UI. The deck editor has become slow and jerky. My computer has a 3.06 GHz Intel Core 2 Duo.
I have had no luck with quest mode. Can't start a match or continue a match using the new UI. I am having better luck with the old UI.
I have decided that it would be best to hold off of releasing the next beta until things improve somewhat. We have all worked very hard over the recent months. A lot of good work has been done. We just need a little time to work out these three issues.

-
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: Next beta, 2011 third release
by friarsol » 10 Feb 2011, 16:41
Well, looking online it seems like the primary way people recommend to "fix" heap errors is by giving the JVM more heap space. Chris, when you put together the package how do you compile things? Can set a flag there to request more heap space?
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Next beta, 2011 third release
by Fnoed » 10 Feb 2011, 18:32
The new quest UI does use more heap space, mainly because all images for the quest frame are kept in memory while that panel is active, whereas in the old UI the image resources were GC'd on dialog close.
What are our target system specs? Is it reasonable to expect that Forge will run on systems with 2G+ RAM, so that heap size can be set to 1G?
What are our target system specs? Is it reasonable to expect that Forge will run on systems with 2G+ RAM, so that heap size can be set to 1G?
Re: Next beta, 2011 third release
by Chris H. » 10 Feb 2011, 19:05
`friarsol wrote:Well, looking online it seems like the primary way people recommend to "fix" heap errors is by giving the JVM more heap space. Chris, when you put together the package how do you compile things? Can set a flag there to request more heap space?
I found the "eclipse.ini file:
`-startup
../../../plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.0.0.v20090519
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
I can replace the "-Xmx256m" with a larger number, say "-Xmx1024m". It looks like this is for Eclipse only. I tried running the forge app from Eclipse with the background image and I get the java heap space errors.
Run -> Run Configurations... -> (x)= Arguments tab lets me enter "--Xmx1024m" as an argument when forge is launched using this particular copy of forge from with Eclipse.
This seems to make a difference. Played a game using the new battlefield GUI and selected the random theme deck option which caused java heap errors in the recent past.
This time the game ran with no errors and was extremely snappy. This is the best performance that I have seen in a long while.

I have a shell script containing the following two lines:
cd /Users/chrish******/"workspace -> TEST"/Work
java -jar run-forge.jar -Xmx1024m Gui_NewGame
This will launch the terminal app on my iMac but I have not figured out how to do a chmon (?) to make this run from the terminal when my shell script is double clicked. I just copy and paste the two lines into the terminal but it has never worked for some reason.Pasting the two lines above into the terminal app will launch forge but it does not appear to increase the heap space.

I use File -> Export... Java -> Runnable JAR file to build the JAR that is included with forge. This window states "VM arguments will not be part of the runnable JAR. Arguments can be passed on the command line when launching the JAR."
This is as far as I have gotten researching this issue.

-
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: Next beta, 2011 third release
by friarsol » 10 Feb 2011, 19:17
You probably want to chmod the shell script to be executable. chmod 757 should do the trick on the file. You may also be able to add executable to the file from its file properties.Chris H. wrote:I have a shell script containing the following two lines:
cd /Users/chrish******/"workspace -> TEST"/Work
java -jar run-forge.jar -Xmx1024m Gui_NewGame
This will launch the terminal app on my iMac but I have not figured out how to do a chmon (?) to make this run from the terminal when my shell script is double clicked. I just copy and paste the two lines into the terminal but it has never worked for some reason.Pasting the two lines above into the terminal app will launch forge but it does not appear to increase the heap space.![]()
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Next beta, 2011 third release
by Fnoed » 10 Feb 2011, 19:21
For it the script to be double-clickable it should be a .command file and have execute permissions. (see link for details)
Re: Next beta, 2011 third release
by Fnoed » 10 Feb 2011, 19:35
This is to be expected, the MANIFEST file that tells java what class to launch when starting the jar does not contain the the JVM parameters. It has to be set by the launching application (Forge.exe in Windows, scripts on Mac/Linux). If there are heap error end users, we have to change these to increase the heap size.Chris H. wrote:I use File -> Export... Java -> Runnable JAR file to build the JAR that is included with forge. This window states "VM arguments will not be part of the runnable JAR. Arguments can be passed on the command line when launching the JAR."
Re: Next beta, 2011 third release
by Chris H. » 10 Feb 2011, 19:46
I found an old questData file with over 300+ wins. I can play this in quest mode using the old Quest UI. Feels snappy with the heap space increased.
When I attempt to Continue Quest with Use new Quest UI I get this error exception:
When I attempt to start a new quest with Use new Quest UI I get this error exception:
When I attempt to Continue Quest with Use new Quest UI I get this error exception:
- error 1 | Open
- An error has occured. You can copy/paste this message or save it to a file.
Please report this, plus what you tried to do, to:
viewforum.php?f=26
If you don't want to register an account, you can mail it directly to
mtgerror@yahoo.com
Error loading Quest Data
Version:
Forge -- official beta: $Date: 2011-01-06 11:34:48 -0500 (Thu, 06 Jan 2011) $, SVN revision: $Revision: 4891 $
OS: Mac OS X Version: 10.6.6 Architecture: x86_64
Java Version: 1.6.0_22 Vendor: Apple Inc.
Detailed error trace:
java.lang.IllegalArgumentException: XPP3 pull parser library not present. Specify another driver. For example: new XStream(new DomDriver())
at com.thoughtworks.xstream.io.xml.XppDriver.loadLibrary(XppDriver.java:62)
at com.thoughtworks.xstream.io.xml.XppDriver.createReader(XppDriver.java:43)
at com.thoughtworks.xstream.io.xml.XppDriver.createReader(XppDriver.java:49)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:861)
at forge.quest.data.QuestData.loadData(QuestData.java:225)
at forge.Gui_QuestOptions.continueQuestButton_actionPerformed(Gui_QuestOptions.java:198)
at forge.Gui_QuestOptions$2.actionPerformed(Gui_QuestOptions.java:112)
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.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6352)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6117)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
at java.awt.Container.dispatchEventImpl(Container.java:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
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)
When I attempt to start a new quest with Use new Quest UI I get this error exception:
- error 2 | Open
- An error has occured. You can copy/paste this message or save it to a file.
Please report this, plus what you tried to do, to:
viewforum.php?f=26
If you don't want to register an account, you can mail it directly to
mtgerror@yahoo.com
null
Version:
Forge -- official beta: $Date: 2011-01-06 11:34:48 -0500 (Thu, 06 Jan 2011) $, SVN revision: $Revision: 4891 $
OS: Mac OS X Version: 10.6.6 Architecture: x86_64
Java Version: 1.6.0_22 Vendor: Apple Inc.
Detailed error trace:
java.lang.NullPointerException
at forge.gui.GuiUtils.getResizedIcon(GuiUtils.java:90)
at forge.quest.gui.main.QuestMainPanel.createSidePanel(QuestMainPanel.java:195)
at forge.quest.gui.main.QuestMainPanel.initUI(QuestMainPanel.java:73)
at forge.quest.gui.main.QuestMainPanel.<init>(QuestMainPanel.java:60)
at forge.quest.gui.QuestFrame.<init>(QuestFrame.java:37)
at forge.Gui_QuestOptions.newQuestButton_actionPerformed(Gui_QuestOptions.java:253)
at forge.Gui_QuestOptions$3.actionPerformed(Gui_QuestOptions.java:141)
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.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6352)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6117)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
at java.awt.Container.dispatchEventImpl(Container.java:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
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)
-
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: Next beta, 2011 third release
by Chris H. » 10 Feb 2011, 19:53
Thanks for the info on chmod. Let me try a few things and I will then get back to you. 

-
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
33 posts
• Page 1 of 3 • 1, 2, 3
Who is online
Users browsing this forum: No registered users and 28 guests