It is currently 16 Apr 2024, 11:09
   
Text Size

Quest worlds

Post MTG Forge Related Programming Questions Here

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

Quest worlds

Postby Seravy » 27 Jun 2017, 14:54

Quest worlds override the sets you have available by their own sets - at least this was the case when I first installed Forge and since then I'm playing with a world definition file that makes all worlds not have defined sets at all to avoid it - if it has already been taken care of, let me know.
This "feature" helps getting more cards of specific sets, and works well in an "all sets" game but otherwise, it's a problem.
If you don't have a set available (either not yet unlocked, or plain simple not part of your available card pool selected when starting a game) you still get those cards in rewards and the shop because the world takes priority.
Which is wrong - it defeats the purpose of having a set limitation - as soon as you travel to any world, that limitation breaks. You can go into the Beta world and get all the power nine cards, even if it would otherwise require another 500 wins to reach and unlock the nearest set containing them.

I see several different ways to address this issue :

1. Limit the "Travel" button to not allow destination worlds that include sets you haven't unlocked/can't unlock.
-This is simple, but reduces the player's options which is not a good thing.
2. Make it so that quest worlds don't override default rewards/shop content
-In this case the ability to get more of a set by playing in that set's world disappears, but the player won't get cards they aren't supposed to have access to - except as challenge rewards if they grant cards from that set.
3. The above but make it apply only if the reward is part of a set not normally available to the player.
4. The above plus make it optional.
5. Possibly include Challenge rewards in the fix - specific cards from not allowed sets replaced by a card of the same rarity from an unlocked set, and random cards of the unavailable set by random cards from an available one. Alternately, replace the reward with a draft ticket, duplicate card, or money.

So I wonder, which would be the preferred solution? Which of these should I try to implement?
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Quest worlds

Postby Seravy » 28 Jun 2017, 17:02

Spent this day working on this.
There were no replies so I had to pick a solution myself.

This is what I went with :

Shop : All sets that are part of both the World and the Quest set pool/format. If there is no such set, all sets from the Quest pool (like in the main world).
Card and pack rewards after Duels : Same as above
Tournaments : Tournaments that match your Quest format. Worlds no longer have any effect on these - players shouldn't abuse traveling as a means to draft their preferred set without using tickets for it.
Challenges : This one I'm unsure about. They are fairly rare, so being the exception that allows you to get cards which are not yet unlocked makes them all the more worthwhile. On the other hand, doing that does break the rule of "no cards unless unlocked" rule, so it probably shouldn't happen. At the very least, generic (X rares) should be awarding unlocked cards...but cards of a specific set, or a specific card...idk.

None of these are optional (yet) - there is no need for it as it includes the best of both features - you can farm a world for cards of that world BUT you can only do so if you unlocked the sets. And you can play in any world, BUT you only get their cards after unlocking the sets.
Last edited by Seravy on 28 Jun 2017, 17:56, edited 1 time in total.
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Quest worlds

Postby Seravy » 28 Jun 2017, 17:54

Decided to go all the way and make Challenge rewards obey format/unlocking rules for the quest as well as other rewards.
As the very last step, any card rewarded is replaced by a random card of the same rarity if and only if, that card belongs to a set that is not available in the quest.
This isn't a perfect solution - if the player gets a "chosen card" from the set, they'll get to pick a card, but it will be replaced with another anyway.
Also, if the card exists in a valid set, but a copy in an invalid set was the reward, it won't be replaced by the same card from the other set.
I might improve these details when I have time for that, but for now, this will do.
QuestRewardSets.txt
(14.43 KiB) Downloaded 219 times
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Quest worlds

Postby Rooger » 28 Jun 2017, 21:57

For the rewards from locked sets there could be a prompt asking to unlock it. Like "You've won a card from a locked set. Do you want to unlock (Set Name) for x credits?" or something along those lines.

Can you unlock sets from a particular world while visiting it or just while you are in the Main World?
Rooger
 
Posts: 88
Joined: 06 Jan 2013, 06:59
Has thanked: 44 times
Been thanked: 35 times

Re: Quest worlds

Postby Seravy » 28 Jun 2017, 22:02

I think you can unlock regardless of where you are, but you aren't allowed to unlock everything, only the X sets nearest to your starting format in release time. (X is about 8 or so)
So the chances of having the set that matches the quest world available on that list is slim.
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Quest worlds

Postby Rooger » 28 Jun 2017, 22:36

Oh I see, so if I start a quest with a Standard cardpool I cant unlock Beta even if i go to a world based on it? If thats the case can we manually set that X value?
I like the collecting side of the quest mode so with your implementation of locked sets I wont be able to collect the older cards? Maybe increasing exponentially by some percentage the credits required to unlock, like adding 10% of the base value for the 9th set, 20% for the 10th, 40% for the 11th and so on...Sorry if I'm just rambling some nonsense but I like your ideia to limit the freedom of the world sets but I would like to be able to unlock them all anyway but with a bit of grinding.
Rooger
 
Posts: 88
Joined: 06 Jan 2013, 06:59
Has thanked: 44 times
Been thanked: 35 times

Re: Quest worlds

Postby Seravy » 28 Jun 2017, 22:41

You can unlock them all, but one at a time. So if Beta is 50 sets away from your current oldest set, then it takes 50-X unlocks to have it show up. (X being the size of the menu window I guess, think it's some 7-9. Haven't really looked at this on the code side yet.)
How long it takes depends on your quest settings - if you want you can set it to 1 set per win and have it done in 50 wins (though only if you have the money for the unlocks).

A new unlocking system that allows any set at any time is something I'd like to see in the future, wonder if I can make that happen.
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Quest worlds

Postby Rooger » 28 Jun 2017, 22:48

Got it! That's cool then. I don't really understand the locked sets myself but i'll start a new quest and play around with the settings a bit to get the hang of it. Looking forward to try your patches when they are commited to the main build.
Rooger
 
Posts: 88
Joined: 06 Jan 2013, 06:59
Has thanked: 44 times
Been thanked: 35 times

Re: Quest worlds

Postby Seravy » 29 Jun 2017, 22:09

In the end this turned out to be the culprit to my crashes.
There was a misplaced } in an if-else block causing null formats to return no sets instead of all sets.

Here is the fixed version (once more, first upload still contained a problem) :
QuestRewardSets.txt
(14.42 KiB) Downloaded 226 times
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Quest worlds

Postby Seravy » 30 Jun 2017, 14:50

The unlock buttons does seem to be disabled while in a world.
While travelling to the main world, unlocking, and going back is an option, it's not very convenient, so this patch makes unlocking sets while in a world work :
Attachments
UnlockInWorlds.txt
(3.59 KiB) Downloaded 218 times
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Quest worlds

Postby Seravy » 30 Jun 2017, 23:18

Update to this patch :
When "chosen card" is rewarded after a challenge, instead of asking the player to pick a card, and then replacing it with a random unlocked card if necessary, it'll replace all elements of the list the player can choose from with random cards of equal rarity from available sets. For example if the reward was chose card from USG, but the quest doesn't have USG unlocked, it'll make a list of as many cards as USG had from random unlocked sets.
Attachments
QuestRewardSetsUpdated.txt
(16.66 KiB) Downloaded 223 times
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Quest worlds

Postby Seravy » 02 Jul 2017, 20:16

Another update :
Previously, I missed changing color packs, this fixes those. Of all things these the the least desirable to be limited to a world set as that makes it far too easy to get a specific rare, especially colorless...
QuestRewardSetsUpdated2.txt
(17.79 KiB) Downloaded 227 times

Speaking of colored packs I think I haven't posted the patch for replacing the "LAND" slot with a "BasicLand" slot. Not sure if anyone cares but I find it extremely unbalanced to have a nonbasic land slot - sets usually contain very few nonbasic lands, and most are generally high value rares. Opening these packs for dual lands for example or Rishadan Ports, etc, I think you get the point. And if anything, those cards shouldn't be easy to obtain.
ColorBoosterLand.txt
(1.54 KiB) Downloaded 222 times
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Quest worlds

Postby Seravy » 03 Jul 2017, 19:39

I'm wondering, will this be integrated if I make it an optional feature? If yes, I can probably do that, if not, I won't bother, as I'm happy with it being mandatory in my own copy.
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times


Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 38 guests

cron

Who is online

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

Login Form