It is currently 29 Aug 2025, 23:43
   
Text Size

Achivement discussion

Post MTG Forge Related Programming Questions Here

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

Re: Achivement discussion

Postby drdev » 18 Sep 2014, 23:50

Kapoue wrote:Hey, I'm getting a bunch of acheivements while testing cards. Do you think we could disable achievements somehow when we test things?
How about I just disable them if Developer Mode is on. That way there's no cheating. Also, if you want to reset your achievements, you can just delete the folder in AppData.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Achivement discussion

Postby friarsol » 18 Sep 2014, 23:52

drdev wrote:
Kapoue wrote:Hey, I'm getting a bunch of acheivements while testing cards. Do you think we could disable achievements somehow when we test things?
How about I just disable them if Developer Mode is on. That way there's no cheating.
Meh.. I always have developer mode on. Who exactly are you cheating by just going through with DevMode to unlock achievements?
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Achivement discussion

Postby drdev » 18 Sep 2014, 23:54

Good point. In that case I'll just add a separate setting you can use to disable achievements.

Alternatively I can just make it so you forfeit earning any achievements if you use a Dev Mode function in a game. That way if you play a game fairly with Dev Mode on, you still get achievements.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Achivement discussion

Postby Marek14 » 19 Sep 2014, 04:33

drdev wrote:
Marek14 wrote:BTW, where in the current version can I actually see the achievements? I earned a few, but can't find them again...
In the desktop game, it's on the home page menu under Preferences.
Hmm... Can't see them :(
Marek14
Tester
 
Posts: 2773
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 303 times

Re: Achivement discussion

Postby Rooger » 19 Sep 2014, 16:53

And here they are, the Superfriends arrived, all of them :D

I've made the alternate art from the duel decks for the ones who have it, feel free to use them how you like if you wish to use them.

Note: I forgot to mention it yesterday, the pic I used for DeckedOut is from Jace Beleren so i'll have to replace that one soon.

Any progress on new achievements?
Attachments
planeswalkers.rar
(3.24 MiB) Downloaded 310 times
Rooger
 
Posts: 88
Joined: 06 Jan 2013, 06:59
Has thanked: 44 times
Been thanked: 35 times

Re: Achivement discussion

Postby KrazyTheFox » 19 Sep 2014, 17:08

drdev wrote:Alternatively I can just make it so you forfeit earning any achievements if you use a Dev Mode function in a game. That way if you play a game fairly with Dev Mode on, you still get achievements.
I like this option the most. I frequently play with dev mode on since I forget to turn it off, but almost never use any dev mode features. I'm trying to think of how something could warn you if you, say, accidentally click on your deck while playing or forget you already played a land and drop a second one...
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Achivement discussion

Postby drdev » 19 Sep 2014, 17:27

KrazyTheFox wrote:
drdev wrote:Alternatively I can just make it so you forfeit earning any achievements if you use a Dev Mode function in a game. That way if you play a game fairly with Dev Mode on, you still get achievements.
I like this option the most. I frequently play with dev mode on since I forget to turn it off, but almost never use any dev mode features. I'm trying to think of how something could warn you if you, say, accidentally click on your deck while playing or forget you already played a land and drop a second one...
I think that would be annoying to get prompted when you're trying to test stuff. Let's just call it the risk of using Dev mode then. You can always turn off the ability to play multiple lands per turn, and frankly I've been meaning to make the ability to see cards that should be hidden another toggle option for the Dev menu that you need to opt into. That way, if you just have those two options toggled off, you'd have to actually click something in the Dev menu to run into a problem.

I will probably add an override to enable using the Dev Mode options to make testing achievements themselves easier, but that will off by default and only intended for testing achievements specifically.

How's that sound?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Achivement discussion

Postby Agetian » 19 Sep 2014, 17:52

I like this idea, Dan! And I think it's optimal to have a dev mode toggle like for the lands, potentially off by default (to preserve authenticity of what is visualized by default) but easily toggleable in case of necessity.

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Achivement discussion

Postby drdev » 19 Sep 2014, 19:53

I just finished making the same improvement to the mobile game's "Achievement Earned" dialog.

AchievementEarned2.png

Next up will be adding logic to prevent earning achievements when doing testing using Dev Mode features, then I'll start working on the next wave of achievements using the trophy images Rooger has provided.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Achivement discussion

Postby KrazyTheFox » 19 Sep 2014, 21:36

drdev wrote:I think that would be annoying to get prompted when you're trying to test stuff.
Hence me trying to figure out a better way to create a warning. I specifically don't want an actual prompt because I do use multiple lands per turn frequently for testing.

However, on my way home I think I've got it. While playing multiple lands is enabled, what if hovering over lands in your hand turned them red after you've already played your lands for the turn (in the event of "you may play extra lands")?

drdev wrote:I will probably add an override to enable using the Dev Mode options to make testing achievements themselves easier, but that will off by default and only intended for testing achievements specifically.
Sounds good to me!
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Achivement discussion

Postby drdev » 19 Sep 2014, 22:04

I just finished committing some refactoring changes to Dev mode to support detecting cheating for the sake of updating achievements at the end of the game.

The first thing I did was prevent "DEV_MODE_UNLIMITED_LANDS" being saved between games and sessions. This way, you'll never start a game with that functionality auto-enabled, and therefore the only way to cheat is to actually click something in the Dev Mode pane or menu, as opposed to misclicking a second land. This way, there's no need for a prompt. While I was at it, I also changed the "Play Unlimited Lands" button to work more like other toggle buttons, appearing the same as other buttons when off and only appearing dark when toggled on.

Next, I changed the static DevModeUtils class into a DevModeCheats subclass of PlayerControllerHuman. The only way to access any of its functions now is to call a special cheat() method on either the controller or the game view, which initializes an instance of that class if needed and returns it. This implementation allows a hasCheated() method to exist in PlayerControllerHuman, which simply returns cheats != null. We can then use this method to quit out early from the achievement updating code that fires at the end of the game. Plus, since the controller instance is unique to each game, we don't have to worry about the user being flagged as cheating in future games unless they cheat again.

In the future, we can also potentially leverage this flag for Network play to prevent use of the Dev Mode tools unless a testing session is actually in progress. I'm thinking something like having it alert other users that another player has cheated, and giving them the option to allow it or boot the player. The nice thing about allowing players to permit cheating this way is 1) it makes our testing of network play easier and 2) it gives players the option to give another player a handicap or allow them to stay in the game if they just want to keep playing. Or maybe they just want to fool around with Dev Mode power together.

Let me know if you have any questions or concerns about my implementation. I apologize if anyone misses having "Play Unlimited Lands: On" be remembered between games, but ultimately I feel you should have to opt in to Dev Mode functionality every game to avoid cheating by accident.

Also, I should note that viewing your library or other players' hands no longer seems to work on Dev Mode, so I didn't change anything there. If you'd still like me to add another Dev Mode option to allow viewing these hidden areas, let me know and I can always add one.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Achivement discussion

Postby Agetian » 20 Sep 2014, 04:53

Good calls here, I agree with this change.

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Achivement discussion

Postby Agetian » 20 Sep 2014, 14:29

A few sideboard-related achievement ideas:
Deck Transformation - sideboard at least 1 card in (common) up to fully transform a deck by sideboarding 15 out and 15 in or something like that?... Presupposes winning a game with the transformed deck.
A Card Up My Sleeve - bring a card into the game directly from one's sideboard (using cards such as e.g. Death Wish, Burning Wish). Might also need actually winning the game where this happened?..

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Achivement discussion

Postby drdev » 21 Sep 2014, 15:27

Rooger wrote:Any progress on new achievements?
Finally, yes. Here's the start of the new "Alternate Win Conditions" with the first 16 such achievements shown.

AltWinAchievements.png

As you can see, I kept the names and flavor text Marek14 went to such awesome lengths to include for each achievement, as well as built in a way to see how many wins you get off of each alternate win condition. I made them 1 tier nonetheless, as I felt these kind of special trophies make more sense without tiers, but at least by tracking wins there's still a reason to play multiple games with a single alternate win condition.

I should have the next set of alternate win achievements ready soon, then it's on to Planeswalker ultimates.

EDIT: I just noticed "The Library of Congress" is too long a name. I'm going to change it "The Huge Library" unless anyone has any other ideas.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Achivement discussion

Postby Xitax » 21 Sep 2014, 17:19

"The Great Library"?
Xitax
 
Posts: 918
Joined: 16 May 2010, 17:19
Has thanked: 183 times
Been thanked: 133 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 19 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 19 users online :: 0 registered, 0 hidden and 19 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 19 guests

Login Form