MySweeper - another new clone

Area to discuss development and bugs of official clones (Clone, Arbiter, MSX, Viennasweeper)

MySweeper - another new clone

Postby senfti » Fri Jun 06, 2014 7:47 am

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 177 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 199 times

Alternative download: https://www.dropbox.com/sh/d6n0e8rxqtau15u/AADY4nEaukonoZAP_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/d6n0e8rxqtau15u/AADY4nEaukonoZAP_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.
senfti
 
Posts: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby Cryslon » Thu Jun 12, 2014 8:37 pm

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 13194 times
Go IRC! (try mibbit)
Cryslon
 
Posts: 122
Joined: Sun Dec 28, 2008 7:41 pm

Re: MySweeper - another new clone

Postby senfti » Fri Jun 13, 2014 9:30 am

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 (viewtopic.php?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: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby senfti » Tue Apr 07, 2015 7:54 pm

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.
senfti
 
Posts: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby gacord » Thu Apr 16, 2015 2:52 pm

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

Re: MySweeper - another new clone

Postby gacord » Fri Apr 17, 2015 1:16 am

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.net 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.
gacord
 
Posts: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby senfti » Fri Apr 17, 2015 12:18 pm

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.
senfti
 
Posts: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby gacord » Mon Apr 20, 2015 2:34 am

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

Re: MySweeper - another new clone

Postby gacord » Tue Apr 21, 2015 2:45 am

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.
gacord
 
Posts: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby senfti » Tue Apr 21, 2015 8:01 pm

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.
senfti
 
Posts: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby gacord » Wed Apr 22, 2015 2:31 am

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: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby gacord » Wed Apr 22, 2015 2:42 am

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;
gacord
 
Posts: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby senfti » Wed Apr 22, 2015 8:17 am

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 ;)
senfti
 
Posts: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby gacord » Wed Apr 22, 2015 9:04 am

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
gacord
 
Posts: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby senfti » Wed Apr 22, 2015 9:46 am

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: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby senfti » Fri Apr 24, 2015 10:54 am

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.minesweeper.info/forum/viewtopic.php?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: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby senfti » Sat Apr 25, 2015 12:54 pm

MySweeper 1.0.6 released:
- with a bug fix in rawvf exporter
- now also updated Linux versions and source code
senfti
 
Posts: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby gacord » Mon Apr 27, 2015 8:45 am

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: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby gacord » Mon May 04, 2015 2:00 am

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
gacord
 
Posts: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby senfti » Wed May 20, 2015 10:43 am

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.
senfti
 
Posts: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby gacord » Wed May 20, 2015 10:48 am

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: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby gacord » Thu May 21, 2015 6:20 am

sth is wrong with this lang file :?
Attachments
cn.zip
(1.51 KiB) Downloaded 174 times
gacord
 
Posts: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby senfti » Thu May 21, 2015 10:31 am

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 173 times


Thanks for the translation :)
senfti
 
Posts: 19
Joined: Thu May 08, 2014 8:27 am

Re: MySweeper - another new clone

Postby gacord » Fri May 22, 2015 1:43 am

Correct :D

Month number of Autosave file name is wrong
gacord
 
Posts: 70
Joined: Thu May 17, 2012 5:14 am

Re: MySweeper - another new clone

Postby senfti » Sat May 23, 2015 9:54 pm

MySweeper_1.1.1 now with Chinese language file, correct month number and a bugfix eliminating problems when loading RawVF files in Linux version.
senfti
 
Posts: 19
Joined: Thu May 08, 2014 8:27 am

Next

Return to Official Clones

Who is online

Users browsing this forum: No registered users and 1 guest

cron