MySweeper - another new clone

Area to discuss development and bugs of official clones (Clone, Arbiter, MSX, Viennasweeper)
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

MySweeper - another new clone

Post by senfti »

I'm happy to announce a new minesweeper clone: MySweeper

Current version: MySweeper 1.2.1 (12.10.2015)
Download:
- Windows:
MySweeper_1.2.1.zip
(1.74 MiB) Downloaded 385 times
- Linux 64 bit: https://www.sendspace.com/file/873odb
- Linux 32 bit: https://www.sendspace.com/file/nzea5g
- Source:
MySweeper_1.2.1_Source.zip
(272.07 KiB) Downloaded 367 times
Alternative download: https://www.dropbox.com/sh/d6n0e8rxqtau ... P_bpnKgT9a

My major goals were to gain experience with bigger software projects (though it's not that big^^) and to get used to the wxWidgets GUI library. But now I hope MySweeper can become an official clone because of it's useful features and the work I put into it.

Special features:
- platform independent: It is running on Windows and Linux (and on Mac, if I find a Mac to compile it)
- changeable square size: Useful on screens with high ppi values, like Full HD notebooks
- practical infinite board sizes possible: Up to 10000x10000 squares (though you need a very fast computer therefore, but 1000x1000 works well on a standard computer),
a "scroll mode", so the board need not fit into the screen
a size ranking could be established, for the biggest boards solved with expert mine density
- raw mouse input for accurate and portable mouse settings in Windows version, Linux version may follow
- open source: except the video saving and loading (to avoid easy faking of videos), the code is open source and can be used by everyone to improve this clone
- export and import RawVF videos
- support for different languages via language files
- a luck/no-guess mode

Of course all standard features of a minesweeper clone are included like stats (3BV, ZiNi, Path,...), fraud-proof videos, various settings, highscores and a History.

Here you can find versions for Windows (.zip), 32 and 64 bit Linux (i386 / amd64) and the source code: https://www.dropbox.com/sh/d6n0e8rxqtau ... P_bpnKgT9a

The code is not perfect (general software design and some parts could be better), but there is definitely worse code around. (Edit: After adding many features, the code definitely needs a revision)

I hope you have time to try this clone. If you find a bug, please report it here or to the e-mail address in the About window. If it's a bug in the board (like a square does not open), please save a video and add this to the bug report.
Last edited by senfti on Mon Oct 12, 2015 5:24 pm, edited 13 times in total.
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: MySweeper - another new clone

Post by Cryslon »

I tried the linux (i386) version, and i quite like it. I'm certainly not a Curtis-level expert on how the mouse should behave, but i don't see any irregularities. The counters and history are quite nice and useful.

The only bug i'm having is that the window isn't being resized properly on application launch, screenshot attached. When i switch levels, everything becomes okay.

About video format: as i understand, this is a new format. It would be nice to have a rawvf converter for it. And as i see, the video files contain the paths to themselves, twice. What is it for?

Also, i'm not familiar with wxwidgets. What do i do to compile a program using that?
Attachments
mysweeper-screenshot.png
mysweeper-screenshot.png (10.51 KiB) Viewed 25676 times
Go IRC! (try mibbit)
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

The only bug i'm having is that the window isn't being resized properly on application launch, screenshot attached. When i switch levels, everything becomes okay.
I could not reproduce this bug, but I think I fixed it. Please confirm this.
You can find the new version (MySweeper_1.0.2-rc) again here: https://www.dropbox.com/sh/d6n0e8rxqtau ... P_bpnKgT9a
And as i see, the video files contain the paths to themselves, twice
What do you mean here? Are you wondering why I save mouse positions?
I don't store mouse events, just board events, so I have to store mouse path seperately.

About the rawvf converter,you mean this (http://www.minesweepergame.com/forum/viewt ... ?f=26&t=86)?
When I have time, I can make one, but it's not so easy because I'm working with board events.
Also, i'm not familiar with wxwidgets. What do i do to compile a program using that?
You need dev-packages for wxWidgets-3.0 and pugixml. I added "Help.txt" to the source code, which should help you.
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

New version MySweeper_1.0.4 for Windows, now with raw mouse input -> cursor speed only depends on mouse dpi value.
For download, see first post.

In the Settings menu, you can set mouse parameters. The raw input is just active, when the mouse is over the board and its border.

Linux version doesn't have this feature at the moment, maybe it will be implemented later.

By the way, are there even chances that a new clone will become an official Minesweeper version?
Last edited by senfti on Fri Apr 17, 2015 12:04 pm, edited 1 time in total.
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

changeable square size : Make sure that the Path counted as square size not pixel size :D
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

Just cannot download it from the given address.
Could you please send a copy to my E-mail: qxxqlls@163.com
It is a pleasure to see a clone and I will try to take it testing in our saolei.wang group.
In my opinion any clone can become an official clone if it is safe and exact.
If it is really a very good clone, I will try to translate it to Chinese that large amount of players will be easy to use.
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

Downloads fixed.

Translating MySweeper may be difficult at the moment, because all texts are hardcoded.
If I have time, I will add support for multiple languages, but this may take a while.
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

:D I will testing it for several days.
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

1.I didn't see opening and island counters which are very important for minesweep.
2.If there is no 3bv limit on board randomize,please set it 2-30-99.
3.Video file can be saved as "Exp_NF_180_53.175_Michael_20150421_181429.ivf" would be better.
4.Efficient L-R-C click counter needed.
5.Statistics history to *.csv needed.
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

Thanks for the feedback :)

I have some questions to your requests:
1.I didn't see opening and island counters which are very important for minesweep.
Openings in counters is no problem. Calculating islands is a bigger problem because I don't know what the meaning of this value is and how to calculate it ;)
2.If there is no 3bv limit on board randomize,please set it 2-30-99
There is no limit at the moment, but games with a lower 3bv will not count in highscores. I thought this is enough due to rare occurence, but I can implement a limit.
Video file can be saved as "Exp_NF_180_53.175_Michael_20150421_181429.ivf" would be better.
You can set the way your files are named in the settings. If you hover the mouse cursor over the corresponding text entry box, a tooltip will show up explaining how it works.
"$name" will be replaced by your name, "$style" will be replaced by BEG, INT, EXP or CUSTOM, "$time" by the time and "$3bv" by the 3bv, when a replay is saved automatically.
4 Efficient L-R-C click counter needed
I don't know what you mean with Efficient L-R-C click counter. Please explain, else I can't fix this.
5.Statistics history to *.csv needed.
At the moment I store the history in xml format (just with extension .hisc). I can also store the history in .csv format, if you want to view the history outside of MySweeper.
But if you want to combine MySweeper history with history files of other clones, this is not enough and will hardly be possible.
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

1.Remove all mines and all opening squares(with opening's edge).Then a set of continuous number cells is an island.
2.Highscore is limited by 3bv. That's enough.
3.I think you can make it as the follows:
$style = Flag(FL) or NF
$level = Exp or Int or Beg or Cus
$date = yyyymmdd
$time = hhmmss (can avoid same file name)
4.Clicks that can make a difference on board status are efficient clicks.
L-R-C = Left-Right-Chord
5. :roll: Maybe I can show you how a video file analyser works and how I collect stats of 13000 players.
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

Ps: Video file analyser can calculate the following statistics:

File name;File type;Clone version;ID tag;Time stamp;Level;Style;Mode;Time;3BV;3BV/s;Path;Click/s;ZiNi;H-ZiNi;RQP;IOE;completion;num0; num1; num2; num3; num4;num5;num6;num7;num8; numAll; disSpeed; openings; allClicks; disBv ;disNum; hzoe; zoe; numSpeed; hzinis; zinis; occam; lclicks; dclicks; rclicks; qg; flags; markFlag; holds; cloneR; islands; eventSize; mvsize; lcsize; lrsize rcsize; rrsize; mcsize; mrsize; wasteflags; firstLx; firstLy; misscl; outcl; missclL0; missclL1; missclD0; missclD1; missclD2; missclR; outclL; outclD; outclR; clickE; clickEs; corr; thrp; maxHit; clickEL; clickED; clickER;
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

Ok, 1. 2. and 3. are clear now and not much work :)

4. So all clicks are efficient, except:
- left clicks which open no square
- chord clicks which open no square
- right clicks which do not set or remove a flag
Is that right or are there further constraints (like a flag gives no opportunity for a chord)? Does removing a flag increase the inefficient click value by 2, because setting and removing a flag is unnecessary?

5. Does your video file analyser calculate these statistics? Then it's probably the best if I add support for MySweeper videos to the video file analyser or I write a converter from .mysvw to a video format the video file analyser can read.

Else there are much values to calculate and a full list with all values and their meaning would be nice ;)
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

Set or remove a flag are efficient clicks.

The video file analyser is based on *.rawvf
*.mvf *.mvr *.avf *.rmv can be converted to *.rawvf
This analyser can calculate all the list of statisitics from *.rawvf

I will call up the author of video file analyser here soon :D :D
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

So I think adding support for importing and exporting .rawvf to MySweeper is a nice feature, though this may take a while to implement. ;)
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

MySweeper 1.0.5 with efficient click counter, openings and islands, more tags in video file name generation and RawVF export.
(you can find the download in first post)

About the RawVF exporter:
Usage: In MySweeper, file->Export rawvf (works just if playing a video or if a game was finished) or from the command line with MySweeper.exe <input file> <output file>.

I am not really sure about the syntax. avf2rawvf and mvr2rawvf produced different output and that is also different to what it says here: http://www.minesweepergame.com/forum/viewt ... ?f=26&t=86
So the syntax might not be correct.

Second problem is, that I don't store mouse events in my videos, so I cannot say for sure, if a chord was done with middle mouse or with left + right. This may cause some problems, especially if different chord types are mixed in a single game. So I am not sure if I have done this correct.

Thrid problem, how can I import .rawvf files in Minesweeper Video Analyzer V1.0? I wanted to check my .rawvf files, but I was not able to do it.
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

MySweeper 1.0.6 released:
- with a bug fix in rawvf exporter
- now also updated Linux versions and source code
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

For your 1st problem I don't know what the problem is in detail.
For your 2nd problem. I think you may ban middle button in your clone otherwise you must store all neccesary buttom actions.
3rd. I have nothing to say about it :mrgreen:

:D I will try version 1.0.6 for another few days
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

Test report for 1.0.6
1 rawvf output seems works fine
2 video replaying mouse cursor too big
3 File name automation works fine
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

MySweeper 1.1.0 released:
changes:
- added import for RawVF videos
- support for languages (German now suppored), most error messages are not translated at the moment
- smaller video cursor ;)

How to make a translation to a new language:
1) Open the English translation file, there you will find the English strings, one string per line
2) translate every line to your language ("\n" will be replaced by a line break, keep this linebreaks!)
3) save the file with the filename "<language>.lang"
4) you can change to your language in Settings->Miscellaneous, select "Use language form file" and then browse your language file

Edit: Make sure the file is saved in UTF-8 encoding
Last edited by senfti on Wed May 20, 2015 11:09 am, edited 2 times in total.
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

Good job! I will try Chinese translation :mrgreen:

And perhaps it is time to discuss about its officialize

Let's make it official :D
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

sth is wrong with this lang file :?
Attachments
cn.zip
(1.51 KiB) Downloaded 336 times
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

It's a big mess with all these character encodings, but now I hope it works correct (with my non-existing chinese skills I cannot determine that ;) ).
Here the file:
cn.zip
(1.72 KiB) Downloaded 343 times
Thanks for the translation :)
gacord
Posts: 127
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Post by gacord »

Correct :D

Month number of Autosave file name is wrong
senfti
Posts: 21
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Post by senfti »

MySweeper_1.1.1 now with Chinese language file, correct month number and a bugfix eliminating problems when loading RawVF files in Linux version.
Post Reply