Page 1 of 3

Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 01:08
by DennisBergkamp
Silly Freak spent a lot of time tracking down and fixing the memory leak problem, so hopefully there will be no more heap size problems.

2756 cards in total.


Fixes/Features:


- Silly Freak reworked the whole caching system of the small card images, and hopefully also resolved the memory leaks (thanks to Snacko for some extra fixes).
- Snacko added a different resizing algorithm (Lanczos 3), cards should look smoother now.
- Rob added abDamageTgt keyword.
- Chris fixed various discrepancies in cards.txt.
- Removed Magellan LAF.
- Fixed Pongify and Crib Swap.
- Got rid of the "Opponent has:{creature}" console output (should improve performance slightly).
- Fixed Avenger of Zendikar.
- Removed "thinking, I just subtracted ...", "just subtracted ...", "Evil hack" and State Effects console output (might improve performance slightly).
- Fixed Avalanche Riders Text.
- Added Bushido {number} keyword.
- Fixed Hand of Cruelty and Hand of Honor.
- Fixed Time counters not showing up.
- Fixed a bug where creatures wouldn't trigger on attacking a planeswalker.
- Made Exalted a real triggered ability, checked only once after attackers are declared, exalted abilities also trigger separately now.
- Creatures coming back onto the battlefield from persist should have other counters reset.
- Fixed Haunted Angel.
- Changed addExtrinsicKeyword in Card.java, this means many keywords will stack (did this to fix Sidewinder Sliver).
- Added another phase after the declare attackers phase during the human player's turn as well (can cast instants/abilities).
The main reason for this change is that before this, the computer would decide on its blockers while triggered abilities of attackers hadn't happened yet.
- AI should target the human player's creatures now with Seal of Removal.
- Fixed Sarkhan vol white -> red dragons.
- Fixed Devout Lightcaster targeting.
- Fixed a crash when the AI has cards in hand with no activated abilities (eg. The Tabernacle at Pendrell Vale).
- Upkeep effects shouldn't get executed at the beginning of turn 1 (should fix effects of AI controlled effects carrying over into a following match,
such as Magus of the Tabernacle and The Tabernacle at Pendrell Vale).
- Nantuko fixed an out of memory problem with the deck editor.
- Sunlance should be cascadable.
- Fixed Dovescape token controllership bug.
- Fixed Sower of Temptation (AI targeting should happen only once, as it hits play).

New cards:

- Jace, the Mind Sculptor
- Masticore (thanks Zen!)
- Bazaar of Baghdad (+ bunch of other abDrawCards keyword cards, thanks Rob!)
- Lots of cards using Rob's abDamageTgt keyword
- Few more Scry cards

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 02:10
by slappysquirrel
cool. are the heap size errors what happens when i have lots and lots of tokens on the field? yes it would slow down like crazy.
one thing though, is a lot of creature/spell abilities ie. cascade i dont know what they are at all. i first started playing around ice age, and stopped at the end of the urza's sets.

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 03:22
by DennisBergkamp
Heap size errors usually happen when there are a lot of different cards with different images on screen.
Hopefully they're fixed now :)

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 03:50
by Huggybaby
Excellent, thanks fellas. Looking forward to bug reports! I'm not a tester, but I like following the progress.

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 04:30
by LutherBlissett
nice work Silly Freak, no heap errors so far.

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 07:14
by Huggybaby
Just messing around with it, it looks good and feels snappy!

I'll be glad when Forge will let me play with the simple precon decks I'm used to. The ones it uses are too complicated for me. lol

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 07:36
by Mr.Chaos
Thanks guys, great work!
Fixing the heap size error was a problem you guys fought with for a long time, congrats on finally beating the beast!
However, it would be foolish to think we won't find a heap sized stack of bugs in this new beta. :wink:

But every new release offers new cards and opportunities and for that, I thank you all! =D>
All I do is play the game and comment on it. But without the coders, there would be nothing to play or comment on.

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 08:39
by apthaven
Thanks!!! Two thumbs up for improving performances and for the bug fixes. I'm sure that the players playing huge decks like token decks out would definitely love to see Forge being improving each version with these performance improvements.

Jace the Mind Sculptor too. Awesome.

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 17:03
by Corwin72
2 full games of my big deck vs my big deck and no slow down or errors. Thanks!

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 18:08
by DennisBergkamp
Yeah, Silly Freak did a great job. I also noticed that Forge seems to use less memory from the start now too, good stuff =D>

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 18:32
by atar
Kudos for releasing so soon another new version of our favourite MTG program =D> I have one question though:Which version to download, the version in this thread or that version from the blog? Are they the same? This new version includes the basilisk collar?

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 18:36
by Huggybaby
The newest version is always here on the forum. ;)

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 21:23
by DennisBergkamp
Both versions include the collar, but I strongly recommend you get this one, it is much more stable.

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 22:23
by silly freak
i don't know why forge would now use less memory, all that changed were maybe some redundant images, but i'm still satisfied with my work. thanks a lot for all the appreciation!

Re: Forge 02/21 (unofficial BETA) version

PostPosted: 22 Feb 2010, 23:39
by freestorageaccount
Well, it was destined to happen eventually. Upon attempting to bring up the deck editor after a few games, a heap space error occurs:
Code: Select all
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:
   http://www.slightlymagic.net/forum/viewforum.php?f=26
If you don't want to register an account, you can mail it directly to
   mtgerror@yahoo.com


Java heap space


Version:
Forge -- official beta: $Date: 2010-02-13 13:21:36 -0600 (Sat, 13 Feb 2010) $, SVN revision: $Revision: 376 $

Detailed error trace:
java.lang.OutOfMemoryError: Java heap space
   at java.util.ArrayList.<init>(Unknown Source)
   at java.util.ArrayList.<init>(Unknown Source)
   at forge.Card.<init>(Card.java:22)
   at forge.CardFactory.getCard2(CardFactory.java:3440)
   at forge.CardFactory.getCard(CardFactory.java:122)
   at forge.Gui_Quest_DeckEditor_Menu.covertToCardList(Gui_Quest_DeckEditor_Menu.java:908)
   at forge.Gui_Quest_DeckEditor.show(Gui_Quest_DeckEditor.java:346)
   at forge.Gui_Quest.deckEditorButton_actionPerformed(Gui_Quest.java:205)
   at forge.Gui_Quest$2.actionPerformed(Gui_Quest.java:138)
   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.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)