Help us answer some unanswered questions
(or vote up / accept answers if you think they are good)
0

Propose a method that is completely free (no mtgo) and allows players to have a game of Magic with the same advantages of correspondence chess. Ideally, neither player needs to own any of the cards involved, but deck lists would have to be posted, as well as a mediating random number generator for drawing, coin flips, etc. Another Issue would be the stack. Waiting for a response at each and every priority shift would take too long, so how could action be consolidated?

flag
Do you mean something like Apprentice or Magic Workstation but with a mediator? – ripper234 Dec 11 at 6:52
Because Magic is not a perfect information nor a deterministic game, you can't do something like correspondence chess, where you rely on the people to tell the game state. Online magic (free or payed) is the better alternative. – ripper234 Dec 11 at 6:54
I would disagree. Mtgo proves that correspondence Magic is possible with the proper mediator. – Shushoto Dec 11 at 22:51
If you mean a mediator that knows both players' hands and keeps them from cheating, then yeah, you could... – Avish Dec 12 at 15:01

2 Answers

3

Basically, as ripper said, Magic isn't a perfect information game. Each players knows things the other player doesn't (for example, the cards in his hand) and thus to prevent cheating you'll need a mediator with perfect information. This means that every action that involves luck or chance (drawing cards, flipping coins) has to go through the mediator. The process would then be something like this:

Player one says to mediator, "I draw a card". Mediator tells player one which card he drew and informs player two of the draw. Player one tells mediator "I play a Mountain". Mediator verifies that player one indeed has a mountain in their hand and acknowledges the request, announcing to both players of the new card on the board.

As you can see, this can get very tiresome with a human mediator. A computer mediator such as MTGO or even the one provided by MWS would do (note that the mediator doesn't have to understand the rules of the game, only keep track of which cards are in which zone).

As for priority passing, there are actually rules for that:

713.2. Taking a shortcut follows the following procedure.

713.2a At any point in the game, the player with priority may suggest a shortcut by describing a sequence of game choices, for all players, that may be legally taken based on the current game state and the predictable results of the sequence of choices. This sequence may be a non- repetitive series of choices, a loop that repeats a specified number of times, multiple loops, or nested loops, and may even cross multiple turns. It can’t include conditional actions, where the outcome of a game event determines the next action a player takes. The ending point of this sequence must be a place where a player has priority, though it need not be the player proposing the shortcut. Example: A player controls a creature enchanted by Presence of Gond, which grants the creature the ability “{T}: Put a 1/1 green Elf Warrior creature token onto the battlefield,” and another player controls Intruder Alarm, which reads, in part, “Whenever a creature enters the battlefield, untap all creatures.” When the player has priority, he may suggest “I’ll create a million tokens,” indicating the sequence of activating the creature’s ability, all players passing priority, letting the creature’s ability resolve and put a token onto the battlefield (which causes Intruder Alarm’s ability to trigger), Intruder Alarm’s controller putting that triggered ability on the stack, all players passing priority, Intruder Alarm’s triggered ability resolving, all players passing priority until the player proposing the shortcut has priority, and repeating that sequence 999,999 more times, ending just after the last token-creating ability resolves.

713.2b Each other player, in turn order starting after the player who suggested the shortcut, may either accept the proposed sequence, or shorten it by naming a place where he or she will make a game choice that’s different than what’s been proposed. (The player doesn’t need to specify at this time what the new choice will be.) This place becomes the new ending point of the proposed sequence. Example: The active player draws a card during her draw step, then says, “Go.” The nonactive player is holding Into the Fray (an instant that says “Target creature attacks this turn if able”) and says, “I’d like to cast a spell during your beginning of combat step.” The current proposed shortcut is that all players pass priority at all opportunities during the turn until the nonactive player has priority during the beginning of combat step.

713.2c Once the last player has either accepted or shortened the shortcut proposal, the shortcut is taken. The game advances to the last proposed ending point, with all game choices contained in the shortcut proposal having been taken. If the shortcut was shortened from the original proposal, the player who now has priority must make a different game choice than what was originally proposed for that player.

These happen implicitly all the time in face-to-face games, but will need to be formalized in games played over distance. Again, player one might say "I propose to move to the beginning of the next turn" to which player two might respond with either "I accept the shortcut; I untap my permanents and draw a card" or "I shorten the shortcut to the beginning of your end step; then I play X". Basically, any message exchanged in the protocol acknowledges the previous shortcut and proposes a new one; any subsequent action by the other player assumes the shortcut has been approved, unless explicitly stated otherwise.

This allows two players to conduct a game almost as if they were face to face in the sense that it conserves messages for uninteresting events ("I pass priority" - "I pass as well"). Players would have to be careful so as not to divulge any information in their shortcuts: for example, if a player says "I attack with creatures A and B" and the other player responds with "I shorten the shortcut to the declare combat phase and play X on B, preventing it from attacking" then some player one "gave away" some information he didn't have to (maybe player two wouldn't have played X if he didn't know B was going to be declared attacker).

Note however that this kind of information leak happens all the time in face-to-face games as well (when was the last time you heard someone say "I declare combat and pass priority, do you want to do anything?"), and players just have to choose their own path between letting the game flow or being as secretive as they can. The problem is increasingly apparent in online MWS games where players usually skip phases all the time (with the notable exception of the "end my turn" convention, allowing players to play end-of-turn moves).

So basically, yeah, you can play Magic over a distance, given an unbiased, fast mediator, a quick way of exchanging information and/or keeping reference (most probably internet-based). You basically just need something like MWS, only with players being able to keep a connect, make a move, then disconnect whenever they please (where the game state would persist over time on some server until explicitly shut down).

link|flag
+1 for mentioning the aspect of shortcuts in computer magic. – Silly Freak Dec 12 at 19:22
I don't think MWS qualifies, as it doesn't have an external mediator. I don't know how it's implemented, but I imagine each client sends information to the other one, who believes it. Therefore, it would be rather easy to cheat in such a game, as opposed to Magic Online, by using a modified client. For an uncheatable game of Magic, you must have an external mediator server. – ripper234 Dec 12 at 20:25
I meant something like MWS in what its functionality covers (tracking libraries and hands and other zones of play and sharing actions between players), as opposed to e.g. Magic Online which actually knows the rules of the game and of each card. MWS's protocol is probably using the naive trust-based approach you described, but it wouldn't be hard to make it use a deidcated server for hosting game state and deck data. – Avish Dec 12 at 21:49
0

I'd like to suggest some middle-thingie between a client-server-based mediation and a client-only game which depends on trust about their resources. I'm trying to implement such thing but it's far from finished so don't expect too much. you can of course look on my blog.

The Idea is that both clients have full information and can therefore verify if some action is possible. however, the application prevents the players from looking at ressources they shouldn't look at. This of course requires some trust, but instead of "I trust that you really have the card you play in hand", it's shifted to "I trust that you don't write some software that tells you parts of the game state you shouldn't know", which is much easier to accept.

Now the idea is that everything a player does (or doesn't - pass priority) is an action that modifies the game state and that action is transferred to the other player(s). Every player has a duplicate of the game state and can perform the action on his local copy. The clue behind this is that even the random number generators - which aren't random but only compute a hard-to-predict number sequence - are synced between all players. That means that the initial game state only contains the ordered deck lists and the seed for the generator. how the decks are shuffled is a result of the seed.

link|flag
What made you choose this approach over the unbiased-server approach? IMO, people will always write malevolent clients to cheat if the protocol allows it. They'd cheat on MWS by sending over rigged data, and they'd cheat on your concept application by looking at stuff they're not supposed to look at. I'm curious, if you're working on something like this, why did you make this compromise? – Avish Dec 12 at 21:52
Actually, my ideas are somewhat along these lines, but with a more guarded approach. The mediator provides general functions to both players (playing cards, tracking card locations, draw X cards, etc.) Whenever one of these functions is called, it gets recorded and is visible to the other player. If either player misuses their access to these functions, their opponent can appeal to have the offending player's credibility rating reduced. – Shushoto Dec 12 at 22:10
there's always a way for cheating if you can't trust a party. think about it that way: when you use client-server, someone has to be the server, and unless someone invests money to run an official, trusted one, it's likely one of the players; writing a malevolent server is not harder than a client, so it boils down to the same thing. I prefer to not even involve a server but to go the straight way. if someone thinks he must cheat in a game with no purpose other than having a good time, he's missing something anyways, and i'm not writing my software for, or against, that guy – Silly Freak Dec 13 at 1:32
That's the thing though: I don't have a problem against rule breakers using the system, I just don't want them to detract from other users' experience. – Shushoto Dec 13 at 3:59
you have a problem though with open source. even if you lay access restrictions on critical methods, or send critical action to the opponent for confirmation, with the source code it's easy to just change the restriction or not to send confirmation. it's a flaw in the approach (that I don't bother with), because all clients have full information, and I don't think that you get much out of a confirmation protocol in the end. – Silly Freak Dec 13 at 12:41
show 1 more comment

Your Answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.