It is currently 16 Apr 2024, 18:32
   
Text Size

Forge version 1.5.36

Post MTG Forge Related Programming Questions Here

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

Forge version 1.5.36

Postby Chris H. » 14 Feb 2015, 21:32

Tentative target release date: February 28 2015.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Forge version 1.5.36

Postby drdev » 15 Feb 2015, 15:38

I just finished implementing initial support for the Tiny Leaders format. The only thing I need to add is deck building support and mobile support. So you should be able to play Tiny Leaders using generated decks that are legal to the format, respecting the CMC restriction, the ban list, as well as the additional commander ban list.

As part of this, I've increased the flexibility of the DeckGeneratorBase class and DeckFormat enum to support restricted pools. With this increased flexibility, my next plan is to add Pauper and Peasant support, and maybe Tribal Wars after that.

Let me know if the CMC percentages need tweaking for generated Tiny Leaders decks. At the moment I made it do 33% CMC 0-1, 33% CMC 2, and 33% CMC 3. I also think it might be adding too high a percentage of lands, so that may need adjusting.

Thanks.
-Dan
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge version 1.5.36

Postby Hanmac » 15 Feb 2015, 16:35

drdev wrote:I just finished implementing initial support for the Tiny Leaders format.
hey can you do that too that if you select a Modern Deck for you and the Enemy has AutoGenerated from Colors, that he also only get a Modern legal deck?

and if you implement new formats i have some plans for Forge to implement some different Multiplayer settings like Pentraram or RainBow Magic ... (in a Pentragram only the far distant players are your enemies)

a german description is there:
http://magic.freizeitspieler.de/pentagramm.php
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Forge version 1.5.36

Postby drdev » 15 Feb 2015, 16:55

Hanmac wrote:
drdev wrote:I just finished implementing initial support for the Tiny Leaders format.
hey can you do that too that if you select a Modern Deck for you and the Enemy has AutoGenerated from Colors, that he also only get a Modern legal deck?

and if you implement new formats i have some plans for Forge to implement some different Multiplayer settings like Pentraram or RainBow Magic ... (in a Pentragram only the far distant players are your enemies)

a german description is there:
http://magic.freizeitspieler.de/pentagramm.php
Adding format filtering is something I've wanted to do, so maybe this as good a time as any to do it.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge version 1.5.36

Postby drdev » 15 Feb 2015, 18:05

So I'm now thinking I'm going to refactor Commander and Tiny Leaders formats.txt and extend the scripting supported by that so people can add their own custom formats and have us able to support them both from a deck building perspective as well as from a deck conformance and generation perspective.

How does this look so far?

variants.txt | Open
Code: Select all
[Commander]
Description:Each player has a legendary "General" card which can be cast at any time and determines deck colors.
Life:+20
Main:99
Side:0-10
Commander:*
MaxCardCopies:1

[Tiny Leaders]
Description:Each player has a legendary "General" card which can be cast at any time and determines deck colors. Each card must have CMC less or equal to 3.
Life:+5
Main:49
Side:0-10
Commander:!(Derevi, Empyrial Tactician; Erayo, Soratami Ascendant; Rofellos, Llanowar Emissary)
MaxCardCopies:1
CMC:0-1|30%; 2|35%; 3|35%
Banned:Ancestral Recall; Balance; Black Lotus; Black Vise; Channel; Chaos Orb; Contract From Below; Counterbalance; Darkpact; Demonic Attorney; Demonic Tutor; Earthcraft; Edric, Spymaster of Trest; Falling Star; Fastbond; Flash; Goblin Recruiter; Hermit Druid; Imperial Seal; Jeweled Bird; Karakas; Library of Alexandria; Mana Crypt; Mana Drain; Mana Vault; Metalworker; Mind Twist; Mishra's Workshop; Mox Emerald; Mox Jet; Mox Pearl; Mox Ruby; Mox Sapphire; Necropotence; Painter's Servant; Shahrazad; Skullclamp; Sol Ring; Strip Mine; Survival of the Fittest; Sword of Body and Mind; Time Vault; Time Walk; Timetwister; Timmerian Fiends; Tolarian Academy; Umezawa's Jitte; Vampiric Tutor; Wheel of Fortune; Yawgmoth's Will

[Pauper]
Description:Each player has a deck consisting of only commons.
Rarity:Common
Banned:Cloudpost; Cranial Plating; Empty the Warrens; Frantic Search; Grapeshot; Invigorate; Temporal Fissure

[Peasant]
Description:Each player has a deck consisting of up to 5 uncommons and the rest commons.
Rarity:Common; Uncommon|0-5
Banned:Bazaar of Baghdad; Brain Freeze; Cranial Plating; Demonic Consultation; Empty the Warrens; Frantic Search; Invigorate; Jeweled Bird; Library of Alexandria; Mana Drain; Skullclamp; Sol Ring; Strip Mine; Tendrils of Agony; Thopter Foundry

[Tribal Wars]
Description:Each player has a deck where at least a third of the deck is creatures with a shared creature type.
Tribe:*|33%
Banned:Arboria; Balance; Channel; Circle of Solace; Demonic Consultation; Demonic Tutor; Engineered Plague; Extinction; Fastbond; Flash; Imperial Seal; Library of Alexandria; Mana Crypt; Mana Vault; Mishra's Workshop; Moat; Necropotence; Peer Pressure; Skullclamp; Sol Ring; Stasis; Strip Mine; Survival of the Fittest; The Abyss; Time Vault; Tinker; Tolarian Academy; Tsabo's Decree; Umezawa's Jitte; Vampiric Tutor; Wheel of Fortune; Yawgmoth's Bargain; Yawgmoth's Will

[Momir Basic]
Description:Each player has a deck containing 60 basic lands and the Momir Vig avatar.
Main:Plains|12; Island|12; Swamp|12; Mountain|12; Forest|12
Avatar:Momir Vig, Simic Visionary Avatar
Last edited by drdev on 15 Feb 2015, 18:12, edited 1 time in total.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge version 1.5.36

Postby Agetian » 15 Feb 2015, 18:12

drdev wrote:So I'm now thinking I'm going to refactor Commander and Tiny Leaders formats.txt and extend the scripting supported by that so people can add their own custom formats and have us able to support them both from a deck building perspective as well as from a deck conformance and generation perspective.

How does this look so far?

formats.txt | Open
Code: Select all
[Standard]
Sets:THS; BNG; JOU; M15; KTK; FRF

[Extended]
Sets:SOM; MBS; NPH; M12; ISD; DKA; AVR; M13; RTR; GTC; DGM; M14; THS; BNG; JOU; M15
Banned:Ponder; Mental Misstep

[Modern]
Sets:8ED; MRD; DST; 5DN; CHK; BOK; SOK; 9ED; RAV; GPT; DIS; CSP; TSP; TSB; PLC; FUT; 10E; LRW; EVE; SHM; MOR; ALA; CFX; ARB; M10; ZEN; WWK; ROE; M11; SOM; MBS; NPH; M12; ISD; DKA; AVR; M13; RTR; GTC; DGM; M14; THS; BNG; JOU; M15; KTK; FRF
Banned:Ancestral Vision; Ancient Den; Birthing Pod; Blazing Shoal; Bloodbraid Elf; Chrome Mox; Cloudpost; Dark Depths; Deathrite Shaman; Dig Through Time; Dread Return; Glimpse of Nature; Great Furnace; Green Sun's Zenith; Hypergenesis; Jace, the Mind Sculptor; Mental Misstep; Ponder; Preordain; Punishing Fire; Rite of Flame; Seat of the Synod; Second Sunrise; Seething Song; Sensei's Divining Top; Stoneforge Mystic; Skullclamp; Sword of the Meek; Treasure Cruise; Tree of Tales; Umezawa's Jitte; Vault of Whispers

[Legacy]
Banned:Advantageous Proclamation; Amulet of Quoz; Ancestral Recall; Backup Plan; Balance; Bazaar of Baghdad; Black Lotus; Black Vise; Brago's Favor; Bronze Tablet; Channel; Chaos Orb; Contract from Below; Darkpact; Demonic Attorney; Demonic Consultation; Demonic Tutor; Double Stroke; Earthcraft; Falling Star; Fastbond; Flash; Frantic Search; Goblin Recruiter; Gush; Hermit Druid; Immediate Action; Imperial Seal; Iterative Analysis; Jeweled Bird; Library of Alexandria; Mana Crypt; Mana Drain; Mana Vault; Memory Jar; Mental Misstep; Mind Twist; Mind's Desire; Mishra's Workshop; Mox Emerald; Mox Jet; Mox Pearl; Mox Ruby; Mox Sapphire; Muzzio's Preparations; Mystical Tutor; Necropotence; Oath of Druids; Power Play; Rebirth; Secret Summoning; Secrets of Paradise; Sentinel Dispatch; Shahrazad; Skullclamp; Sol Ring; Strip Mine; Survival of the Fittest; Tempest Efreet; Time Vault; Time Walk; Timetwister; Timmerian Fiends; Tinker; Tolarian Academy; Treasure Cruise; Unexpected Potential; Vampiric Tutor; Wheel of Fortune; Windfall; Worldknit; Yawgmoth's Bargain; Yawgmoth's Will

[Vintage]
Banned:Advantageous Proclamation; Amulet of Quoz; Backup Plan; Brago's Favor; Bronze Tablet; Chaos Orb; Contract from Below; Darkpact; Demonic Attorney; Double Stroke; Falling Star; Immediate Action; Iterative Analysis; Jeweled Bird; Muzzio's Preparations; Power Play; Rebirth; Secret Summoning; Secrets of Paradise; Sentinel Dispatch; Shahrazad; Tempest Efreet; Timmerian Fiends; Unexpected Potential; Worldknit
Restricted:Ancestral Recall; Balance; Black Lotus; Brainstorm; Channel; Demonic Consultation; Demonic Tutor; Fastbond; Flash; Imperial Seal; Library of Alexandria; Lion's Eye Diamond; Lotus Petal; Mana Crypt; Mana Vault; Memory Jar; Merchant Scroll; Mind's Desire; Mox Emerald; Mox Jet; Mox Pearl; Mox Ruby; Mox Sapphire; Mystical Tutor; Necropotence; Ponder; Sol Ring; Strip Mine; Thirst for Knowledge; Time Vault; Time Walk; Timetwister; Tinker; Tolarian Academy; Treasure Cruise; Trinisphere; Vampiric Tutor; Wheel of Fortune; Windfall; Yawgmoth's Bargain; Yawgmoth's Will

[Commander]
Description:Each player has a legendary "General" card which can be cast at any time and determines deck colors.
Life:+20
Main:99
Side:0-10
Commander:*
MaxCardCopies:1

[Tiny Leaders]
Description:Each player has a legendary "General" card which can be cast at any time and determines deck colors. Each card must have CMC less or equal to 3.
Life:+5
Main:49
Side:0-10
Commander:!(Derevi, Empyrial Tactician; Erayo, Soratami Ascendant; Rofellos, Llanowar Emissary)
MaxCardCopies:1
CMC:0-1|30%; 2|35%; 3|35%
Banned:Ancestral Recall; Balance; Black Lotus; Black Vise; Channel; Chaos Orb; Contract From Below; Counterbalance; Darkpact; Demonic Attorney; Demonic Tutor; Earthcraft; Edric, Spymaster of Trest; Falling Star; Fastbond; Flash; Goblin Recruiter; Hermit Druid; Imperial Seal; Jeweled Bird; Karakas; Library of Alexandria; Mana Crypt; Mana Drain; Mana Vault; Metalworker; Mind Twist; Mishra's Workshop; Mox Emerald; Mox Jet; Mox Pearl; Mox Ruby; Mox Sapphire; Necropotence; Painter's Servant; Shahrazad; Skullclamp; Sol Ring; Strip Mine; Survival of the Fittest; Sword of Body and Mind; Time Vault; Time Walk; Timetwister; Timmerian Fiends; Tolarian Academy; Umezawa's Jitte; Vampiric Tutor; Wheel of Fortune; Yawgmoth's Will

[Pauper]
Description:Each player has a deck consisting of only commons.
Rarity:Common
Banned:Cloudpost; Cranial Plating; Empty the Warrens; Frantic Search; Grapeshot; Invigorate; Temporal Fissure

[Peasant]
Description:Each player has a deck consisting of up to 5 uncommons and the rest commons.
Rarity:Common; Uncommon|0-5
Banned:Bazaar of Baghdad; Brain Freeze; Cranial Plating; Demonic Consultation; Empty the Warrens; Frantic Search; Invigorate; Jeweled Bird; Library of Alexandria; Mana Drain; Skullclamp; Sol Ring; Strip Mine; Tendrils of Agony; Thopter Foundry

[Tribal Wars]
Description:Each player has a deck where at least a third of the deck is creatures with a shared creature type.
Tribe:*|33%
Banned:Arboria; Balance; Channel; Circle of Solace; Demonic Consultation; Demonic Tutor; Engineered Plague; Extinction; Fastbond; Flash; Imperial Seal; Library of Alexandria; Mana Crypt; Mana Vault; Mishra's Workshop; Moat; Necropotence; Peer Pressure; Skullclamp; Sol Ring; Stasis; Strip Mine; Survival of the Fittest; The Abyss; Time Vault; Tinker; Tolarian Academy; Tsabo's Decree; Umezawa's Jitte; Vampiric Tutor; Wheel of Fortune; Yawgmoth's Bargain; Yawgmoth's Will

[Momir Basic]
Description:Each player has a deck containing 60 basic lands and the Momir Vig avatar.
Main:Plains|12; Island|12; Swamp|12; Mountain|12; Forest|12
Avatar:Momir Vig, Simic Visionary Avatar
Looks like a very handy and useful feature! Thanks!

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Forge version 1.5.36

Postby drdev » 15 Feb 2015, 18:25

*deleted double-post
Last edited by drdev on 15 Feb 2015, 20:35, edited 1 time in total.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge version 1.5.36

Postby friarsol » 15 Feb 2015, 18:49

This will be great for all the Forge tinkerers who want some more flexibility in the variants.

Some comments:
1) Mulligan would be a good extra parameter, since Commander uses Partial Paris, but others might have different ones.
2) Can you still play Momir Basic with any deck of only basic lands?
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge version 1.5.36

Postby drdev » 15 Feb 2015, 20:35

friarsol wrote:This will be great for all the Forge tinkerers who want some more flexibility in the variants.

Some comments:
1) Mulligan would be a good extra parameter, since Commander uses Partial Paris, but others might have different ones.
2) Can you still play Momir Basic with any deck of only basic lands?
Already added FreeMulligan as parameter. I can change that to just Mulligan with a string type parameter, but currently we only support free mulligan as a boolean in the code.

Yes, Momir Basic can still be played that way using Vanguard and a custom built deck as before, but now you can just edit variants.txt if you want to change the deck breakdown. Eventually I'd hope to create a Variant Editor in Forge that could facilitate creating your own custom variants/formats with specific sets, banned lists, life/hand adjustments, etc.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge version 1.5.36

Postby elcnesh » 17 Feb 2015, 08:55

Ok, so I've just committed the change that allows multiple games to be played simultaneously (desktop only). It's rather large, so I hope people can give it a good shake before the next beta release, to iron out any bugs (although my tests so far have been really stable). I've fixed all the bugs that I mentioned in the other thread earlier.

Note that there's a lot of code duplication in the selection code (SGuiChoose vs AbstractGuiGame). I'm still looking for a way to get rid of this, but the former is static while the latter is an abstract base class, so I'm not sure how to do that elegantly. Fixing this shouldn't change any functionality though, so it doesn't really matter for testing.

PS: in the meantime I've also fixed Ripple, as it was causing crashes during my testing :P
elcnesh
 
Posts: 290
Joined: 16 May 2014, 15:11
Location: Netherlands
Has thanked: 34 times
Been thanked: 92 times

Re: Forge version 1.5.36

Postby Agetian » 17 Feb 2015, 10:47

elcnesh wrote:Ok, so I've just committed the change that allows multiple games to be played simultaneously (desktop only). It's rather large, so I hope people can give it a good shake before the next beta release, to iron out any bugs (although my tests so far have been really stable). I've fixed all the bugs that I mentioned in the other thread earlier.
Congrats on getting such a huge overhaul complete!
Here's some initial testing: I updated to the latest SVN build and the first thing I got in the very first match (right at its start) was this exception:

NullPointerException | Open
Code: Select all
Forge Version:    SVN
Operating System: Linux 3.8.0-26-generic amd64
Java Version:     1.7.0_51 Oracle Corporation

java.lang.NullPointerException
   at forge.match.AbstractGuiGame.mayView(AbstractGuiGame.java:100)
   at forge.view.arcane.CardPanel.doLayout(CardPanel.java:330)
   at forge.view.arcane.CardPanel.setImage(CardPanel.java:187)
   at forge.view.arcane.CardPanel.updateImage(CardPanel.java:164)
   at forge.view.arcane.CardPanel.setCard(CardPanel.java:549)
   at forge.view.arcane.CardPanel.<init>(CardPanel.java:103)
   at forge.screens.match.controllers.CHand.updateHand(CHand.java:144)
   at forge.screens.match.CMatchUI.updateZones(CMatchUI.java:412)
   at forge.control.FControlGameEventHandler$1.run(FControlGameEventHandler.java:132)
   at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
   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.awt.EventQueue.dispatchEvent(EventQueue.java:703)
   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)
It wasn't fatal though, I was able to continue playing past that point.

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Forge version 1.5.36

Postby elcnesh » 17 Feb 2015, 12:45

Fixed!
elcnesh
 
Posts: 290
Joined: 16 May 2014, 15:11
Location: Netherlands
Has thanked: 34 times
Been thanked: 92 times

Re: Forge version 1.5.36

Postby Agetian » 18 Feb 2015, 16:18

I think that after the latest GUI refactoring, the location where creatures are visualized on the battlefield has changed - right now, for the top player, creatures are displayed in a row above lands, which is unusual because before the refactoring, top player's creatures were displayed in a row below lands, "against" the bottom player's creatures (which looked good in combat, I think). Now my eyes have to constantly shift up to look at the row above lands, which is a little awkward in combat with the targeting arrows crossing the lands and stuff.

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Forge version 1.5.36

Postby elcnesh » 18 Feb 2015, 16:35

Huh, that's weird... Didn't even change anything related to that as far as I know. I'll investigate :)

(OTOH, if that's the worst bug this refactoring brings, I'm more than happy!!)
elcnesh
 
Posts: 290
Joined: 16 May 2014, 15:11
Location: Netherlands
Has thanked: 34 times
Been thanked: 92 times

Re: Forge version 1.5.36

Postby kudit » 18 Feb 2015, 18:17

elcnesh wrote:(OTOH, if that's the worst bug this refactoring brings, I'm more than happy!!)
:-) like
Please give feedback on our card database at http://www.deckmaster.info
Send comments via PM here or info@deckmaster.info
User avatar
kudit
 
Posts: 178
Joined: 17 Apr 2014, 16:55
Has thanked: 151 times
Been thanked: 17 times

Next

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 39 guests


Who is online

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

Login Form