Git Product home page Git Product logo

musketeer-stockfish's Introduction

Introduction

I am Fabian Fichter, a software developer in bioinformatics, mainly experienced with Python and C++, with focus on algorithms, data analysis, and automation. I very much enjoy playing abstract strategy board games, especially chess and related games, and developing open source software for them.

My current main open source project is Fairy-Stockfish, a chess variant engine playing on top level at a large variety of chess-like games and being used on several chess and chess variant websites, such as lichess.org and pychess.org. Also see the Fairy-Stockfish github organization.

Projects

Fairy-Stockfish

Chess (variant) data analysis

Technologies

Python C++ C Java SQL JavaScript TypeScript

VS Code Pycharm IntelliJ Vim

Git Hg Linux AWS Postgres MongoDB

musketeer-stockfish's People

Contributors

ajithcj avatar ceebo avatar daylen avatar du-jdto avatar elbertoone avatar glinscott avatar hxim avatar ianfab avatar iivec avatar jcalovski avatar joergoster avatar jromang avatar jundery avatar loco-loco avatar locutus2 avatar lucasart avatar mbootsector avatar mcostalba avatar pb00068 avatar r-peleg avatar rocky640 avatar ryantaker avatar snicolet avatar stefano80 avatar syzygy1 avatar tomtor avatar uriblass avatar vondele avatar voyagerone avatar zamar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

musketeer-stockfish's Issues

@ianfab - would you mind contacting me?

Hi, sorry for leaving an issue here but I couldn't find an email address for you anywhere. I was wondering if you could send me an email at [email protected] - I'm working on this repo for Zied (pychess integration) and I have some questions, if you don't mind talking to me? Would be much appreciated!

how to play with this programs

hi
i'm interested in chess and variants. i like particularly this one as i met with the inventor and he shared with me many of his ideas and choices. find it incredible.
how can i use this porgram to play it?
also i see a server pychess to play chess and variants. why this variant doesn't exist there? how to make it exist there as i saw that stockfish is behind pychess website.
thank you
RAPHAEL

Missing xboard files

Tried compiling it in windows using mingw, but it looks like xboard files are missing.

move generation rank start

Hello ianfab, there is an issue that result from the disconsistent of rank start in different variant.

the rank of the move generation is starting from 1 in the supported variant grand chess in fairy-stockfish, while in Musketeer-stockfish the rank is starting from 0. This disconsistent behavior is a trouble for the implementation in the GUI to support both of the two variants mentioned at the same time.

Comment on move format

I have read the move format at https://github.com/ianfab/Musketeer-Stockfish/wiki/Interface.

What I did in WB (Winboard) is just follow the seirawan variant of gating a piece. If a player wants to gate a Hawk at b-file, he may press the Hawk,

and then move the knight from b1 say to c3, and I will send the move to WB like below.
b1c3h
WB will update the board by moving the knight to c3 and gates the Hawk to b1.

In musketeer, piece selection and gating is part of move history, but WB does not support this, so what I did is build an option for the user to select the piece and gating file, before the game would start.
Piece selection:

File Selection:

For uci you can create such options like,
option name Hawk type check default false
option name WHawkFile type combo default any var any var a-file var b-file ... var h-file
The value "any" would make musketeer play like seirawan i.e a player can gate a piece at any file.

Comment on FEN format

I just use the format similar to seirawan chess i.e the castle field also include the virgin files.
Example for Unicorn/Hawk combo on startpos.

rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR[HUhu] w KGFDCBQkgfdcbq - 0 1

In this example, white can gate a Hawk or Unicorn on files a, b, c, d, e, f, g, h. The K is for castle king-side, for gating at e-file and gating at h-file. When a h-rook is moved, it could no longer castle king-side and it could no longer gate at h-file. If the king at e1 is moved, it could no longer castle in king-side and queen-side, and could no longer gate at e-file. WB (winboard) understand this as game progresses, and able to identify which squares/files are still virgins. The Q is similar for d-file and a-file.

The user can pre-select which file a fairy piece would gate thru the option, see the issue on "Comment on move format"
When user selects the Hawk to gate at b-file, WB will inform the uci engine,
setoption name WHawkFile value b-file
The engine would then limit its move generation gating a piece at b-file.

Change default combination of the pieces for thematic tournament play

Hi
I'm trying to make some experiments to play thematic tournament using Stockfish as sole engine. The idea is the following Make a tournament using Chancellor and Archbishop (among other combinations) and let the engine play 400 games to see the difference between Musketeer Stockfish and Seirawan Stockfish in terms of draw and win %.

Unfortunately, it's not possible to setup a sample of positions that can be used by stockfish because the default combination is Leopard and Cannon. The engine keeps skipping the positions using other fairy pieces.

How it's possible to make Stockfish play using another combination of pieces.

Thanks

Support setup phase in CECP protocol

I liked the feature offered by Fairy Max playing Musketeer Chess where a
first window with the 10 pieces are showed first.

Fairy Max window that opens at the beginning of the game to chose the first fairy piece by white

And Following choice of the engine choice: Here i made of the choice of a
Unicorn and the engine have chosen an Amazon.

After that the engine choses the second fairy piece and the following window appears where whe have to place his Unicorn as first fairy piece

Here is the final position which is very fine and then the game can begin.

I chose unicorn in g0 and engine chose unicorn on b9

Then i chose Amazon on c9 and engine chose amazon on f9

Originally posted by @musketeerchess in #4 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.