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
by Chris H. » 14 Feb 2015, 21:32
Tentative target release date: February 28 2015.
-
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
by 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
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
by Hanmac » 15 Feb 2015, 16:35
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?drdev wrote:I just finished implementing initial support for the Tiny Leaders format.
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
Re: Forge version 1.5.36
by drdev » 15 Feb 2015, 16:55
Adding format filtering is something I've wanted to do, so maybe this as good a time as any to do it.Hanmac wrote: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?drdev wrote:I just finished implementing initial support for the Tiny Leaders format.
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
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Forge version 1.5.36
by 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?
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
by Agetian » 15 Feb 2015, 18:12
Looks like a very handy and useful feature! Thanks!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
- Agetian
- Agetian
- Programmer
- Posts: 3472
- Joined: 14 Mar 2011, 05:58
- Has thanked: 677 times
- Been thanked: 561 times
Re: Forge version 1.5.36
by 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?
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
by drdev » 15 Feb 2015, 20:35
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.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?
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
by 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
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
- 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
by Agetian » 17 Feb 2015, 10:47
Congrats on getting such a huge overhaul complete!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.
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)
- Agetian
- Agetian
- Programmer
- Posts: 3472
- Joined: 14 Mar 2011, 05:58
- Has thanked: 677 times
- Been thanked: 561 times
Re: Forge version 1.5.36
by 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
- Agetian
- Programmer
- Posts: 3472
- Joined: 14 Mar 2011, 05:58
- Has thanked: 677 times
- Been thanked: 561 times
Re: Forge version 1.5.36
by 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!!)
(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
by kudit » 18 Feb 2015, 18:17
likeelcnesh wrote:(OTOH, if that's the worst bug this refactoring brings, I'm more than happy!!)
Please give feedback on our card database at http://www.deckmaster.info
Send comments via PM here or info@deckmaster.info
Send comments via PM here or info@deckmaster.info
21 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 38 guests