It is currently 07 Jul 2025, 04:05
   
Text Size

Forge Android App: 11-13-2016 Alpha 1.5.58.002

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

Re: Forge Android App: 12-05-2014 Alpha 1.5.32.006

Postby Traldar » 14 Dec 2014, 01:09

Hey Dan!

This looks fantastic!! I really like the concept!

Just one question regarding booster wins:

drdev wrote:
  • Open a random booster pack. Such packs are guaranteed to have at least one card you haven't previously unlocked, and will only pull from the current region's pool. Each rarity also has a configurable "re-roll chance", which makes it so if a card of that rarity is selected for a pack and you already own it, there's a chance that another card of that rarity will be randomly selected in its place. This repeats until the re-roll fails or the card is new. The default re-roll chances are 10%, 25%, 50%, and 100% for Common, Uncommon, Rare, and Mythic respectively. You can also configure the rarity breakdown of a pack and the chance of a Rare being replaced with a Mythic.
You mean, opening a booster will always unlock at least one card, and all cards openened in a booster will be cards I don't have (since it only makes sense to unlock one singleton)? If I unlocked all cards from a region, there will be no more rewards from fighting there (unless, of course, WotC releases new cards and those are included in a region)? How many cards do you calculate will be in a region? Also, I remember reading somewhere that when you unlock a new commander he brings with him a set of new spells that commander knows, so that's yet another way of unlocking cards, correct?

Cheers and thank you again!
Traldar
Traldar
 
Posts: 36
Joined: 24 Feb 2014, 02:39
Has thanked: 5 times
Been thanked: 3 times

Re: Forge Android App: 12-05-2014 Alpha 1.5.32.006

Postby drdev » 14 Dec 2014, 04:22

When you open a booster, you'll receive between 1 and 15 new cards. Cards that aren't new will not be shown, as they aren't relevant. As a general rule, the more cards you unlock in a region, the fewer cards you'll unlock with each booster, as the odds of a booster slot receiving a duplicate increases. That's why the re-roll chance exists, to help reduce the rate at which the boosters decrease in size. It's also why higher rarities have a higher re-roll chance, as they also appear in fewer booster pack slots. Does that clear things up?

As for when you unlock all cards in a region, I'm currently thinking it will just award a random new card from the overall plane, and then a random new card from among all unlocked planes if you've already unlocked all cards in the current plane.

As for the size of regions, keep in mind that many cards will appear in multiple regions. For example, in Alara, mono-white cards will appear in Bant, Esper, and Naya regions. White-Blue cards (like Gwafa Hazid, Profiteer) will appear in both Bant and Esper. Artifacts and 5-color cards (like Child of Alara) will appear in all 5 regions. More specifically, as I have things set up, Alara has the following region breakdown:

Entire Plane - 524 cards (3 sets)
Bant - 244 cards
Esper - 243 cards
Grixis - 241 cards
Jund - 240 cards
Naya - 246 cards

Other regions span even more sets, such as Ravnica and Mirrodin which each span 6 sets, and Dominaria which spans 18 sets (where each of its 6 regions is actually a block with 3 sets).

To you last question, yes, when you unlock a new commander, you unlock all cards in the deck he/she comes with. How many end up being new will vary as some cards in the deck will likely be cards you already unlocked.

EDIT: Here's a screenshot that showcases new labels I've added indicating how many cards you've unlocked in the current plane and region, as well as your record in the current plane and region.

CommandCenter.png
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 12-05-2014 Alpha 1.5.32.006

Postby bevryde » 14 Dec 2014, 14:45

drdev wrote:Also note that, like the picture vs. detail toggle, this one vs. three card toggle is remembered the next time you open the card zoom view.

BigZoomView.png

Let me know if this will satisfy your desire to have the card take up maximum screen real-estate.
Perfect! Great you have it remember the setting.
User avatar
bevryde
 
Posts: 109
Joined: 06 Aug 2014, 04:01
Has thanked: 3 times
Been thanked: 2 times

Re: Forge Android App: 12-05-2014 Alpha 1.5.32.006

Postby Traldar » 14 Dec 2014, 23:57

Very good, Dan!

Regarding Recruit and Research, can you direct the hunt by specifying a major color you are looking for, besides being in a region?
So, for instance, if you Recruit in Alara/Bant, and pick "White" you have a higher probability of getting a white card (if you pick Red, however, nothing happens). What do you think?

Also, how many planes and regions do you plan initially? Do you need any help setting those up?

Cheers,
Traldar
Traldar
 
Posts: 36
Joined: 24 Feb 2014, 02:39
Has thanked: 5 times
Been thanked: 3 times

Re: Forge Android App: 12-05-2014 Alpha 1.5.32.006

Postby drdev » 15 Dec 2014, 00:27

Traldar wrote:Very good, Dan!

Regarding Recruit and Research, can you direct the hunt by specifying a major color you are looking for, besides being in a region?
So, for instance, if you Recruit in Alara/Bant, and pick "White" you have a higher probability of getting a white card (if you pick Red, however, nothing happens). What do you think?

Also, how many planes and regions do you plan initially? Do you need any help setting those up?

Cheers,
Traldar
I've already coded planes and regions for every set besides core sets after 4ED and special sets (although a couple of planes still needs regions). The breakdown looks like this (the enum should be pretty simple to interpret but let me know if you have questions of ideas for tweaks.

ConquestPlane enum | Open
Code: Select all
    Alara("Alara", new String[] {
            "ALA", "CON", "ARB"
    }, new Region[] {
            new Region("Bant {G}{W}{U}", "Seaside Citadel", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN | MagicColor.WHITE | MagicColor.BLUE),
                    new String[] { "Bant" }),
            new Region("Esper {W}{U}{B}", "Arcane Sanctum", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE | MagicColor.BLUE | MagicColor.BLACK),
                    new String[] { "Esper" }),
            new Region("Grixis {U}{B}{R}", "Crumbling Necropolis", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE | MagicColor.BLACK | MagicColor.RED),
                    new String[] { "Grixis" }),
            new Region("Jund {B}{R}{G}", "Savage Lands", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK | MagicColor.RED | MagicColor.GREEN),
                    new String[] { "Jund" }),
            new Region("Naya {R}{G}{W}", "Jungle Shrine", CardRulesPredicates.hasColorIdentity(MagicColor.RED | MagicColor.GREEN | MagicColor.WHITE),
                    new String[] { "Naya" })
    }),
    Dominaria("Dominaria", new String[] {
            "ICE", "ALL", "CSP",
            "USG", "ULG", "UDS",
            "INV", "PLS", "APC",
            "ODY", "TOR", "JUD",
            "ONS", "LGN", "SCG",
            "TSP", "PLC", "FUT"
    }, new Region[] {
            new Region("Ice Age", "Dark Depths", inSet("ICE", "ALL", "CSP")),
            new Region("Urza's Saga", "Tolarian Academy", inSet("USG", "ULG", "UDS")),
            new Region("Invasion", "Legacy Weapon", inSet("INV", "PLS", "APC")),
            new Region("Odyssey", "Cabal Coffers", inSet("ODY", "TOR", "JUD")),
            new Region("Onslaught", "Grand Coliseum", inSet("ONS", "LGN", "SCG")),
            new Region("Time Spiral", "Vesuva", inSet("TSP", "TSB", "PLC", "FUT"))
    }),
    Innistrad("Innistrad", new String[] {
            "ISD", "DKA", "AVR"
    }, new Region[] {
            new Region("Moorland {W}{U}", "Moorland Haunt", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE | MagicColor.BLUE),
                    new String[] { "Moorland" }),
            new Region("Nephalia {U}{B}", "Nephalia Drownyard", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE | MagicColor.BLACK),
                    new String[] { "Nephalia" }),
            new Region("Stensia {B}{R}", "Stensia Bloodhall", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK | MagicColor.RED),
                    new String[] { "Stensia" }),
            new Region("Kessig {R}{G}", "Kessig Wolf Run", CardRulesPredicates.hasColorIdentity(MagicColor.RED | MagicColor.GREEN),
                    new String[] { "Kessig" }),
            new Region("Gavony {G}{W}", "Gavony Township", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN | MagicColor.WHITE),
                    new String[] { "Gavony" })
    }),
    Jamuraa("Jamuraa", new String[] {
            "MIR", "VIS", "WTH"
    }, new Region[] {
            new Region("Karoo {W}", "Karoo", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE),
                    new String[] { "Karoo" }),
            new Region("Coral Atoll {U}", "Coral Atoll", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE),
                    new String[] { "Coral" }),
            new Region("Everglades {B}", "Everglades", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK),
                    new String[] { "Everglades" }),
            new Region("Dormant Volcano {R}", "Dormant Volcano", CardRulesPredicates.hasColorIdentity(MagicColor.RED),
                    new String[] { "Volcano" }),
            new Region("Jungle Basin {G}", "Jungle Basin", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN),
                    new String[] { "Jungle" })
    }),
    Kamigawa("Kamigawa", new String[] {
            "CHK", "BOK", "SOK"
    }, new Region[] {
            new Region("Towabara {W}", "Eiganjo Castle", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE),
                    new String[] { "Towabara", "Eiganjo", "Plains" }),
            new Region("Minamo Academy {U}", "Minamo, School at Water's Edge", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE),
                    new String[] { "Minamo", "Water", "Island" }),
            new Region("Takenuma {B}", "Shizo, Death's Storehouse", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK),
                    new String[] { "Takenuma", "Shizo", "Swamp" }),
            new Region("Sokenzan Mountains {R}", "Shinka, the Bloodsoaked Keep", CardRulesPredicates.hasColorIdentity(MagicColor.RED),
                    new String[] { "Sokenzan", "Shinka", "Mountain" }),
            new Region("Jukai Forest {G}", "Okina, Temple to the Grandfathers", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN),
                    new String[] { "Jukai", "Okina", "Forest" })
    }),
    LorwynShadowmoor("Lorwyn-Shadowmoor", new String[] {
            "LRW", "MOR", "SHM", "EVE"
    }, new Region[] {
            new Region("Ancient Amphitheater {R}{W}", "Ancient Amphitheater", CardRulesPredicates.hasCreatureType("Giant"),
                    new String[] { }),
            new Region("Auntie's Hovel {B}{R}", "Auntie's Hovel", CardRulesPredicates.hasCreatureType("Goblin"),
                    new String[] { "Auntie", "Boggart", "Hobgoblin", "Redcap", "Spriggan" }),
            new Region("Gilt-Leaf Palace {B}{G}", "", CardRulesPredicates.hasCreatureType("Elf"),
                    new String[] { "Gilt-Leaf", "Elves", "Wilt-Leaf" }),
            new Region("Murmuring Bosk {W}{B}{G}", "Murmuring Bosk", CardRulesPredicates.hasCreatureType("Treefolk"),
                    new String[] { "Bosk", "Treefolk" }),
            new Region("Primal Beyond {W}{U}{B}{R}{G}", "Primal Beyond", CardRulesPredicates.hasCreatureType("Elemental"),
                    new String[] { "Elemental", "Flamekin", "Tanufel", "Cinder", "Kulrath" }),
            new Region("Rustic Clachan {W}", "Rustic Clachan", CardRulesPredicates.hasCreatureType("Kithkin"),
                    new String[] { "Ballynock", "Ballyrush", "Barrenton", "Burrenton", "Cloverdell", "Goldmeadow", "Kinsbaile", "Kinscaer", "Mistmeadow" }),
            new Region("Secluded Glen {U}{B}", "Secluded Glen", CardRulesPredicates.hasCreatureType("Faerie"),
                    new String[] { "Glen", "Oona", "Fae" }),
            new Region("Wanderwine Hub {W}{U}", "Wanderwine Hub", CardRulesPredicates.hasCreatureType("Merfolk"),
                    new String[] { "Merrow", "Selkie", "Pirate" }),
    }),
    Mercadia("Mercadia", new String[] {
            "MMQ", "NEM", "PCY"
    }, new Region[] {
            new Region("Fountain of Cho {W}", "Fountain of Cho", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE),
                    new String[] { "Cho" }),
            new Region("Saprazzan Cove {U}", "Saprazzan Cove", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE),
                    new String[] { "Saprazzan", "Saprazzo" }),
            new Region("Subterranean Hangar {B}", "Subterranean Hangar", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK),
                    new String[] { "Subterranean" }),
            new Region("Mercadian Bazaar {R}", "Mercadian Bazaar", CardRulesPredicates.hasColorIdentity(MagicColor.RED),
                    new String[] { "Mercadian" }),
            new Region("Rushwood Grove {G}", "Rushwood Grove", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN),
                    new String[] { "Rushwood" })
    }),
    Mirrodin("Mirrodin", new String[] {
            "MRD", "DST", "5DN", "SOM", "MBS", "NPH"
    }, new Region[] {
            new Region("Panopticon {X}", "Darksteel Citadel", CardRulesPredicates.Presets.IS_ARTIFACT,
                    new String[] { "Darksteel"  }),
            new Region("Taj-Nar {W}", "Ancient Den", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE),
                    new String[] { "Razor", "Fields", "Plains" }),
            new Region("Lumengrid {U}", "Seat of the Synod", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE),
                    new String[] { "Quicksilver", "Sea", "Island" }),
            new Region("Ish Sah {B}", "Vault of Whispers", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK),
                    new String[] { "Dross", "Mephidross" }),
            new Region("Kuldotha {R}", "Great Furnace", CardRulesPredicates.hasColorIdentity(MagicColor.RED),
                    new String[] { "Oxidda", "Chain", "Mountain" }),
            new Region("Tel-Jilad {G}", "Tree of Tales", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN),
                    new String[] { "Tangle", "Forest" }),
            new Region("Glimmervoid {W}{U}{B}{R}{G}", "Glimmervoid", CardRulesPredicates.hasKeyword("Sunburst"),
                    new String[] { "Glimmervoid" }),
    }),
    Rath("Rath", new String[] {
            "TMP", "STH", "EXO"
    }, new Region[] {
            new Region("Caldera Lake {U}{R}", "Caldera Lake", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE | MagicColor.RED),
                    new String[] { "Caldera" }),
            new Region("Cinder Marsh {B}{R}", "Cinder Marsh", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK | MagicColor.RED),
                    new String[] { "Cinder", "Marsh" }),
            new Region("Mogg Hollows {R}{G}", "Mogg Hollows", CardRulesPredicates.hasColorIdentity(MagicColor.RED | MagicColor.GREEN),
                    new String[] { "Mogg", "Hollow" }),
            new Region("Pine Barrens {B}{G}", "Pine Barrens", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK | MagicColor.GREEN),
                    new String[] { "Barrens" }),
            new Region("Rootwater Depths {U}{B}", "Rootwater Depths", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE | MagicColor.BLACK),
                    new String[] { "Rootwater" }),
            new Region("Salt Flats {W}{B}", "Salt Flats", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE | MagicColor.BLACK),
                    new String[] { "Salt Flat" }),
            new Region("Scabland {R}{W}", "Scabland", CardRulesPredicates.hasColorIdentity(MagicColor.RED | MagicColor.WHITE),
                    new String[] { "Scabland" }),
            new Region("Skyshroud Forest {G}{U}", "Skyshroud Forest", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN | MagicColor.BLUE),
                    new String[] { "Skyshroud" }),
            new Region("Thalakos Lowlands {W}{U}", "Thalakos Lowlands", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE | MagicColor.BLUE),
                    new String[] { "Thalakos" }),
            new Region("Vec Townships {G}{W}", "Vec Townships", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN | MagicColor.WHITE),
                    new String[] { "Vec" })
    }),
    Ravnica("Ravnica", new String[] {
            "RAV", "GPT", "DIS", "RTR", "GTC", "DGM"
    }, new Region[] {
            new Region("Azorius Chancery {W}{U}", "Azorius Chancery", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE | MagicColor.BLUE),
                    new String[] { "Azorius" }),
            new Region("Boros Garrison {R}{W}", "Boros Garrison", CardRulesPredicates.hasColorIdentity(MagicColor.RED | MagicColor.WHITE),
                    new String[] { "Boros" }),
            new Region("Dimir Aqueduct {U}{B}", "Dimir Aqueduct", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE | MagicColor.BLACK),
                    new String[] { "Dimir" }),
            new Region("Golgari Rot Farm {B}{G}", "Golgari Rot Farm", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK | MagicColor.GREEN),
                    new String[] { "Golgari" }),
            new Region("Gruul Turf {R}{G}", "Gruul Turf", CardRulesPredicates.hasColorIdentity(MagicColor.RED | MagicColor.GREEN),
                    new String[] { "Gruul" }),
            new Region("Izzet Boilerworks {U}{R}", "Izzet Boilerworks", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE | MagicColor.RED),
                    new String[] { "Izzet" }),
            new Region("Orzhov Basilica {W}{B}", "Orzhov Basilica", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE | MagicColor.BLACK),
                    new String[] { "Orzhov" }),
            new Region("Rakdos Carnarium {R}{B}", "Rakdos Carnarium", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK | MagicColor.RED),
                    new String[] { "Rakdos" }),
            new Region("Selesnya Sanctuary {G}{W}", "Selesnya Sanctuary", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN | MagicColor.WHITE),
                    new String[] { "Selesnya" }),
            new Region("Simic Growth Chamber {G}{U}", "Simic Growth Chamber", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN | MagicColor.BLUE),
                    new String[] { "Simic" })
    }),
    Shandalar("Shandalar", new String[] {
            "2ED", "3ED", "4ED", "ARN", "ATQ", "LEG", "DRK"
    }, new Region[] {
            new Region("Core", "Black Lotus", inSet("2ED", "3ED", "4ED")),
            new Region("Arabian Nights", "Library of Alexandria", inSet("ARN")),
            new Region("Antiquities", "Mishra's Workshop", inSet("ATQ")),
            new Region("Legends", "Karakas", inSet("LEG")),
            new Region("The Dark", "City of Shadows", inSet("DRK"))
    }),
    Tarkir("Tarkir", new String[] {
            "KTK", "FRF", "DTK"
    }, new Region[] {
            new Region("Abzan Houses {W}{B}{G}", "Sandsteppe Citadel", CardRulesPredicates.hasColorIdentity(MagicColor.WHITE | MagicColor.BLACK | MagicColor.GREEN),
                    new String[] { "Abzan", "House", "Citadel", "Arashin", "Wastes", "Mer-Ek" }),
            new Region("Jeskai Way {U}{R}{W}", "Mystic Monastery", CardRulesPredicates.hasColorIdentity(MagicColor.BLUE | MagicColor.RED | MagicColor.WHITE),
                    new String[] { "Jeskai", "Way", "Mystic", "Monastery", "Stronghold", "Purugir" }),
            new Region("Mardu Horde {R}{W}{B}", "Nomad Outpost", CardRulesPredicates.hasColorIdentity(MagicColor.RED | MagicColor.WHITE | MagicColor.BLACK),
                    new String[] { "Mardu", "Horde", "Nomad", "Outpost", "Wingthrone", "Goldengrave", "Scour", "Screamreach" }),
            new Region("Sultai Brood {B}{G}{U}", "Opulent Palace", CardRulesPredicates.hasColorIdentity(MagicColor.BLACK | MagicColor.GREEN | MagicColor.BLUE),
                    new String[] { "Sultai", "Brood", "Opulent", "Palace", "Sagu", "Jungle", "Kheru", "Gudul", "Gurmag", "Marang" }),
            new Region("Temur Frontier {G}{U}{R}", "Frontier Bivouac", CardRulesPredicates.hasColorIdentity(MagicColor.GREEN | MagicColor.BLUE | MagicColor.RED),
                    new String[] { "Temur", "Frontier", "Bivouac", "Qal Sisma", "Dragon's Throat", "Karakyk Valley", "Staircase of Bones" })
    }),
    Theros("Theros", new String[] {
            "THS", "BNG", "JOU"
    }, new Region[] {
            new Region("", "", null,
                    new String[] { }),
    }),
    Ulgrotha("Ulgrotha", new String[] {
            "HML"
    }, new Region[] {
            new Region("", "", null,
                    new String[] { }),
    }),
    Zendikar("Zendikar", new String[] {
            "ZEN", "WWK", "ROE"
    }, new Region[] {
            new Region("", "", null,
                    new String[] { }),
    }
As for picking a color, there are planes where regions are only a single color, plus I think between getting to choose creature vs. spell and the region, that's plenty of control.
Last edited by drdev on 15 Dec 2014, 04:34, 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 Android App: 12-14-2014 Alpha 1.5.32.007

Postby drdev » 15 Dec 2014, 04:33

It took some work following the recent bump to libgdx 1.5.0, but I finally managed to get a new Android build up. I've released 1.5.32.007, which contains the new large card zoom support I've mentioned earlier, as well as other recent fixes added for both desktop and mobile versions.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 12-14-2014 Alpha 1.5.32.007

Postby Traldar » 15 Dec 2014, 11:06

Very good, Dan!

It's almost complete, I see.

What about the core set cards how can one obtain them?

Cheers,
Traldar
Traldar
 
Posts: 36
Joined: 24 Feb 2014, 02:39
Has thanked: 5 times
Been thanked: 3 times

Re: Forge Android App: 12-14-2014 Alpha 1.5.32.007

Postby drdev » 15 Dec 2014, 14:29

5ED-10ED are all reprints, so it's mostly just Magic 2010-2014 where there's cards to be gotten. That said, I'm thinking of just adding 3 more special "planes" that are just collections of sets. One for 5ED-10ED, one for Magic 2010-2014, and one for special sets (including the Commander sets). If you have thoughts for the names to use for those planes, let me know.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 12-14-2014 Alpha 1.5.32.007

Postby jureidinim » 15 Dec 2014, 16:54

Great work on the new mode. I enjoyed reading your detailed write up on what it will include.

Two things though I would ask about:

1) I'm not seeing a difference between Attack action and the defense action. Selecting either seems to just trigger a match with the same victory benefits and no penalties on a loss. If thats the case, could you make the defense action become like a RAID action being done by the enemy commander , and is only randomly triggered when you are NOT attacking.
So for example if you choose to do RESEARCH with a commander, there is a (random) chance that an enemy commander initiates a RAID on you - Now the player is forced to do one of two things:
a) Ignore the RAID and continue research. Research completes as per normal but the enemy commander steals one (or two?) cards from you.
b) Stop research and take a defense action to try and beat the Raid. Winning will give the usual bonuses as you have listed but losing would still have you lose card.

NOTE: you do not lose a card if you lost a match which was initiated by the player - ie. taking an ATTACK action.

2) Alternate victory. The victory conditions you have outlined is to collect all cards for the plane/set(?). would it be possible to do alternatives to that - say for each plane, there is a one (two, three??? depends on difficulty) rare artifacts to find.
These can ONLY be found through combat - never research. It doesn't even have to be a card but some <named item> that is randomly dropped after a fight (of course it would start at 0% and SLOWLY increase in probability to be found - maybe making significant increases only after beating X opponents).
This would give an alternate game setup which may allow varied game playthroughs instead of playing to collect every card every time you play this mode.

Just my 0.02 cents . :D

But I am very excited to try this mode out when you release it. Keep up the great work!.
jureidinim
 
Posts: 53
Joined: 07 Feb 2014, 04:41
Has thanked: 3 times
Been thanked: 4 times

Re: Forge Android App: 12-14-2014 Alpha 1.5.32.007

Postby drdev » 15 Dec 2014, 21:58

@jureidinim, thank you for the feedback. I must say it got me thinking, and I've decided I need to rework some things. Mostly, I'm worried that I haven't captured the flavor of a "Planar Conquest" without having an actual map to conquer. I also feel I should involve actual Planeswalkers in the game, and not just legendary creatures. Otherwise, the idea of traveling between planes doesn't really work. Plus, now that it's not just all Commander games, having everything tied to commanders feel like an unnecessary restriction.

I do apologize for anyone that was excited for getting something soon, but I don't want to rush out a game mode that falls flat. The good news is I should be able to use a lot of what I've already done towards my new idea, so it shouldn't take too much longer hopefully.

Obviously, any ideas from the community are most welcome.

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

Re: Forge Android App: 12-14-2014 Alpha 1.5.32.007

Postby Marek14 » 15 Dec 2014, 23:04

drdev wrote:5ED-10ED are all reprints, so it's mostly just Magic 2010-2014 where there's cards to be gotten. That said, I'm thinking of just adding 3 more special "planes" that are just collections of sets. One for 5ED-10ED, one for Magic 2010-2014, and one for special sets (including the Commander sets). If you have thoughts for the names to use for those planes, let me know.
Well, Magic 2015 is the current set and we know that Wizards plan to discontinue this line of sets after Magic 2016 next year.
Marek14
Tester
 
Posts: 2772
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 302 times

Re: Forge Android App: 12-14-2014 Alpha 1.5.32.007

Postby jureidinim » 15 Dec 2014, 23:37

drdev wrote:@jureidinim, thank you for the feedback. I must say it got me thinking, and I've decided I need to rework some things. Mostly, I'm worried that I haven't captured the flavor of a "Planar Conquest" without having an actual map to conquer. I also feel I should involve actual Planeswalkers in the game, and not just legendary creatures. Otherwise, the idea of traveling between planes doesn't really work. Plus, now that it's not just all Commander games, having everything tied to commanders feel like an unnecessary restriction.

I do apologize for anyone that was excited for getting something soon, but I don't want to rush out a game mode that falls flat. The good news is I should be able to use a lot of what I've already done towards my new idea, so it shouldn't take too much longer hopefully.

Obviously, any ideas from the community are most welcome.

Thanks.
-Dan
Didn't mean to derail you.. lol.. release when you are ready - but you can always add as you go.. even change direction if you think its needed.. I don't think any of us players are going to complain about that :-)
Please do not remove the random match types (planeschase/commander/etc) - thats one of the things I am looking forward to in this new mode.

A map would be great - but I know that has a lot of complexity all on its own to implement properly. You can add that at a later date if it will be too much trouble now.

The find Artifact (card or otherwise) suggestion I made could be one way to give a goal.

Another simpler way could be maybe a points system?
I noticed you mentioned that planes can be divided into regions and there are commanders you fight in each region. Also you say the decks would get stronger the more fights you win.
So, Could you then do a points system such as:
(..and I'm just throwing numbers out here..)

a) +5 per victory (increases as the AI level -deck construction - increases during the game)
b) -2 per loss (this penalty also increases against harder AI decks)
c) Every X days you lose Y points (could also increase this "Y" penalty the more points you have)
d) Once you reach/exceed Z points you have conquered the plane.

Hopefully, something like this would create a tug-of-war feel. If you do well in one region (A) and haven't fought much in another (B), you may decide to go for for that big fight in (A) hoping for the bigger success score - risking of course a loss which would set you back further (as the penalties are also higher).
The "every X days lose Y points" would make it so that the player always has to keep the fight going and ties in your desire to have players try and complete the campaign in the fastest possible time. Flavor-wise it could just represent the enemy retaking lost ground while the player is "camping". The "Y" increasing would keep some pressure on the player to not sit around too long doing nothing but research :)
jureidinim
 
Posts: 53
Joined: 07 Feb 2014, 04:41
Has thanked: 3 times
Been thanked: 4 times

Re: Forge Android App: 12-14-2014 Alpha 1.5.32.007

Postby Traldar » 16 Dec 2014, 02:00

Hey Dan, we'd love to test it sooner, but take your time. :)

In the past I had a couple of ideas for a Planar Conquest mode, I just did't mention them because I thought it wasn't relevant.

Here's my initial draft:
https://docs.google.com/document/d/1V8M ... sp=sharing

I know it's quite different from standard MTG, and I belive it would be somewhat hard to implement in Forge, but my idea had enough items in common with yours that I was happy enough playing your version of Planar Conquest.

Here are some ideas for small changes to increment your current concept:

  • Pick a planeswalker card to represent your Planeswalker (leader), who has one or more Commanders at his disposal, the card can be used in any Commander decks you build, providing the color identity matches, indicating the Planeswalker can always support his commanders in a battle. (I am not sure if Forge already allows you to play with a Planeswalker as a commander)
  • Each battle you win weakens enemy presence and strenghtens yours, filling a bar indicating how much of that region has been conquered (control points). If you lose too many battles you may end up losing points in the bar. Filling the bar unlocks certain mythic cards, that can be usable in your decks only if you retain the control over that region. If you don't do battle in a region for too long, you may be challenged by a new strong army, and if you lose of ignore it, you may lose control points on that region. Regions without a commander deployed will lose control points over time.
  • Have certain hard battles over a card (perhaps a rare of mythic land, artifact, enchantment, creature or even another PW), if you win, you unlock that card permanently.
  • Each plane is governed by a Planeswalker that must be defeated in battle before the plane is fully conquered. If you attempt to fight his Supreme Commander too early, the chances of success are too slim (perhaps allow him to use some permanent Archenemy schemas). His power will dwindle if you conquer the other regions first (perhaps disabling some of the Archenemy schemas)

BTW, I like the idea of having a Core sets plane, as it would give use even more to explore, but for the sake of simplicity I'd append the respective core to the block that was released just after it (for instance M14 would be added to the Theros block, M15 to KTK and so on).

Cheers, and keep up the good work!
Traldar
Traldar
 
Posts: 36
Joined: 24 Feb 2014, 02:39
Has thanked: 5 times
Been thanked: 3 times

Re: Forge Android App: 12-14-2014 Alpha 1.5.32.007

Postby drdev » 16 Dec 2014, 06:09

So I'm exited to share some progress I've made towards having a hexagon tile map. I've already managed to set things up to randomly generate a map and render it (minus any kind of backgrounds or specific tile signifiers). I also had the idea to utilize the planeswalker trophies to represent your character and move around this map.

PlaneMap.png

Let me know what you think.

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

Re: Forge Android App: 12-14-2014 Alpha 1.5.32.007

Postby elcnesh » 16 Dec 2014, 10:54

Really cool – reminds me a lot of Shandalar, even though it will be slightly different, and it'd be great to play something like that with new cards as well!

Will you port it (or at least make it portable) also to desktop?
elcnesh
 
Posts: 290
Joined: 16 May 2014, 15:11
Location: Netherlands
Has thanked: 34 times
Been thanked: 92 times

PreviousNext

Return to Forge

Who is online

Users browsing this forum: No registered users and 28 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 28 users online :: 0 registered, 0 hidden and 28 guests (based on users active over the past 10 minutes)
Most users ever online was 5050 on 26 Jun 2025, 06:02

Users browsing this forum: No registered users and 28 guests

Login Form