It is currently 19 Apr 2024, 13:33
   
Text Size

Forge Release 12/09/2018 ver 1.6.19

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

Re: Forge Release 12/09/2018 ver 1.6.19

Postby DCCoach » 19 Jan 2019, 19:29

Description: Setting up a constructed deck (me) vs. random constructed deck (AI) game; for the AI I chose *all* of the options for random decks.

IMPORTANT: this isn't a routine Null Pointer Exception error, not at all; I've never seen Forge do anything like this.

While setting up that match, when I chose the options and submitted that Forge popped up an error message about creating/opening decks with 5 colors? Sorry I didn't keep the message.

BIG BAD: this error message would NOT go away. I clicked OK, it came back with another similar message. Tried again, same thing. Clicked X on window frame, same thing. Tried closing Forge via the task bar. Nope. Tried a number of other things, then finally tried Task Manager, which, to my surprise, wasn't even showing Forge, so nothing doing there (maybe it was the java app running, I didn't think of that until just now ... oops). Anyway, I tried starting Forge again, got a different error message and when I acknowledged that, it returned to the original error message. I may have tried a few other things but ultimately I ended up rebooting the machine, which finally got rid of the problem. When I started Forge again, I got the Null Pointer Exception message below.

Hope this helps.

NullPointerException | Open
Code: Select all
Forge Version:    1.6.4-r-1
Operating System: Windows 10 10.0 amd64
Java Version:     1.8.0_191 Oracle Corporation


java.lang.NullPointerException
   at forge.toolbox.FSkin$SkinFont.measureTextWidth(FSkin.java:962)
   at forge.view.FTitleBar.updatePreferredSize(FTitleBar.java:53)
   at forge.view.FTitleBar.setTitle(FTitleBar.java:38)
   at forge.view.FTitleBar.<init>(FTitleBar.java:20)
   at forge.view.FDialog.<init>(FDialog.java:94)
   at forge.view.FDialog.<init>(FDialog.java:78)
   at forge.toolbox.FOptionPane.<init>(FOptionPane.java:141)
   at forge.toolbox.FOptionPane.showOptionDialog(FOptionPane.java:82)
   at forge.GuiDesktop.showOptionDialog(GuiDesktop.java:137)
   at forge.util.gui.SOptionPane.showOptionDialog(SOptionPane.java:63)
   at forge.util.gui.SOptionPane.showMessageDialog(SOptionPane.java:33)
   at forge.deck.DeckgenUtil.colorCheck(DeckgenUtil.java:405)
   at forge.deck.ColorDeckGenerator.getDeck(ColorDeckGenerator.java:63)
   at forge.deckchooser.FDeckChooser.getDeck(FDeckChooser.java:202)
   at forge.screens.home.VLobby.selectMainDeck(VLobby.java:425)
   at forge.screens.home.VLobby.access$200(VLobby.java:71)
   at forge.screens.home.VLobby$3.run(VLobby.java:337)
   at forge.itemmanager.DeckManager$1.valueChanged(DeckManager.java:84)
   at forge.itemmanager.views.ItemView.onSelectionChange(ItemView.java:278)
   at forge.itemmanager.views.ItemListView$ItemTableModel$1.valueChanged(ItemListView.java:620)
   at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
   at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
   at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
   at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
   at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
   at javax.swing.DefaultListSelectionModel.addSelectionInterval(Unknown Source)
   at javax.swing.JTable.addRowSelectionInterval(Unknown Source)
   at forge.itemmanager.views.ItemListView.onSetSelectedIndices(ItemListView.java:306)
   at forge.itemmanager.views.ItemView.setSelectedItems(ItemView.java:216)
   at forge.itemmanager.views.ItemView.setSelectedItems(ItemView.java:205)
   at forge.itemmanager.ItemManager.setSelectedItems(ItemManager.java:583)
   at forge.itemmanager.ItemManager.setSelectedStrings(ItemManager.java:636)
   at forge.deckchooser.FDeckChooser.restoreSavedState(FDeckChooser.java:382)
   at forge.deckchooser.FDeckChooser.populate(FDeckChooser.java:228)
   at forge.screens.home.CLobby.initialize(CLobby.java:78)
   at forge.screens.home.sanctioned.CSubmenuConstructed.initialize(CSubmenuConstructed.java:44)
   at forge.view.FView.initialize(FView.java:125)
   at forge.control.FControl$3.run(FControl.java:262)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$500(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.ProtectionDomain$JavaSecurityAccessImpl.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)
DCCoach
 
Posts: 1
Joined: 19 Jan 2019, 19:05
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Release 12/09/2018 ver 1.6.19

Postby ZachAttack498 » 21 Jan 2019, 08:11

I have a bug fix to report:This may just be a problem on android but isochron scepter does not work at all... I can't select a instant with less than 2 mana cost at all.

Android version 1.6.19.004
Attachments
ema-223-isochron-scepter.jpg
Picture of the card
Last edited by ZachAttack498 on 22 Jan 2019, 13:44, edited 1 time in total.
ZachAttack498
 
Posts: 1
Joined: 21 Jan 2019, 08:03
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Release 12/09/2018 ver 1.6.19

Postby AStrangerIsHere » 22 Jan 2019, 01:23

First post here, so hello everyone. I noticed a bug with Crush of Tentacles: it doesn't create any token when the surge cost is paid. I have some older version of Forge, and it seems the problem date back to (at least) the 1.15 version. The 1.9 works fine though.
AStrangerIsHere
 
Posts: 164
Joined: 22 Jan 2019, 01:17
Has thanked: 45 times
Been thanked: 29 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby gos » 22 Jan 2019, 22:45

Spectra Ward is giving protection from itself, so it falls off immediately.

Hollow One 's cost reduction is not working with discard (tested with Bazaar of Baghdad).
gos
 
Posts: 4369
Joined: 03 Mar 2011, 15:21
Location: Reykjavík, Iceland
Has thanked: 231 times
Been thanked: 232 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby friarsol » 23 Jan 2019, 02:03

gos wrote:Hollow One 's cost reduction is not working with discard (tested with Bazaar of Baghdad).
I believe this is somehow only on Android. That doesn't make any sense to me, but it seems to work fine whenever i test it on Desktop
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby gos » 23 Jan 2019, 09:38

friarsol wrote:
gos wrote:Hollow One 's cost reduction is not working with discard (tested with Bazaar of Baghdad).
I believe this is somehow only on Android. That doesn't make any sense to me, but it seems to work fine whenever i test it on Desktop
I was playing on desktop. I was casting 1 of the cards I discarded to Bazaar of Baghdad with madness on both occasions I observed the bug (as far as I can recall).

I just reproduced the bug.
Turn 1: Play Bazaar of Baghdad. Activate Bazaar of Baghdad. Discard Wonder, Vengevine and Basking Rootwalla. Play Basking Rootwalla for its madness cost. Try to cast Hollow One for free - not possible.
Turn 2: Activate Bazaar of Baghdad. Discard Vengevine and 2 other cards. Try to cast Hollow One for free - not possible.

So, casting the Basking Rootwalla seems to be irrelevant.

Here is the decklist I was playing with:

Code: Select all
[metadata]
Name=swiftwarkite2 - Survival
[general]
constructed
[main]
1 Ancestral Recall
4 Basking Rootwalla
2 Bayou
4 Bazaar of Baghdad
1 Black Lotus
4 Deathrite Shaman
1 Elvish Spirit Guide
1 Flusterstorm
4 Force of Will
1 Forest
4 Hollow One
2 Leovold, Emissary of Trest
4 Mental Misstep
1 Mox Emerald
1 Mox Jet
1 Mox Sapphire
1 Phantasmal Image
1 Savannah
1 Squee, Goblin Nabob
4 Survival of the Fittest
1 Sylvan Library
1 Time Walk
2 Tropical Island
1 Trygon Predator
4 Vengevine
4 Windswept Heath
1 Wonder
3 Wooded Foothills
[sideboard]
2 Abrupt Decay
3 Containment Priest
3 Energy Flux
4 Leyline of the Void
1 Mindbreak Trap
2 Stony Silence
gos
 
Posts: 4369
Joined: 03 Mar 2011, 15:21
Location: Reykjavík, Iceland
Has thanked: 231 times
Been thanked: 232 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby lindleya1 » 25 Jan 2019, 18:23

Issue with Chandra Ablaze, at least on android. Am away from my PC at the moment so can't test the desktop version. Issue is that when activating the ultimate, there is no option to not cast spells, it forces you to play every one that is in the graveyard, even if you don't want to. When you select a spell it asks "Do you want to cast <spellname>?" But if you press No, it just takes you back to the list of spells with the same spell still in the list. And there is no way out of the list until you have chosen Yes to casting all of the spells.
lindleya1
 
Posts: 105
Joined: 01 Jul 2015, 23:32
Has thanked: 1 time
Been thanked: 6 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby lindleya1 » 26 Jan 2019, 03:49

Molten Disaster has split second even if it wasn't kicked
lindleya1
 
Posts: 105
Joined: 01 Jul 2015, 23:32
Has thanked: 1 time
Been thanked: 6 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby lindleya1 » 26 Jan 2019, 18:47

Stitcher's Graft doesn't sacrifice the creature when it gets destroyed. The trigger went on the stack, but the creature survived
lindleya1
 
Posts: 105
Joined: 01 Jul 2015, 23:32
Has thanked: 1 time
Been thanked: 6 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby gos » 28 Jan 2019, 12:53

My opponent tapped one of my creatures with Telekinesis. It's 7 turns later. It still hasn't untapped.
gos
 
Posts: 4369
Joined: 03 Mar 2011, 15:21
Location: Reykjavík, Iceland
Has thanked: 231 times
Been thanked: 232 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby Nekoatl » 29 Jan 2019, 07:39

If a creature enters the battlefield as a copy of Chronozoa, when that creature dies, 2 copies are supposed to be created (http://gatherer.wizards.com/Pages/Card/ ... eid=111066). However, this doesn't seem to happen in forge.

Steps:

1) Cast Chronozoa.
2) Cast Phantasmal Image, copying Chronozoa.
3) Wait for the final time counter to be removed from the copy.

Expected:

2 Chronozoa tokens are created with "When this creature becomes the target of a spell or ability, sacrifice it.".

Actual:

No tokens are created.
Last edited by Nekoatl on 29 Jan 2019, 16:41, edited 1 time in total.
Nekoatl
 
Posts: 196
Joined: 22 Aug 2013, 20:13
Has thanked: 21 times
Been thanked: 8 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby trombonesjones » 29 Jan 2019, 11:59

It seems cards with death touch don’t work, deal damage regularly but don’t kill the other creature. Also, maybe an old one, but tablet of the guild pact does not let you select a color and then crashes the game
trombonesjones
 
Posts: 21
Joined: 03 Feb 2018, 02:32
Has thanked: 1 time
Been thanked: 1 time

Re: Forge Release 12/09/2018 ver 1.6.19

Postby Aetherbird » 29 Jan 2019, 17:37

Just out of curiosity: what is breaking once functional mechanics? I see plenty of feedback about things that were fine once?
It's still an awesome piece of software but some things seem to be without reason....
Aetherbird
 
Posts: 53
Joined: 26 Jan 2015, 17:37
Has thanked: 2 times
Been thanked: 20 times

Re: Forge Release 12/09/2018 ver 1.6.19

Postby RumbleBBU » 30 Jan 2019, 07:49

Aetherbird wrote:Just out of curiosity: what is breaking once functional mechanics? I see plenty of feedback about things that were fine once?
When you have a distributed software project like this with a lot of contributors (and no strong team leadership), things like this just happen. There are multiple paths that lead to broken (previously working) functionality. One, a new card mechanic requires something that Forge doesn't currently support. Something needs to be tweaked, something needs to be added. Done. Oops, accidentally broke a dozen older cards while doing that.

Another possibility. Dozens of people have contributed to the codebase, each with their personal coding style and mentality. Hence, some portions of code are different from the others, and the entirety is suboptimal from the code performance and maintenance viewpoint. Some kind soul decides to refactor a large part of the class tree to make it neater and more efficient. Done. Oops, a very common functionality just stopped working.

Yet another possibility. A kind soul tries to fix a particularly annoying bug (possibly a result of either of the above). Done. Oops, the fix introduced a handful of even worse bugs to the codebase.

Or someone wants to add a cool new feature. Done. Oops, again.

All of these things can happen. They are normal in a project like this.

That said, I tend to agree that Forge releases have, almost as a rule, been disappointingly buggy. The latest stable (as in "no annoying/game-breaking bugs") version that I'm using is 1.6.1 from 2017 (Amonkhet block). The one before that (and even stabler than 1.6.1) was the Theros block version from 2014 - I forget the release number, possibly 1.5.17. The other versions in between and after that have been simply too buggy in some game functionality I really want to have to replace either as my 'play' version. Not a particularly flattering track record, I'm afraid.

In the other software projects I have participated in, we used to go through code freeze and rigorous testing before a public release. And if something major went unnoticed in our testing phase, we did a separate bugfix release (typically not needed very often).

I'm not suggesting that Forge should necessarily go the same route. The playtesting required would be immense due to the complexity of the game. A clearly stated code-freeze/bugfixes-only phase maybe two weeks before a public release might help. Another possibility is of course to release a bugfix update a week or two after a public release, when the major bugs have been reported and sorted out. I would love to help in this department, but realistically, I have a life outside MtG/Forge and no time (at least at the moment).

But I do notice that Agetian sometimes makes bugfix releases of the Android port some time after a public release. Maybe it would not be too much of an effort to package the same version as a bugfix release for desktop computers at the same time?
User avatar
RumbleBBU
 
Posts: 394
Joined: 18 Aug 2012, 04:24
Has thanked: 29 times
Been thanked: 66 times

Previous

Return to Forge

Who is online

Users browsing this forum: No registered users and 104 guests


Who is online

In total there are 104 users online :: 0 registered, 0 hidden and 104 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: No registered users and 104 guests

Login Form