calcitem / Sanmill

Sanmill is an open-source, UCI-like Mill/Morris/Merrills/Mühle/Malom (and its variants) program with CUI, Flutter GUI and Qt GUI, sharing and freely distributing the code, tools and data needed to deliver this mill game. We do this because we are convinced that open software and open data are key ingredients to make rapid progress.
https://play.google.com/store/apps/details?id=com.calcitem.sanmill
GNU General Public License v3.0
146 stars 21 forks source link

Add alternative file format like 'sgf' #858

Open Joker2770 opened 3 months ago

Joker2770 commented 3 months ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] Once I noticed that Sanmill saving game to file with txt format, and maybe there is a better or alternative way like sgf('Smart Game Format').

Describe the solution you'd like A clear and concise description of what you want to happen. With sgf format, the 'GM[5]' property is good for mill game. Then I found a good library named libsgfcplusplus. I think it is a good parser and builder for sgf files.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. I think this feature will benefit for the promotion of Sanmill.

Additional context Add any other context or screenshots about the feature request here. reference

calcitem commented 3 months ago

Thanks for bringing up the SGF format and suggesting the libsgfcplusplus library for Sanmill. It's cool to see you're thinking about ways to enhance the game!

Right now, we’re still working on adding branching and commenting features to the PGN format we use. While SGF is definitely neat for structured game data, I'm not totally convinced it's a must-have for us just yet.

Could you share more about what specific benefits or features you think SGF would bring to Sanmill? I’m all ears for ideas that could make the game better for everyone.

Looking forward to your thoughts!

Joker2770 commented 3 months ago

As I know, SGF is in common use in most board games. It can avoid some errors at least when loading, editing or saving a game. Then, it can save much information about the game process, and the game lover could have a better discuss with each other. Long term perspective, there might be more and more related render tools appear when follow the format.

Just my little thoughts!

calcitem commented 3 months ago

Hi @Joker2770,

Thank you for your thoughts on using the SGF format for Sanmill. I appreciate your enthusiasm and the time you've taken to suggest an alternative.

However, I would like to clarify a few points:

  1. PGN Usage in Various Games: PGN is not only used in traditional chess but also in other games involving chess-like strategies. For example:

    • Xiangqi (Chinese Chess)
    • Shogi (Japanese Chess)
    • Makruk (Thai Chess)
    • Janggi (Korean Chess)

    Additionally, some abstract strategy games like Abalone or Othello, and even certain puzzle games or brain teasers, may use PGN notation for recording and analyzing gameplay.

  2. Popularity and Versatility: PGN's versatility and widespread adoption make it a popular choice for game developers and players alike. Given that chess and Xiangqi are two of the most popular games in the world, PGN remains a robust and familiar format for a wide audience.

These factors contribute to why Sanmill currently supports the PGN format. While SGF has its merits, PGN's existing use in a broad spectrum of games and its established presence make it a fitting choice for Sanmill at this time.

Looking forward to more of your insights and suggestions!

Joker2770 commented 3 months ago

Thank you for your clarification that let me know more about the PGN. By the way, is there any other software could load and edit the PGN format files. I will have a try later.

calcitem commented 3 months ago

Sanmill currently supports the basic PGN format, but features for branches and annotations are still under development. At the moment, it is not possible to edit PGN files directly in Sanmill. You may use a text editor to make basic edits to meet your needs for now.

calcitem commented 3 months ago

Hi @Joker2770,

Thank you for your understanding and interest in the PGN format. I'm glad to hear that the clarification was helpful to you.

I'm excited to inform you that the latest version of Sanmill is now available for download. You can get it from the following links:

Looking forward to any further suggestions or feedback you may have!

Joker2770 commented 3 months ago

Thanks a lot.