Page 3 of 3

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 10 Apr 2010, 05:00
by DennisBergkamp
Freestorageaccount,

Could you perhaps send me your Questdata file (I'll see if I could convert it somehow) ? I'm also interested to see how the Quest balances with such a huge number of wins :)

As for selling a card that is in a deck... I think I did some funky logic there, it will remove it from the deck if there are 4 or less copies in your collection. I figured, if you're selling a basic land card it's probably annoying to have it get removed from all of your decks that include one. On the other hand, not removing cards could "corrupt" a deck if it contains a card that doesn't exist in the collection pool anymore.

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 10 Apr 2010, 05:15
by freestorageaccount
Sure thing, Dennis! I uploaded it at http://tinyurl.com/quest0318.

Minor note: Braidwood Cup is missing its ability.

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 10 Apr 2010, 05:34
by DennisBergkamp
Thanks :)
I see I probably have to replace the difficulty .txt files with the old ones, since it complains about not finding those AI decks.

Anyway, 1372 wins, that is really really impressive!!! So I fired up the deck editor.... it took me almost 2 minutes to load, and now I clicked on the Qty header to sort by quantity, and that took almost just as long :lol: I see you have 19x Raise the Alarm and 19x Brainstorm. I hope the card shop will prevent clutter like that from happening in the future.

I will play around with this a bunch, but I'm guessing the error you're getting happens because there is no list yet generated from the card shop... what happens if you click on the card shop first, close it, and then play a game?

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 10 Apr 2010, 11:45
by Chris H.
freestorageaccount wrote:Minor note: Braidwood Cup is missing its ability.
`
I fixed this card and four others:

Braidwood Cup
Tanglebloom
Silent Attendant
Wellwisher

Peacekeeper

Download the attachment, un-zip the archive and place the included cards.txt file in your /forge0402/res/ folder.

`

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 10 Apr 2010, 21:41
by freestorageaccount
DennisBergkamp wrote:I will play around with this a bunch, but I'm guessing the error you're getting happens because there is no list yet generated from the card shop... what happens if you click on the card shop first, close it, and then play a game?
Before reaching that screen, many messages like this one (Buffy 1), none fatal, occur upon clicking 'Continue Quest':
Code: Select all
QuestData : readFile() error, file res\quest\easy.txt contains the invalid ai deck name: Buffy 1


Version:
Forge -- official beta: $Date: 2010-02-22 10:48:25 -0600 (Mon, 22 Feb 2010) $, SVN revision: $Revision: 415 $

Detailed error trace:
java.lang.Exception
   at forge.QuestData.readFile(QuestData.java:191)
   at forge.QuestData.readAIQuestDeckFiles(QuestData.java:160)
   at forge.QuestData.loadData(QuestData.java:226)
   at forge.Gui_QuestOptions.continueQuestButton_actionPerformed(Gui_QuestOptions.java:170)
   at forge.Gui_QuestOptions$2.actionPerformed(Gui_QuestOptions.java:118)
   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)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Trying to open the card shop sends you back to the main interface, with the following error:
Code: Select all
null


Version:
Forge -- official beta: $Date: 2010-02-22 10:48:25 -0600 (Mon, 22 Feb 2010) $, SVN revision: $Revision: 415 $

Detailed error trace:
java.lang.NullPointerException
   at forge.Gui_CardShop.show(Gui_CardShop.java:214)
   at forge.Gui_Quest.cardShopButton_actionPerformed(Gui_Quest.java:244)
   at forge.Gui_Quest$2.actionPerformed(Gui_Quest.java:146)
   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)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Decks can still be opened, modified, and saved normally. Playing a match also works fine until you click 'Quit Match' after winning, then the earlier error occurs after which you're stranded on the screen with three buttons and hence can only restart the match or terminate entirely.

EDIT: I think it would be helpful to designate cards recently bought from the shop with their own rarity label (e.g., 'b') in a similar way to how recently won cards are marked 'n', presumably for 'new' (though cards from the shop are new too...). A way to know what cards are currently being used in decks might also be useful when selling. Can these labels be remembered/recorded after quitting Forge? They also aren't shown in the card shop; you can see only the CURL labels there.

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 10 Apr 2010, 22:40
by DennisBergkamp
Alright... I've made a fix so that the card shop can be used using your questdata file. After this, pressing quit after a game will not crash the game either - I made 431 credits after winning a game :)

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 10 Apr 2010, 22:56
by Chris H.
freestorageaccount wrote:Before reaching that screen, many messages like this one (Buffy 1), none fatal, occur upon clicking 'Continue Quest':
[code]QuestData : readFile() error, file res\quest\easy.txt contains the invalid ai deck name: Buffy 1
`
There were several versions of the quest data files released. Early versions can be detected by looking at the contents of the easy.txt, medium.txt and hard.txt files.

Early versions had the three different Buffy Decks using I or II or III to set them apart from one another. At a later version I changed the numbering system of the deck names to 1 or 2 or 3.

Various people have had the error message that you just saw. This happens when the three files: easy.txt, medium.txt and hard.txt are out of sync with the questdata file. It is best for people to copy over all four of these files from the older forge version to a newer version. It is not enough to move just the questdata file.

At some point some kind programer may redesign the file format of the quest data files and these types of problems would then disappear. :)

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 10 Apr 2010, 23:48
by DennisBergkamp
Ah yes, I could not find any of the old difficulty files, so I had to do a few extra clicks, no biggie :)

I will release a new version either tonight or tomorrow.

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 11 Apr 2010, 00:00
by Chris H.
DennisBergkamp wrote:Ah yes, I could not find any of the old difficulty files, so I had to do a few extra clicks, no biggie :)

I will release a new version either tonight or tomorrow.
`
I will try to make one last merge before you release ... if I can get it in on time. I want to add some of the AI from enPump to the Vigilance code block. :D

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 11 Apr 2010, 00:12
by freestorageaccount
Just in case this is easy enough to fix in the new release (it looks pretty difficult though), if you have Moonlit Wake and some creatures and the computer has some other creatures, when you play Planar Cleansing you gain one life for each of them (not just your own). The problem is implementing simultaneous destruction, which unfortunately is rather common.

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 11 Apr 2010, 03:14
by DennisBergkamp
Yeah, this is tricky, unfortunately. More of a long-term thing :)
I added some methods to approximate this more closely (sorting permanents and putting cards like Moonlit Wake towards the end of stuff to get destroyed), but it's still nowhere near perfect. Like you said, there's no real simultaneous destroying going on in Forge yet, it's all done one by one.

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 13 Apr 2010, 07:31
by zerker2000
How would that be a problem? Don't you just calculate all destroy triggers, put them on stack, and Then move everything field->grave? Or are triggers currently part of the move code?

Re: Forge 04/02 (Unofficial Beta version)

PostPosted: 13 Apr 2010, 18:46
by DennisBergkamp
I'm pretty sure they happen somewhere in the move code.