It is currently 29 Oct 2025, 13:29
   
Text Size

Forge version 1.2.16

Post MTG Forge Related Programming Questions Here

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

Re: Forge version 1.2.16

Postby Doublestrike » 18 Oct 2012, 07:47

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...
---
A joke is a very serious thing.
User avatar
Doublestrike
UI Programmer
 
Posts: 715
Joined: 08 Aug 2011, 09:07
Location: Bali
Has thanked: 183 times
Been thanked: 161 times

Re: Forge version 1.2.16

Postby Doublestrike » 18 Oct 2012, 07:50

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?
Attachments
duels.jpg
Regular size
challs800x600.jpg
800 x 600 test
Last edited by Doublestrike on 18 Oct 2012, 09:00, edited 1 time in total.
---
A joke is a very serious thing.
User avatar
Doublestrike
UI Programmer
 
Posts: 715
Joined: 08 Aug 2011, 09:07
Location: Bali
Has thanked: 183 times
Been thanked: 161 times

Re: Forge version 1.2.16

Postby Max mtg » 18 Oct 2012, 08:15

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.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.2.16

Postby jeffwadsworth » 18 Oct 2012, 16:50

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.
jeffwadsworth
Super Tester Elite
 
Posts: 1172
Joined: 20 Oct 2010, 04:47
Location: USA
Has thanked: 287 times
Been thanked: 70 times

Re: Forge version 1.2.16

Postby RumbleBBU » 19 Oct 2012, 05:13

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) {
User avatar
RumbleBBU
 
Posts: 394
Joined: 18 Aug 2012, 04:24
Has thanked: 29 times
Been thanked: 66 times

Re: Forge version 1.2.16

Postby Max mtg » 19 Oct 2012, 07:14

Thank you, RumbleBBU. 17576 adresses the issue.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.2.16

Postby Doublestrike » 19 Oct 2012, 08:15

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?
---
A joke is a very serious thing.
User avatar
Doublestrike
UI Programmer
 
Posts: 715
Joined: 08 Aug 2011, 09:07
Location: Bali
Has thanked: 183 times
Been thanked: 161 times

Re: Forge version 1.2.16

Postby Max mtg » 20 Oct 2012, 19:48

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
Last edited by Max mtg on 20 Oct 2012, 20:48, edited 2 times in total.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.2.16

Postby friarsol » 20 Oct 2012, 20:19

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.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge version 1.2.16

Postby Max mtg » 21 Oct 2012, 01:03

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
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.2.16

Postby Doublestrike » 21 Oct 2012, 08:35

@Rumble - I renamed GauntletWinLose to LimitedWinLose (since it's used in Limited mode).

Now, GauntletWinLose is the WinLose subclass used in Gauntlet mode.
---
A joke is a very serious thing.
User avatar
Doublestrike
UI Programmer
 
Posts: 715
Joined: 08 Aug 2011, 09:07
Location: Bali
Has thanked: 183 times
Been thanked: 161 times

Re: Forge version 1.2.16

Postby Max mtg » 21 Oct 2012, 08:59

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.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.2.16

Postby Max mtg » 22 Oct 2012, 05:03

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.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge version 1.2.16

Postby RumbleBBU » 22 Oct 2012, 06:12

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).
User avatar
RumbleBBU
 
Posts: 394
Joined: 18 Aug 2012, 04:24
Has thanked: 29 times
Been thanked: 66 times

Re: Forge version 1.2.16

Postby Sloth » 22 Oct 2012, 07:34

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.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 15 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 15 users online :: 0 registered, 0 hidden and 15 guests (based on users active over the past 10 minutes)
Most users ever online was 9298 on 10 Oct 2025, 12:54

Users browsing this forum: No registered users and 15 guests

Login Form