Mystsveeper Collection

Mystsveeper ?? - ...

Uh oh?

...

...

...

...

...

...

...

Time:
0:00.000



Custom Setting By:


Custom settings cannot be uploaded until you verify that your settings are able to generate by starting a game.
Upload this custom setting in order to share it with others.
I agree to the Rules and Data Policy of uploading custom settings
Board Size:
X:
Y:
Adjust Mode:



Adjust Direction



Edit Board:
Relative Probability:


Tile:


Brush Size:





Mines:







Fixed Pattern
Topology:









Neighborhood:
Type:


Small Mines: ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ Large Mines:

Display Style:




Display Options:
Decrementing
Gray Mines
Animals:
Sheep
Rat
Dog
Horse

Allow Chording
Title:


Author:

Description:




Check Syntax:


Merry Christmas!
Welcome to the 24th day of the advent calender, like in 2018 you can now create your own settings. Although this time around you get to have a bit more freedom with the settings you create. So how do you get started making your own setting?

There are 3 menus for this day.
Play lets you try out the custom setting that you've made.
Edit gives you a bunch of options for how you can adjust the settings.
Json lets you edit the JSON Data for the setting you are making. This is a less user friendly way to edit the settings, but can in some situations be more powerful. When you want to make something that the regular editor doesn't have an explicit option for.

Once you are happy with your setting you can request a share link, this will upload the settings and give you a link directing to those settings, so other people can play them.
For more detailed instructions on how to use the editor as well as some tips how you can replicate mechanics from other days, not available as options you can check the Editor Guide.

Special Thanks to Zettex for letting me use/modify some of their fraction tiles from Mineday.

Welcome to Myst's Minesveeper Collection!
This is a collection of custom Minesveeper settings made by Mysthaps.
The collection is split into two halves, A and B.
A-settings are normal Minesveeper styled settings, while B-settings are puzzles, similar to Minesveeper 68.

The Heptaveegesimal Discord server: Discord Server

Settings


The controls for this game are adjusted when played on mobile. In the vast majority of situations this game should automatically detect if it is played on a mobile device. However, in case that this detection fails. This option will let you manually switch between normal and mobile mode.

Invert Mobile Detection





When you are in mobile mode an icon will appear fixed to the top left of your screen. This serves as an always visible indicator, if you are in flag or dig mode and will also let you switch between the top, without needing to scroll the button on the side. In case you do not want this icon and would rather just use the button like in older variants, this option will let you disable it.

Disable Mode Icon





Settings are persistently stored using local storage, this information is only stored on the client and is not sent to the server. If you want to delete this information use the button below:


...

Please be patient, this setting has not been made yet!

You have reached the end of the 2023 Minesveeper advent calendar.
Minesveeper will be returning in the future, but for now I want to focus on some other projects.
But this is not about what I will do, this is about what you can do now.

With the advent calendar now being over, I am hereby uploading the code for it so that if you want to make your own things based on it you can now do so. I have prepared to separate Downloads based on what files you want. First off is a smaller template you can use for coding your own setting and re-uploading it wherever you'd like. In addition if you want to check the files for this page with all of the days you can play here as well as many other files you can download the full package instead. This also comes with many off the textures as png files and various utility scripts I used while working on the advent calendar.


Reupload Template Full Advent Calendar

You may use these however you like for any non-commercial purpose as long as credit is given to this advent calendar.

Getting Started For most cases I would recommend using the Reupload Template. Here you can unzip the files and open index.html with a browser of your choice and that's it you are now playing this custom setting locally. To modify it you can edit js/mySettings.js if you are familiar with the JSON representation for custom settings you will be at a significant advantage, if not it may be helpful to check how this works with Minesveeper 61 as well as checking the Editor Guide. So what's new? Before you could use "copyFrom" instructions to use special features from some days. However, now you can freely code your own functions here. To see how they work you can check the individual implementations of the days in the full version with all files. Here is a quick overview of which functions can easily be set in the custom settings.

  • customFlagFunction overwrites the default right click
  • customDigFunction overwrites the default left click
  • postFlagFunction will be executed after a flag was placed or removed
  • postGenFunction will be executed after all mines were generated
  • preDigFunction will be executed before a tile is dug up, through clicking or chording. (Warning: This is also executed if chording does not open any new tiles.)
  • entityEvents allows you to implement an event listener for all events distributed to the entities on the board. The third parameter specifies the type of the event.
  • renderFunction overwrites the default draw function for individual tiles.

Of course since you have access to the code of the game you can modify whatever default behavior you'd like.

Adding Your Own Textures
Some ideas might require you to create your own textures or modify existing textures. All game textures are included as png files with the full download. In most cases where you just want to add a new texture you can just add an extra line of code to load it. However, if you want to modify existing textures, you should know that those aren't loaded from the png files.
Instead they are encoded as Base64 (with some extra replacements for common character sequences) in js/b64.js. I would recommend to not manually add textures to this file and instead generate this file with the provided scripts. Simply modify images/textureList to include your new textures and use the python script images/MakeB64.py to generate a new version of js/b64.js. Encoding images as Base64 in a script files avoids having to load a large amount of individual files. It also allows accessing image data within the code for local testing. Where loading images from local png files would prevent accessing image data in some browsers.

Have Fun!
I'm curious to see what mechanics people will come up with using this.