Page 4 of 5

Re: Forge version 1.2.16

PostPosted: 18 Oct 2012, 07:47
by Doublestrike
Max mtg wrote:So, is the trunk version playable now?
Not sure what you mean? Just had a look at multiplayer submenu, it's working as it's supposed to...

Re: Forge version 1.2.16

PostPosted: 18 Oct 2012, 07:50
by Doublestrike
Duels and challs submenu updates are finished. Once again, had to tweak a few control class methods, hopefully I enabled everything.

Tested for smaller screens, results shown here.

Also found a neat way to organize all of the stats and goodies, so that problem's fixed too. :)

@WompWomp - I've been using Firebloom a lot more lately, it's got a great feel to it! Would you have time to fix up the default skin icons to be as...not sure what the right word is...responsive? as firebloom?

Re: Forge version 1.2.16

PostPosted: 18 Oct 2012, 08:15
by Max mtg
Doublestrike wrote:
Max mtg wrote:So, is the trunk version playable now?
Not sure what you mean? Just had a look at multiplayer submenu, it's working as it's supposed to...
I got a blank match ui with 1 hand, 2 fields and 99 life and mana.
Happened only once, must be a problem on my side.


Well, the refactoring to remove hardcoded two and only human and computer players appears to be successful. I'll merge my changes into trunk

Ready to fix bugs at this point.


The next step is Input and Phasehandler - I've seen that the first one contains setAiComputer (or somethign like this) meaning there is one and only computer. PhaseHandler should pass turns to each player in game, unlike passing to active player's first opponent.

I have only tested constructed and draft - they appear to work properly.
If anything ante-, quest- or gauntlet- related does not work at the momemt, just let me know.

Re: Forge version 1.2.16

PostPosted: 18 Oct 2012, 16:50
by jeffwadsworth
Doublestrike wrote:Duels and challs submenu updates are finished. Once again, had to tweak a few control class methods, hopefully I enabled everything.
Your enhancements look fantastic on 30" display. I haven't fired up a new version of Forge in a bit and it just keeps getting better visually.

Re: Forge version 1.2.16

PostPosted: 19 Oct 2012, 05:13
by RumbleBBU
Max mtg wrote:I have only tested constructed and draft - they appear to work properly.
If anything ante-, quest- or gauntlet- related does not work at the momemt, just let me know.
Don't know if this is related, but just got a crash (fresh checkout from SVN) in Quest mode after a won match:
| Open
java.lang.NullPointerException
at forge.gui.match.QuestWinLoseHandler.awardEventCredits(QuestWinLoseHandler.java:365)
at forge.gui.match.QuestWinLoseHandler.populateCustomPanel(QuestWinLoseHandler.java:164)
at forge.gui.match.ViewWinLose.<init>(ViewWinLose.java:133)
at forge.GameAction.checkStateEffects(GameAction.java:1012)
at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:372)
at forge.control.input.InputControl.updateInput(InputControl.java:203)
at forge.gui.GuiInput.update(GuiInput.java:48)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:41)
at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:547)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:58)
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$Actions.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(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.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(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)


The exact line where the Null Pointer crash occurred is:
Code: Select all
                        switch (whyAiLost) {

Re: Forge version 1.2.16

PostPosted: 19 Oct 2012, 07:14
by Max mtg
Thank you, RumbleBBU. 17576 adresses the issue.

Re: Forge version 1.2.16

PostPosted: 19 Oct 2012, 08:15
by Doublestrike
jeffwadsworth wrote:...on 30" display....
Great!

If you have a spare minute could you post a screenshot or three :oops: so I can see what it looks like?

Re: Forge version 1.2.16

PostPosted: 20 Oct 2012, 19:48
by Max mtg
It is now possible to start a game against several computers, but all extra ai players pass their turns now and you cannot attack them now. Everyone may give it a try from doublestrike's menu in Multiplayer section

I'll have to dig futher into input-phase-myObservable intraction... to ultimatelly remove nextPhase call from MyObservable and have passes player make to advance game to next phase become implicit or at least traceable

Re: Forge version 1.2.16

PostPosted: 20 Oct 2012, 20:19
by friarsol
Max mtg wrote:I'll have to dig futher into input-phase-myObservable intraction... to untimatelly remove nextPhase call from MyObservable and make passes player make to advance game to next phase implicit or at least traceable
God speed. I remember this being a major bitch when I added all of the rest of the Phases a few years back. I had to wrestle with input control not to end the phase, when all I was trying to do was just redisplay something.

Re: Forge version 1.2.16

PostPosted: 21 Oct 2012, 01:03
by Max mtg
friarsol wrote:I had to wrestle with input control not to end the phase, when all I was trying to do was just redisplay something.
I guess we now have a perfect state. Look (r17609@braches/hotseat), noone calls nextPhase except for passPriority method of PhaseHandler

Re: Forge version 1.2.16

PostPosted: 21 Oct 2012, 08:35
by Doublestrike
@Rumble - I renamed GauntletWinLose to LimitedWinLose (since it's used in Limited mode).

Now, GauntletWinLose is the WinLose subclass used in Gauntlet mode.

Re: Forge version 1.2.16

PostPosted: 21 Oct 2012, 08:59
by Max mtg
Now you may play against several AI opponents. It's like archenemy mode, except for you don't have schema cards. :)

But anyway, I tried a game for 4 players (see Doublestrike's multiplayer interface), so every Ai player plays lands and spells and attacks human.
There might be some bugs in blocker assignment input presentation yet - I am working on that.

Re: Forge version 1.2.16

PostPosted: 22 Oct 2012, 05:03
by Max mtg
About the upcoming beta.

I am not going to add mutliple human players for this release. That would include a lot of work re-routing direct calls to UI (and it might take longer than 2 weeks remaining till release), while I need a period of less-intensive envolvement for now - like fixing a few bugs a day and unlike replacing 850 calls to AllZone.getHumanPlayer().

So, allow me to state that human vs human hotseat or any kind of multiplayer will not arrive sooner than _after_ 1.2.16 beta (or whatever number we assign to it)... because well, you remember how much broken the builds were a week ago.

I think this beta has already enough new features (gauntlet, quest mode sets unlocks, human vs many computers) to make a decent release. I also suggest to ship it next Friday, that is on 26th, if other team members do not plan to add any major features this week as well.

Re: Forge version 1.2.16

PostPosted: 22 Oct 2012, 06:12
by RumbleBBU
Max mtg wrote:I think this beta has already enough new features (gauntlet, quest mode sets unlocks, human vs many computers) to make a decent release. I also suggest to ship it next Friday, that is on 26th, if other team members do not plan to add any major features this week as well.
To be precise, all my quest mode mods (the whole 'enforced format quest' concept, custom formats, etc.) were added after the last beta, and will therefore be 'new' features in the next beta. That, on top of all the major changes you and Doublestrike have contributed, will be quite a culture shock already to people upgrading straight from 1.2.15. I don't think we need more new features for the next beta, I at least plan to concentrate on streamlining, improving and bug-fixing the current ones until the next beta. 8)

Speaking of which, it seems that the avatar pictures are working again (hooray! - although my AI/human icon selections seem to have swapped from original choices) while the Sealed/Draft gauntlets are still not moving to the next round when you click "Next Round" (you still get to play against the first AI deck on all subsequent rounds).

Re: Forge version 1.2.16

PostPosted: 22 Oct 2012, 07:34
by Sloth
Max mtg wrote:So, allow me to state that human vs human hotseat or any kind of multiplayer will not arrive sooner than _after_ 1.2.16 beta (or whatever number we assign to it)... because well, you remember how much broken the builds were a week ago.

I think this beta has already enough new features (gauntlet, quest mode sets unlocks, human vs many computers) to make a decent release. I also suggest to ship it next Friday, that is on 26th, if other team members do not plan to add any major features this week as well.
I fully agree with this decision. But i think it won't just be a decent release, it will be a great one!

Unless mayor bugs will be found, a release on friday the 26th would be a good thing.