*Author

Offline PolariTopic starter

  • Jr. Member
  • **
  • Posts: 107
  • Reputation Power: 2
  • Polari is a Spark waiting for a buff.
  • New to Elements
Deck hash codes https://elementscommunity.org/forum/index.php?topic=20486.msg260020#msg260020
« on: January 29, 2011, 11:38:01 pm »
Short version:

Add an option to show a hash code in deck editor and in pvp - makes it possible to check that the player didn't change his deck when recreating a game that desynched or timed out or that the deck is legal for a tournament with added restrictions, while not revealing the decklist itself.

Long version:

So today I participated in a pvp tourney for the first time, and it was odd to see how unenforceable some of the deck construction rules are. Most importantly, you're supposed to not change your deck when remaking a desynched game, but there's no way to catch someone swapping in some answers to cards he saw in the first game. Also, some tournaments have deck construction rules that are near-impossible to enforce. Today's had only duos and tris allowed. A standard shrieker rush was illegal, but one with a single Reverse Time was ok - how do you check whether it was in the bottom half of the deck or not there at all? Or if only 3 of a card is allowed, how can you know (without a precog) whether someone is running 4 or 5 of his key cards or just getting lucky with his 3?

The way CCG programs like Apprentice and Magic Workstation handle this is showing a security code for both players at the beginning of the game. This is computed from the deck with a hash function and might look something like B4DC5791. This says essentially nothing about the contents of the deck, but it's easy to verify whether the code is identical to the one in the previous game, or to what the deck editor shows when a tournament referee enters the decklist given by the player.

I do see a possible issue in the fact that Elements's card pool is minuscule compared to MtG's, and together with smaller deck size and the lack of sideboards, it's possible that the opponent would recognize the code of, say, a bulk Fire Stall list. I have no idea how common it is for tourneys to have open rulesets, so it might very well be that this isn't really a problem, but I'm throwing this out there anyway before someone else does. Do note that a deck with one card changed would get a hashcode with no resemblance to the original, so there's no way you could recognize a deck unless it's exactly the same list. If you're really worried about this you could add an extra string which could be chosen arbitrarily and used while computing the code, but that seems a bit excessive for a feature that's irrelevant for anything else than organized pvp.

Wonder

  • Guest
Re: Deck hash codes https://elementscommunity.org/forum/index.php?topic=20486.msg260036#msg260036
« Reply #1 on: January 29, 2011, 11:51:45 pm »
This is a good idea.
A lot of players don't change their decks but yeah, there are a few who break the honor system.


Offline Ekki

  • Hero Member
  • *****
  • Posts: 1425
  • Country: ar
  • Reputation Power: 0
  • Ekki is a Spark waiting for a buff.
  • Not-so-young Elemental
Re: Deck hash codes https://elementscommunity.org/forum/index.php?topic=20486.msg260068#msg260068
« Reply #2 on: January 30, 2011, 12:16:54 am »
Well, the honor system isn't perfect...

This might be too much work for PvP purposes, but it may be really useful too, so IDK.

Wonder

  • Guest
Re: Deck hash codes https://elementscommunity.org/forum/index.php?topic=20486.msg260077#msg260077
« Reply #3 on: January 30, 2011, 12:22:19 am »
Meh, depends on how much Zanz wants people to play fair I guess.
I think that you can trust most of the players in this community though.

Re: Deck hash codes https://elementscommunity.org/forum/index.php?topic=20486.msg307168#msg307168
« Reply #4 on: April 07, 2011, 01:10:38 am »
Necro'ing because I think this deserves another look...

Has Zanz made any definitive statements about what he consideres to be the "core" of the game - either vs. AI or PvP?  If he thinks PvP is what the game is about (and I'd argue that if he doesn't, he undoubtedly recognizes that the rest of us do), then making PvP rules more enforceable is very near to the heart of the game.  It will weed out cheaters and put everyone on equal footing.

Just one thing:
Quote
If you're really worried about this you could add an extra string which could be chosen arbitrarily and used while computing the code,
Wouldn't a random element bork up the idea of being able to recognize that your opponent's using the same deck?  Or do you mean an agreed-upon, user-defined string that can be entered by both players before a match?

tiebearius

  • Guest
Re: Deck hash codes https://elementscommunity.org/forum/index.php?topic=20486.msg307499#msg307499
« Reply #5 on: April 07, 2011, 01:40:01 pm »
Well, I watched my friend play in a tourney this weekend. The rules were you must have at least six dragons of any type. His opponent was playing an Aether Deck.  They had a one deck play off because of the large number of people. After nine turns I saw Three p universes, two immortals 3 dimension shields, The opponent had 30 some odd amount of quantum and 5 or 6 cards in his hand and had drawn half his deck. Leaving 14 cards and NO dragons.

As far as I could see it was your basic stall aether Deck.

And now after witnessing this, I have little desire too play a tourney. I do not believe he had a single Dragon.

It's a shame, I was looking too play a tourney in the future, But feel there is no fair play, and therefore little chance of playing by the rules and winning.

Offline PolariTopic starter

  • Jr. Member
  • **
  • Posts: 107
  • Reputation Power: 2
  • Polari is a Spark waiting for a buff.
  • New to Elements
Re: Deck hash codes https://elementscommunity.org/forum/index.php?topic=20486.msg307538#msg307538
« Reply #6 on: April 07, 2011, 03:09:37 pm »
Just one thing:
Quote
If you're really worried about this you could add an extra string which could be chosen arbitrarily and used while computing the code,
Wouldn't a random element bork up the idea of being able to recognize that your opponent's using the same deck?  Or do you mean an agreed-upon, user-defined string that can be entered by both players before a match?
The point of using a hash code is to give no information to your opponent during the game, but make it possible to verify what you played afterwards. To check whether the code checks out you'd enter the decklist given by the player and verify that it matches the code displayed during game. With extra security you'd enter not only the deck but also the connected string, so that some random decklist + "string" would produce a different code than the same decklist + "some other string", effectively making it impossible to recognize the decklist from the code, even if it's some stock version of a known archetype. The string could in theory be anything as long as it's known, but being user-defined would make most sense. Like I said in the original post, I doubt this would be an issue except in very rare cases, but I brought it up anyway just in case.

I didn't give this detail much thought originally, but now that I think about it, you could just make it an extra option hidden in some corner of the game window, so that normally you could just not care about it and generate the hash with an empty string, while still having the option in case you believe you'll need it.

 

anything
blarg: