It is currently 19 Apr 2024, 20:43
   
Text Size

Quest Mode Drafting

Post MTG Forge Related Programming Questions Here

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

Re: Quest Mode Drafting

Postby KrazyTheFox » 06 Jun 2014, 02:05

friarsol wrote:Is Ante not currently being overridden? I don't remember it happening earlier, but it definitely just happened today.
Ah, oops. Missed that one. The cards will never get removed from your collection/deck, but the cards will still be anted. I'll get that fixed tonight.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Quest Mode Drafting

Postby KrazyTheFox » 06 Jun 2014, 07:35

And finished! I'll probably add more tweaks and things to the mode over the next two weeks.

Changes tonight include:
  • Completed interface
  • Bug fixes, including antes
  • Updated text
  • Updated buttons (can now edit deck during tournament, prize collection is now obvious)

The biggest change would be the finished tournament view. It took forever to put together, but it's finally ready to go! It doesn't scale down to lower resolutions (it gains scrollbars), unfortunately, but hopefully a future update will give it a more fluid design if I think of one.
TournamentInterface.jpg



Have fun!


Edit: I'm almost certain I've fixed all the bugs with this, but should there be any, I won't be able to fix them until tomorrow evening. Busy day and all that.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Quest Mode Drafting

Postby mastroego » 06 Jun 2014, 09:37

Beautiful!!!
Hope it'll be in today's planned release, for all of us peasants, too :mrgreen:
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Quest Mode Drafting

Postby friarsol » 06 Jun 2014, 13:04

Well, the only other thing I can think of is that we probably shouldn't use the image that you're using in the start tournament screen. We don't ship with card images for a reason, and we probably shouldn't ship with this one either. Maybe when moomarc gets back from his break, we can ask him to whip you up some Forge-tournament-y Graphic.

Edit 1: If you get a crash as you click on StartTournament, when you come back to the tournament your money is gone, the cards you drafted as well, and you can't resume the tournament.

(This crash happened to me twice now on my desktop on trying to start the tournament, I was playing last night just fine on my laptop, i'll check later if it's still working there.)

I just finished my Draft, and saved my deck. When I click on start I get the crash below because

Code: Select all
FModel.getQuest().getAssets().getDraftDeckStorage().get(QuestEventDraft.DECK_NAME)
is null. If it matters this is an old quest that I had from before Quest Tournaments were a thing. From the same Start Tournament screen when I click edit it brings me back to my deck building just as I was, but when I click Start I get the crash.

NullPointerException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.screens.home.quest.CSubmenuQuestDraft.startTournament(CSubmenuQuestDraft.java:567)
   at forge.screens.home.quest.CSubmenuQuestDraft.access$500(CSubmenuQuestDraft.java:61)
   at forge.screens.home.quest.CSubmenuQuestDraft$6.actionPerformed(CSubmenuQuestDraft.java:281)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
   at java.awt.Component.processMouseEvent(Component.java:6505)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
   at java.awt.Component.processEvent(Component.java:6270)
   at java.awt.Container.processEvent(Container.java:2229)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
   at java.awt.Container.dispatchEventImpl(Container.java:2273)
   at java.awt.Window.dispatchEventImpl(Window.java:2719)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:694)
   at java.awt.EventQueue$3.run(EventQueue.java:692)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
   at java.awt.EventQueue$4.run(EventQueue.java:708)
   at java.awt.EventQueue$4.run(EventQueue.java:706)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Quest Mode Drafting

Postby KrazyTheFox » 06 Jun 2014, 15:36

friarsol wrote:Well, the only other thing I can think of is that we probably shouldn't use the image that you're using in the start tournament screen. We don't ship with card images for a reason, and we probably shouldn't ship with this one either. Maybe when moomarc gets back from his break, we can ask him to whip you up some Forge-tournament-y Graphic.

Edit 1: If you get a crash as you click on StartTournament, when you come back to the tournament your money is gone, the cards you drafted as well, and you can't resume the tournament.

(This crash happened to me twice now on my desktop on trying to start the tournament, I was playing last night just fine on my laptop, i'll check later if it's still working there.)

I just finished my Draft, and saved my deck. When I click on start I get the crash below because

Code: Select all
FModel.getQuest().getAssets().getDraftDeckStorage().get(QuestEventDraft.DECK_NAME)
is null. If it matters this is an old quest that I had from before Quest Tournaments were a thing. From the same Start Tournament screen when I click edit it brings me back to my deck building just as I was, but when I click Start I get the crash.

NullPointerException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.screens.home.quest.CSubmenuQuestDraft.startTournament(CSubmenuQuestDraft.java:567)
   at forge.screens.home.quest.CSubmenuQuestDraft.access$500(CSubmenuQuestDraft.java:61)
   at forge.screens.home.quest.CSubmenuQuestDraft$6.actionPerformed(CSubmenuQuestDraft.java:281)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
   at java.awt.Component.processMouseEvent(Component.java:6505)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
   at java.awt.Component.processEvent(Component.java:6270)
   at java.awt.Container.processEvent(Container.java:2229)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
   at java.awt.Container.dispatchEventImpl(Container.java:2273)
   at java.awt.Window.dispatchEventImpl(Window.java:2719)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:694)
   at java.awt.EventQueue$3.run(EventQueue.java:692)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
   at java.awt.EventQueue$4.run(EventQueue.java:708)
   at java.awt.EventQueue$4.run(EventQueue.java:706)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Ah, good point and finds. I'll fix these up and give Chris a new version of the .jar to upload for 1.5.19 once I get back from the dentist in a few hours.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Quest Mode Drafting

Postby lazylockie » 07 Jun 2014, 13:31

Krazy, some ideas to implement in the future:

1) Allow won packs (through normal quest mode) to be left unopened. This way we could win some games and use the boosters as entry fee for the tournament (as long as you got the right boosters)

2) Using the same Tournament UI, maybe a constructed tournament, using your own pool and decks? Entry fee could be the price of a booster (to be decided which booster would be chosen). Basically you'd need a 3-streak win, but you don't get to choose who you'll fight.
lazylockie
 
Posts: 508
Joined: 13 Jul 2010, 22:44
Has thanked: 74 times
Been thanked: 15 times

Re: Quest Mode Drafting

Postby KrazyTheFox » 08 Jun 2014, 20:00

lazylockie wrote:Krazy, some ideas to implement in the future:

1) Allow won packs (through normal quest mode) to be left unopened. This way we could win some games and use the boosters as entry fee for the tournament (as long as you got the right boosters)

2) Using the same Tournament UI, maybe a constructed tournament, using your own pool and decks? Entry fee could be the price of a booster (to be decided which booster would be chosen). Basically you'd need a 3-streak win, but you don't get to choose who you'll fight.
I'm not sure I'll be doing much adding of new features over the next couple of weeks. I'll be going on vacation to visit family and then immediately after I'll be packing up and moving across the country (if I don't get a job locally). I'd like to focus on fixing bugs and making sure everything works as intended before I don't have the ability to code for a month.

When I get back, though, I'll definitely be looking into more additions to quests and improving existing features.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Quest Mode Drafting

Postby friarsol » 09 Jun 2014, 03:58

When trying to save as my deck at the end of a tournament (to brag about it) I get this crash:

Description:

ClassCastException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 8 6.2 amd64
Java Version:     1.7.0_51 Oracle Corporation

java.lang.ClassCastException: forge.deck.DeckGroup cannot be cast to forge.deck.Deck
   at forge.screens.deckeditor.controllers.CCurrentDeck.exportDeck(CCurrentDeck.java:216)
   at forge.screens.deckeditor.controllers.CCurrentDeck.access$000(CCurrentDeck.java:33)
   at forge.screens.deckeditor.controllers.CCurrentDeck$3.run(CCurrentDeck.java:88)
   at forge.toolbox.FLabel._doMouseAction(FLabel.java:289)
   at forge.toolbox.FLabel.access$1300(FLabel.java:33)
   at forge.toolbox.FLabel$6.onLeftClick(FLabel.java:327)
   at forge.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:245)
   at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
   at java.awt.Component.processMouseEvent(Component.java:6505)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
   at java.awt.Component.processEvent(Component.java:6270)
   at java.awt.Container.processEvent(Container.java:2229)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
   at java.awt.Container.dispatchEventImpl(Container.java:2273)
   at java.awt.Window.dispatchEventImpl(Window.java:2719)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:694)
   at java.awt.EventQueue$3.run(EventQueue.java:692)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
   at java.awt.EventQueue$4.run(EventQueue.java:708)
   at java.awt.EventQueue$4.run(EventQueue.java:706)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Quest Mode Drafting

Postby lujo » 09 Jun 2014, 09:46

I've been posting comments all over the place when in fact I should've been posting them here, really.

- The Dark draft tourney can procude matches which crash irreparably, often involving Goblin Wizard (but it might be something else)

- The Antiquities drafting UI and weird card pool results games which start lagging horribly because of inevitable stalemates with cards which have a million activated abilities. The funny thing is that the game doesn't report a crash but phases go on so long without anything happening that it looks like the whole comp froze.

- The antiquities draft tewarded me with sixty or so boosters as a reward for first place on top of the money. This allowed me to enter the revised tourney.. which then rewarded me with something like 300+ boosters. Needless to say this breaks the game in half as I've got more money than the shop and enough moxen to furnish a warehouse off of a single draft. Something really ought to be done about that.
---

My Shandalar deck pack folder is avaliable here:Dropbox
Leave feedback on particular decks here: Google doc
Ask for instructions, give feedback and complaints here: Thread
User avatar
lujo
 
Posts: 557
Joined: 20 Nov 2013, 13:17
Has thanked: 224 times
Been thanked: 70 times

Re: Quest Mode Drafting

Postby serrasmurf » 12 Jun 2014, 08:54

Played some quest drafts yesterday on the latest snapshot version, had a lot of fun drafting old formats and encountered no bugs!

small suggestion:
The 3-2-1 drafts are the most fun. If the only option is a triple draft in a boring block then that is a bit of a dissapointment, so preferably you get to choose between 2 or 3 tournaments (just like normal quest matches).

Question: how does the AI drafting work? I can find no thread here about the algorythms for pick order, deck consistency (sticking with colours) and deck construction (curve, etc.) Fortunately the AI draft decks are much better than they used to be :D

Maybe the draft experience could be improved in the future by having an overview of the table, see where your opponents are seated and let them make stupid comments like that awful Catan game :D

I mentioned in another post the idea of implementing Quest Points. Another similar idea for having a simple alternative for complete campaign modus is a trophy chamber. Forge remembers the achievements you've accomplished (many other games do this). E.g. 10-win streak, 25-winstreak, all the possible alternative win-conditions, 1st-turn-kill, several draft formats you've mastered by winning the tournaments, etc. You can do this on quest level, or one level giher, in which Forge records your achievements through various quests, and enable you to win them in various quest modi (easy, medium, other preferences...)
serrasmurf
 
Posts: 316
Joined: 30 Jan 2010, 14:09
Location: The Netherlands
Has thanked: 3 times
Been thanked: 18 times

Re: Quest Mode Drafting

Postby serrasmurf » 12 Jun 2014, 13:10

What about cube drafting?
serrasmurf
 
Posts: 316
Joined: 30 Jan 2010, 14:09
Location: The Netherlands
Has thanked: 3 times
Been thanked: 18 times

Re: Quest Mode Drafting

Postby serrasmurf » 12 Jun 2014, 20:24

Forge just freezed 2 times during draft tournament.
It happened while Forge plays out the AI matches on 10x speed, both times an aura (with arc) was on the battlefield...(last freeze it was Crystallization).
Extra rough is that I had to stop Forge and after restart all the tournament data was gone (which meant losing about an hour of game play)
serrasmurf
 
Posts: 316
Joined: 30 Jan 2010, 14:09
Location: The Netherlands
Has thanked: 3 times
Been thanked: 18 times

Re: Quest Mode Drafting

Postby serrasmurf » 17 Jun 2014, 10:15

2 issues:
in a coldsnap draft i do not have snow-covered lands available during deck building
i win all the basic lands a get at my disposal, that's nice, but not appropriate. Specially when snow-covered lands are added it yields a big bonus
serrasmurf
 
Posts: 316
Joined: 30 Jan 2010, 14:09
Location: The Netherlands
Has thanked: 3 times
Been thanked: 18 times

Re: Quest Mode Drafting

Postby friarsol » 17 Jun 2014, 12:15

serrasmurf wrote:2 issues:
in a coldsnap draft i do not have snow-covered lands available during deck building
i win all the basic lands a get at my disposal, that's nice, but not appropriate. Specially when snow-covered lands are added it yields a big bonus
I'm not sure why it's not appropriate. Whenever I draft, I certainly could walk home with whatever lands I added after the draft (especially when I don't feel like deconstructing my deck).

Also, I believe you are incorrect about snow basics.

http://www.mtgsalvation.com/forums/magi ... -snowlands
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Quest Mode Drafting

Postby serrasmurf » 17 Jun 2014, 14:08

Hi,
I guess that may have been one of the reasons coldsnap draft was such a horrible draft format :D
There are so many cards with snow-activation costs, and relatively few snow-covered lands in the packs...I guess I'll pick those (much) higher in my next draft..

I don't mind a few basic lands as a bonus, but gettting and having to sell 50 seems a bit over the top, but i guess that's personal. As snow-covered lands won't be added it won't yield a 'secret' bonus of 1000 credits
serrasmurf
 
Posts: 316
Joined: 30 Jan 2010, 14:09
Location: The Netherlands
Has thanked: 3 times
Been thanked: 18 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 124 guests


Who is online

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

Login Form