When should a clone be legal?

Suggest ideas for the World Ranking
Post Reply
User avatar
Tommy
Posts: 256
Joined: Mon Dec 01, 2008 9:22 pm
Location: Vienna

When should a clone be legal?

Post by Tommy »

This thread is inspired by the discussion that developed here: https://minesweepergame.com/forum/viewtopic.php?f=12&t=227

Specifically, this reply by damien:
thefinerminer wrote:Curtis has always been good at making MSX do what the original Minesweeper game does. IMHO, our job is not to gradually create a new game by making little changes to the gameplay, and it is definitely not our goal to copy everything the non-original programmers change in new Microsoft releases. The original game lets you shift-leftclick to chord (as did earlier games that Minesweeper copied this feature from), so I see no problem with this.

Btw, IMHO adding video recording and stats is totally separate from gameplay, and is OK.

Some thoughts:

1. I realise we did not copy bugs from the original (all bugs were accidental timer problems though, not gameplay rules).
2. Ranking rules (3bv limits etc) are not minesweeper game rules. (Rodrigo put 3bv limits in Clone, but he wanted to do this so all Clone games qualify for the ranking).
3. We removed the XYZZY cheat from the original. IMHO this is same as #2. I think it is OK for clones to have this cheat, but they need a way to prove it was not used (eg if cheat is used video is marked as Cheat) so scores can be accepted on the ranking. I would actually prefer this instead of not having it.
Since defining what a valid clone is is non-trivial (basically, we want to copy the original winmine, but only up to XP, and without cheats), we should talk about that.

Also, it has been a while since the last heated discussion ;-)

Let me take a stab at what I'd consider a sensible definition, without any claim of completeness:
Let a classic winmine be a winmine version before XP (and including XP, aside from beginner dimensions).
A valid clone must
- display no more information than a classic winmine during the game, unless the added information is purely quantitative in nature (for example, more digits in the timer)
- may not reveal any information about the board, aside from uncovered squares (no cheats)
- may not implement input methods not present in a classic winmine, and may not deviate in terms of gameplay. Exceptions here are
-- issues related to window focus
-- edge cases that are extremely unlikely to happen in normal gameplay (?) (incomplete)
--- the rationale here is that it might be extremely hard to exactly replicate all of winmine's quirks. See http://www.minesweeper.info/wiki/Cartoo ... weeper_Art
--- this does not apply to things like the arbiter click bug - that happened in normal gameplay way too often. We definitely need to find a clear definition here!
-- existing positional input methods may be interpreted differently. However, the distance covered may not depend on the initial position of the cursor.
--- clonemakers may wish to get raw mouse input in order to eliminate acceleration, and allow for mouse precision tuning that is better than that built into windows (or X on linux). For one, the windows implementation sucks, for another, this would potentially allow consistent mouse behaviour between platforms.

Problems with my list that I already see:
- arbiter's "beep after XY seconds", or should that even be legal?
- arbiter's "clip cursor to board" COULD violate my last point. However, what if a fullscreen implementation comes along that simply doesn't have a region of the screen that isn't part of the board?

Thoughts? Inspiration?
Don't anthropomorphize computers - they don't like it.
qqwref
Posts: 125
Joined: Thu Sep 23, 2010 4:17 pm

Re: When should a clone be legal?

Post by qqwref »

We should start by defining what we consider of as the "canonical Minesweeper game" (CMG). This is essentially what we're all playing right now. Cloning the game without allowing the player to cheat is only one of the requirements for being a clone, but it's a very important one. The definition of the CMG will end up having some subtle points, which either do or don't restrict what a clone must do. That is, we would decide which features of the game are required for it to be canonical, and which things don't actually matter. For instance, does it matter how big the squares are (in pixels)? [I think it doesn't.] Would we be okay with re-mapping the input to other keys or devices as long as they work the same as the current left-button/right-button/mouse location? [I would, at least.] Does it matter how the game handles loss of focus? [I think it doesn't.]

So, apart from deciding all the details of what the CMG is, I think here is what an official clone MUST do:
- Be free.
- Clone all the necessary features of the CMG.
- Display (at least) decimal time (or time+1), 3BV, and 3BV/s.
- Track scores for (at least) time, 3BV, and 3BV/s.
- Be able to save replays of (at least) completed games, in a way that is very difficult to fake. [Perhaps saving replays of time or 3bv/s high scores should be required.]
- During a game, not give the player any information at all about unopened squares, except for information from revealed numbers on the playing field, and the total height/width/minecount of the board. There may be a mode that gives this kind of information, but only if games played in that mode do not record scores or save replays. [Note: by this definition, displaying exact time, flags, mouse path length, clicks, etc. is okay during a game! No additional board info is revealed. UPK and Funny Mode are clear violations of this.]
NF player. Best scores 1-10-39.
User avatar
Tommy
Posts: 256
Joined: Mon Dec 01, 2008 9:22 pm
Location: Vienna

Re: When should a clone be legal?

Post by Tommy »

Yep, good point. A formal spec instead of a bunch of reference implementations would be a lot nicer. Although - that would also be a LOT of extra work. So I'd propose to make all definitions not in the CMG CMG-agnostic, and to do the CMG spec last - that way, we avoid not accomplishing anything, at worst we are left with precise rules on how to reimplement winmine.
- During a game, not give the player any information at all about unopened squares, except for information from revealed numbers on the playing field, and the total height/width/minecount of the board. There may be a mode that gives this kind of information, but only if games played in that mode do not record scores or save replays. [Note: by this definition, displaying exact time, flags, mouse path length, clicks, etc. is okay during a game! No additional board info is revealed. UPK and Funny Mode are clear violations of this.]
I see problems with this. Technically, auto-flagging squares that are implied to be mines by the rest of the board counts as this - you are only displaying information from the opened squares. (A flag would violate gameplay specs, but a visual indicator wouldn't).

I would narrow this down to the following rule:
- The only information that may be displayed by a CMG is:
-- Information created by the player (flags/QMs, but also mouse events and aggregated information from them)
-- The number of adjacent mines of all open squares
-- The current time, to any degree of accuracy
-- The mine counter (ie, the number of flags subtracted from the number of mines).


By the way - can anyone tell me how to reproduce the minesweeper art images I linked to? That would be hugely interesting in two ways - one, it would obviously help me write a specification of what winmine does (and make a CMG spec based on that), and two, as the current vsweep maintainer, that might help make vsweep more compliant (not that there are problems that I know of ATM, but it would be interesting to know how implementations differ).
Don't anthropomorphize computers - they don't like it.
thefinerminer
Site Admin
Posts: 136
Joined: Tue Jan 08, 2008 3:33 pm
Location: UK, Scotland
Contact:

Re: When should a clone be legal?

Post by thefinerminer »

Tommy's question about the Arbiter beep reminded me of this vote from the IMC in 2006 (see wiki):

"Rejected proposed Arbiter feature to have timer beep when on track to break a record."

Unfortunately the forum was deleted a long time ago before I could archive it, and I forget how much we discussed. I thought the beep (of any kind, including time limits) was not allowed, until someone mentioned it this month!
EWQMinesweeper
Posts: 419
Joined: Sun Nov 30, 2008 11:50 pm

Re: When should a clone be legal?

Post by EWQMinesweeper »

thefinerminer wrote:Tommy's question about the Arbiter beep reminded me of this vote from the IMC in 2006 (see wiki):

"Rejected proposed Arbiter feature to have timer beep when on track to break a record."

Unfortunately the forum was deleted a long time ago before I could archive it, and I forget how much we discussed. I thought the beep (of any kind, including time limits) was not allowed, until someone mentioned it this month!
although i have been aware of this imc decision, i decided to ignore it and am still using the timer beep feature. i strongly doubt that it has any effect on my solving. when comparing my playing on viennasweeper and arbiter, the most noticeable difference is that i use the information i get from my efficiency stats to adjust my solving. the timer beep has become a constant but whenever i feel a solve is fast i look at the timer anyways. solving the left half of the board first makes this a bit easier.

(disclaimer: it's a bit past midnight, sorry if this post looks a bit confused.)
„Das perlt jetzt aber richtig über, ma sagn. Mach ma' noch'n Bier! Wie heißt das? Biddä! Bidddää! Biddddäää! Reiner Weltladen!“
User avatar
Tommy
Posts: 256
Joined: Mon Dec 01, 2008 9:22 pm
Location: Vienna

Re: When should a clone be legal?

Post by Tommy »

I would like to revisit this since there is a new thread about mac/linux clones, and since I learned something disheartening there:
ronyhe wrote: Fri Sep 25, 2020 11:27 am Just FYI - Since OSX Catalina 10.15 dropped 32bit support, it's incredibly difficult to get things working on mac through wine.
I run Minesweeper X through wine on my ubuntu machine without issues, but my work machine is a mac.
We really need a cross-platform clone. And for that, we need to determine what we want from such a clone, so that we can either make Freesweeper or MySweeper (or both) official, and/or give developers of a new clone the prospect that their work won't end up being useless.

I think the discussion so far has suffered from way too much perfectionism. As much as I like nerding around about things like abstract definitions of "canonical minesweeper games" and suchlike, we're not going to get done like this. Instead, I'd like to propose the following:
  • we define what basic mouse actions do while the cursor is on the board.
  • we deliberately ignore what happens when the window loses focus/the mouse leaves the game window in winmine, and make handling that implementation-defined. This is both to make the spec less convoluted and to ease development of cross-platform clones.
  • we ignore weird winmine edge cases. Instead, we build a catalogue of replays that must play out exactly the same way on a prospective official clone, kinda like unit tests. [1]
  • to support that, we specify that new official clones must be able to play (at least) the replay format we use for the catalogue correctly.
  • any and all features implemented in a prospective official clone must be implemented in winmine or another official clone (or be a close analogue of such a feature).
  • entirely new features should be implemented in established clones, and should be subject to community discussion (kinda like what I'm doing with vsweep plugins right now).
  • we determine what we expect from an official clone in terms of cheating prevention. For example, closed-source clones should implement some kind of checksum that can only feasibly be broken by decompilation of the actual program (which we can't prevent anyway).
  • we don't try to make all the requirements airtight. Instead, we ask the community to vote whether or not these new prospective clones are in the spirit of those somewhat loose requirements. If less than 8 (or so) people take part in this vote, Damien decides since he runs ms.info and has to deal with the consequences of the decision.
What does everyone else think?

[1] For example, we could use one of my very old highscores if I can find it - this was a game that I would have blasted on older versions of arbiter because of a Rilian click. If you play this replay in old arbiter versions, it actually shows a lost game. Perhaps other players also have replays that play weirdly with certain clones?
Don't anthropomorphize computers - they don't like it.
Post Reply